Am besten du guckst da mal rein:
www.christian-stelzm...rials_crashkurs.html
Variablen haben Typen wie String (Zeichenkette), Integer (Ganzzahl), Real (Kommazahl)
Mit IntToStr wandelst du um (also Integer nach String, z.B. 5 -> '5').
Mit StrToInt wandelst du um (also String nach Integer, z.B. '5' -> 5 ).
Was du jetzt machen willst ist
String -> Integer
'1sec' -> ???
Was soll 1sec für eine Zahl sein?
Das selbe, du machst IntToStr, aber gibst ihm eine Kommazahl und keinen Integer. Dafür musst du FloatToStr nutzen (da Float = FloatingPoint).
IntToStr(4.5) geht nicht
FloatToStr(4.5) = '4,5'
Sei froh dass das so ist, in C++ ist das nämlich nicht so. Der konvertiert da alles durcheinander. '1sec' als integer wäre da dann irgend eine Speicheradresse, wo '1sec' grad drinsteht. Und er führt Rundungen durch, ohne etwas zu sagen. In Delphi geht das so:
IntToStr(Round(4.2)) = '4'
Und Caption ist eben vom Typ Zeichenkette, deine Zeit vom Typ Ganzzahl, und Zeit/1000 vom Typ Gleitkomma.
Edit:
Klammern nicht vergessen, sonst kommt Quatsch raus:
Blubba hat folgendes geschrieben : |
Delphi-Quelltext 1:
| lZeit.Caption := IntToStr( ( GetTickCount - startTime ) / 1000 )+'ms'; | |