// Es wird die Zeit in Sekunden zwischen zwei Timeraufrufen
// (Timerstart-Zeit und Timerstop-Zeit) gemessen:
void __fastcall TMain::Button1Click(TObject *Sender)
{
LARGE_INTEGER Frequency, TimerStart, TimerStop;
__int64 Latency;
double Usedtime;
int Digits = 12; // 12 Nachkommastellen
// erst die Latzenzzeit des Counters berechnen:
QueryPerformanceFrequency(&Frequency);
QueryPerformanceCounter(&TimerStart);
QueryPerformanceCounter(&TimerStop);
Latency = TimerStop.QuadPart - TimerStart.QuadPart;
QueryPerformanceCounter(&TimerStart);
irgendwas(); // Code für den die Zeit gemessen werden soll
QueryPerformanceCounter(&TimerStop);
Usedtime = (((double)TimerStop.QuadPart - (double)TimerStart.QuadPart) - (double)Latency) / (double)Frequency.QuadPart;
Label1->Caption = FloatToStrF(Usedtime, ffFixed, 16, Digits) + " s";
}