Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Высокоточный таймер 2

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  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;
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay