Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - komplexes parsen eines Strings


lkz633 - Mi 03.09.03 16:57
Titel: komplexes parsen eines Strings
Hi,

habe den ganzen Tag versucht, dies hinzubekommen, ohne erfolg

ich habe Strings im folgenden Format:

'-r-------- 1 root root 9323 Aug 30 2002 INSTALL'

Jetzt versuche ich an die Rechte, Groese, Filename usw einzeln heranzukommen.

Habe es auch z.B mit einer Schleife versucht, die rueckwaerts ueberprueft, wann ein Lerzeichen kommt, wenn der Dateiname aber ein leerzeichen hatte, gings schief.

Herzlichen Dank fuer eure Hilfe
lkz633


Klabautermann - Mi 03.09.03 17:13

Hallo,

warum fängst du dann nciht vorne an?
Da hast du immer eine feste Anzahl von Freizeichen und alles was nach dem 8ten kommt ist Dateiname.

Gruß
Klabautermann


lkz633 - Mi 03.09.03 18:20

Jetzt sehe ich sogar, dass die Anzahl der leerzeichnen nicht immer gleich ist. So ein sche*** :evil:


blackbirdXXX - Do 04.09.03 09:41

Kannst du ein paar solche Strings posten damit man sieht wie sie aufgebaut sind?


barfuesser - Do 04.09.03 09:43


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
LogLine := '-r-------- 1 root root 9323 Aug 30 2002 INSTALL';
Contents := TStringList.Create;
Contents.Delimiter := ' ';
Contents.DelimitedText := LogLine;
while Contents.IndexOf('') >= 0 do Contents.Delete(Contents.IndexOf(''));
Rights := Contents[0];
User := Contents[2];
Group := Contents[3];
Size := StrToInt(Contents[4]);
...

barfuesser


Tino - Do 04.09.03 10:18

Du kannst auch die Funktion Explode [http://www.delphi-forum.de/viewtopic.php?t=13017] benutzen.

Gruß
Tino


lkz633 - Do 04.09.03 12:52

Hallo,

habe das Problem geloest, herzlichen Dank fuer eure Hilfe

Gruss lkz633