Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Frage zu Copy


Blamaster - Di 03.02.09 19:50
Titel: Frage zu Copy
Hi,

ich möchte gerade aus einem Zeit String wie Z.B. diesem hier:

02:10:234 die einzelnen Werte extrahieren um sie dann wieder in Ms umzurechnen.

Mein Ansatz sieht bis jetzt so aus:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
function TForm1.FormatMS2Ms(Format:string): integer;
var
min,sec,ms: integer;
begin
min := StrToInt(Copy(Format, 12));
sec := StrToInt(Copy(Format, 45));
ms := StrToInt(Copy(Format, 79));

min := min * 60000;
sec := sec * 1000;

result:= min + sec + ms;
end;


Probleme gibts aber an der Stelle sec := StrToInt(Copy(Format, 4, 5)); hier gibt er den Fehler aus 10:23 ist kein gültiger Integerwert, logisch ist es ja auch nicht. Aber sollte sec nicht eigentlich bei einem Copy von 4,5 nur die 10 annehmen ?

mfg Blamaster


ub60 - Di 03.02.09 19:57

Der 3. Parameter von Copy gibt die Anzahl an, die kopiert werden soll, nicht, bis wohin man kopiert.
Du musst also statt der 5 eine 2 setzen.

ub60


Blamaster - Di 03.02.09 19:59

Aua Danke :)