Einzelnen Beitrag anzeigen

Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#19

Re: Strings Zerlegen zum 1000 mal^^

  Alt 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: Namensliste, nicht Namesliste... sch*** schreibfehler
@Deadinpac: Jetzt dürfts ohne Fehler klappen
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat