Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3
  Alt 31. Okt 2002, 17:07
Code:
[b]type[/b] TZeile = [b]array[/b] [b]of[/b] [b]string[/b];

[color=#000080][i]{ Zeile parsen }[/i][/color]
[b]function[/b] Parse(zeile: [b]string[/b];zeilennummer:longint ):TZeile;
[b]var[/b] i    :longint;
    anzahl:longint;
    pos  :[b]array[/b] [b]of[/b] integer;
[b]begin[/b]
  anzahl:=0;
  SetLength(pos,0);
  SetLength(result, 0);
  [b]for[/b] i := 1 [b]to[/b] Length(zeile) [b]do[/b]
    [b]if[/b] zeile[ i ] = ';' [b]then[/b] // <-- ACHTUNG KORRIGIERT!!!
    [b]begin[/b]
      inc(anzahl);
      SetLength(pos, anzahl);
      pos[anzahl-1]:=i;
      SetLength(result, anzahl);
    [b]end[/b];
  [b]for[/b] i:=0 [b]to[/b] high(result) [b]do[/b]
    [b]begin[/b]
      [b]if[/b] i=0 [b]then[/b]
        result[i ]:=copy(zeile,1,pos[0]-1)
      [b]else[/b]
        result[i ]:=copy(zeile,pos[i-1]+1,pos[i ]-1-pos[i-1]); // <-- ACHTUNG KORRIGIERT!!!
    [b]end[/b];
  [color=#000080][i ]//if Length(result)=0 then Messagebox(0, '', 'Fehler', 0);[/i][/color]
[b]end[/b];
Und auf ruf mit:
Code:
[b]var[/b]
  Zeile : TZeile;
[b]begin[/b]
  Zeile := Parse(s, 0);
Auf die einzelnen Elemente kannst du dann mit den Index zugreifen. Das erste Element bekommst du dann mit Zeile[0].
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat