Высокоточный таймер 2Delphi , Компоненты и Классы , TTimerВысокоточный таймер 2
Оформил: DeeCo { You want to measure the elapsed time in a repeat, while or a for -Loop to do some optimation ? Sie mochten eine Routine mit einer repeat, while oder for i :=...hinsichtlich der durchlaufenen Zeit messen, um z.B.Optimierungsaktivitaten durchzufuhren. } // Global Variables, Globale Variablen: t1, t2, Res: TLargeInteger; bOk: BOOL; implementation uses Windows, dialogs; procedure StartTimer; begin bOK := QueryPerformanceFrequency(Res); if bOK then QueryPerformanceCounter(t1); end; procedure StopTimer; begin if bOK then QueryPerformanceCounter(t2); end; procedure LoopRoutine; var iCounter: integer; begin StartTimer; // Put here some kind of loop: For, While or Repeat for i := 0 to iCounter do... { WHILE.... repeat...until} { After the Loop/ Nach Abschluss der Schleifenroutine:} if bOK then QueryPerformanceCounter(t2); end; procedure StartSchleife; begin LoopRoutine; if bOK then {$IFDEF VER80} // Show the elapsed time: MessageDlg('Der Schleifendurchlauf dauerte: ' + Format('%g Sekunden.', [(t2.QuadPart - t1.Quadpart) / Res.QuadPart])); $Else {$IFDEF VER120} MessageDlg('Der Schleifendurchlauf dauerte: ' + Format('%g Sekunden.', [(t2 - t1) / Res])); {$ENDIF} end; Статья Высокоточный таймер 2 раздела Компоненты и Классы TTimer может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |