(CodeLib-Manager)
Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
|
Re: Strings Zerlegen zum 1000 mal^^
7. Mai 2005, 23:11
wieso so kompliziert?
Delphi-Quellcode:
procedure MachDasDingsda;
var
NamensListe: array of string;
GeldListe: array of integer;
function Index(von: string): integer; //Die ganze funktion nur um die namen zu organisieren, ging sicher noch einfacher
var
i: integer;
begin
result := -1;
for i := 0 to high(NamensListe) do
if von = NamensListe[i] then
result := i;
if result < 0 then begin
result := length(NamensListe);
setLength(NamensListe, result + 1);
NamensListe[result] := von;
setLength(GeldListe, result + 1);
GeldListe[result] := 0;
end;
end;
var zeile, who: string;
money, Factor, i, j, ind: integer;
begin
for j := 0 to Memo1.Lines.Count - 1 do begin //Für jede zeile
zeile := Memo1.Lines[j]; //alles rausparsen
delete(zeile, 1, pos(': ', Zeile) + 1);
who := copy(zeile, 1, pos(' ', Zeile) - 1);
delete(zeile, 1, pos(' ', Zeile));
case zeile[1] of
'n': Factor := -1; //nimmt sich
'l': Factor := 1; //legt hinein
'b': Factor := 0; //beseitigt
end;
for i := 0 to ord(Factor < 0) do
delete(Zeile, 1, pos(' ', Zeile));
TryStrToInt(copy(Zeile, 1, pos(' ', Zeile) - 1), money);
ind := Index(who);
GeldListe[ind] := GeldListe[ind] + money * Factor; //und ausrechnen
end;
end;
dürfte auch klappen
PS: nicht Memo1.Lines.Count sondern .Count - 1
//Edit: Name nsliste, nicht Namesliste... sch*** schreibfehler
@Deadinpac: Jetzt dürfts ohne Fehler klappen
Mike Passion is no replacement for reason
|
|
Zitat
|