Zeitmessungen?

aloha alle!

gibt es eine möglichkeit in pascal die zeit zwischen zwei eingaben, oder die zeit, die benötigt wird, eine schleife durchlaufen zu lassen zu messen?

ich habe von „gettime“ gehört, aber das funktioniert nicht!
ich lege die variablen fest (z.b.: „h,min,s,ms:word;“) und schreibe dann an der benötigten stelle im programm „gettime(h,min,s,ms);“. ist das falsch oder habe ich was vergessen?
nebenbei, könnte es auch daran liegen, dass ich virtual pascal nutze? oder gibt es die möglichkeit der zeitmessung nur in turbo pascal? (ich habe es gestern mit freepascal versucht, ging aber auch nicht… :frowning: .)

hoffe jemand kann mir helfen! danke shconmal im vorraus!

cYA tom

Hallo,

mit der Funktion GetTickCounts bekommst du in Delphi die Millisekunden, die seit Mitternacht vergangen sind. Du kannst dir also die Werte zwischen zwei Eingaben merken und voneinander subtrahieren. Allerdings ist die Messung nur scheinbar auf tausendstel Sekunden genau. Tatsächlich wird dieser Timer AFAIK nur alle 1/18 Sekunde aktualisiert.

Ob es diese Funktion auch in anderen Pascal-Varianten gibt, weiß ich nicht.

Gruß, Niels

hallo!

Ob es diese Funktion auch in anderen Pascal-Varianten gibt,
weiß ich nicht.

nö, scheint nicht zu funktionieren… schade… trotzdem danke! :smile:

Gruß, Niels

cYA tom

Hi Tom,

ich benutze FreePascal zwar nicht, aber da gibt es die Unit SysUtils und darin die Funktion Time. Die liefert die aktuelle Zeit als TDateTime.
Damit müsste es erstmal gehen.

(gefunden hier: http://www.freepascal.org/docs.html unter „Standard units reference manual“ ).

Gruß
Christian

hallo!

ich benutze FreePascal zwar nicht, aber da gibt es die Unit
SysUtils und darin die Funktion Time. Die liefert die aktuelle
Zeit als TDateTime.
Damit müsste es erstmal gehen.

scheint auch nicht zu funktionieren… oder ich mach da dauernd was falsch… :frowning:

(gefunden hier: http://www.freepascal.org/docs.html unter
„Standard units reference manual“ ).

danke trotzdem…

Gruß
Christian

cYA tom

Hallo!

scheint auch nicht zu funktionieren…

was heißt das? Kommt gar kein Ergebnis oder ist nur die
Differenz = 0 ?

oder ich mach da dauernd was falsch… :frowning:

Auf alle Fälle, wirst Du nicht die Zeit von einem Durchlauf
einer Operation messen können.

Du müßtest schon paar taudsend/zehntausend Dürchläufe in
einer Schleife machen.
Gruß Uwi