среда разработки: RADstudio c++builder (разработка под android)
я вычитал что нужно сделать обработчик onClick и в нем уже проверять сколько времени была нажата button, это правильно? если нет то как нужно?
Если через события onkeydown и onkeyup, то как это сделать, не могу в голове представить
Назначаете обработчик на оба упомянутых вами события. При onkeydown запускаете таймер, у которого таймаут предварительно настроен на нужное время ожидания. Если событие таймаута произошло раньше, чем onkeyup, то выполняете нужные вам действия. Если произошло событие onkeyup, то отключаете таймер.
При нажатии получить текущее время и сохранить его в переменную. При отпускании снова получить текущее время и вычесть из него сохранённое ранее время нажатия. Полученная разница и будет равна продолжительности нажатия. Для удобства можно задействовать функции SecondsBetween, MillisecondsBetween (в зависимости от требуемой точности) из DateUtils:
#include <DateUtils.hpp>
TDateTime pressTime;
void __fastcall TForm1::ButtonMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, float X, float Y)
{
pressTime = Now();
}
void __fastcall TForm1::ButtonMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, float X, float Y)
{
__int64 duration = MillisecondsBetween(Now(), pressTime);
ShowMessage("Кнопка была нажата " + IntToStr(duration) + " миллисекунд");
}
Итак, у меня есть 1 тестовое приложение и 1 библиотека, которая подключается к приложениюПроблема заключается в том, что, функции неопределенны,...
Какие отличия функций c++ от функций в c?
Помогите пожалуйста, прогорает экзаменсделать прогу на C++
Путем проб и ошибок я пришел тому что cin как то не закрывает поток или что еще и сразу заполняет "\n" следующее поле динамического массиваПодскажите...