Создать мультимедийный таймерDelphi , Компоненты и Классы , TTimerСоздать мультимедийный таймер
Оформил: DeeCo { The timeSetEvent function starts a specified timer event. The multimedia timer runs in its own thread. After the event is activated, it calls the specified callback function or sets or pulses the spe cified event object. MMRESULT timeSetEvent( UINT uDelay, UINT uResolution, LPTIMECALLBACK lpTimeProc, DWORD_PTR dwUser, UINT fuEvent ); uDelay: Event delay, in milliseconds uResolution: Resolution of the timer event, in milliseconds. A resolution of 0 indicates periodic events should occur with the greatest possible accuracy. You should use the use the maximum value appropriate to reduce system overhead. fuEvent: TIME_ONESHOT Event occurs once, after uDelay milliseconds. TIME_PERIODIC Event occurs every uDelay milliseconds. } uses MMSystem; var mmResult: Integer; // callback function procedure TimeCallBack(TimerID, Msg: Uint; dwUser, dw1, dw2: DWORD); pascal; begin // Do something here. This procedure will be executed each 10 ms Form1.Label1.Caption := Form1.Label1.Caption + '%'; end; // Set a new timer with a delay of 10 ms procedure TForm1.Button1Click(Sender: TObject); begin mmResult := TimeSetEvent(10, 0, @TimeCallBack, 0, TIME_PERIODIC); end; // Cancel the timer event. procedure TForm1.FormDestroy(Sender: TObject); begin TimeKillEvent(mmResult); end; Приведенная кодовая база написана на языке Delphi и использует модуль MMSystem для создания таймера мультимедиа. Таймер работает в своем собственном потоке, что позволяет ему вызывать функцию обратного вызова по указанным интервалам. Функции:
Функция Обратного Вызова: Функция обратного вызова, Основной код: В основном коде есть два процедура:
1. Замечания:
Создание мультимедийного таймера в Delphi, который запускает функцию обратного вызова каждые 10 миллисекунд и может быть остановлен с помощью функции TimeKillEvent. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |