Autor Beitrag
Blamaster
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164



BeitragVerfasst: Di 03.02.09 19:50 
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:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 765
Erhaltene Danke: 130



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164



BeitragVerfasst: Di 03.02.09 19:59 
Aua Danke :)