Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Werte auf Document filtern
skall - So 25.01.09 22:50
Titel: Werte auf Document filtern
nabend
kurze Frage ist es irgendwie möglich Daten aus einem Dokument raus zufiltern, die bestimmte werte beitzen? bzw Zeilen wo ein bestimmter Wert vor kommt...
Oder anders:
ich habe jetzt Zeilen mit den Werten:
A B C D
und ich möchte alle Zeilen haben wo an der dritten Stelle C = C ist...
jaenicke - So 25.01.09 22:56
Entweder nimmst du eine TStringList
oder du nimmst AssignFile, Reset, ReadLn, CloseFile.
Dann hast du jeweils den String mit einer Zeile, z.B. mit der StringList:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var xy: TStringList; begin xy := TStringList.Create; xy.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'Datei.txt'); for i := 0 to xy.Count - 1 do if xy[i][3] = 'C' then ShowMessage('Zeile ' + IntToStr(i) + ': ' + xy[i]); xy.Free; |
Bei größeren Dateien wäre die andere Methode besser, da die Datei nicht komplett in den Speicher geladen wird.
skall - So 25.01.09 23:12
naja die Datei ist ein wenig länger...
über 600 Zeilen...
Und ich such da halt immer so 60 Zeilen zusammen raus...
Lade die eigentlich auch mit AssignFile ReadLn...
Aber wie filter ich denn dann da?
jaenicke - Mo 26.01.09 02:36
skall hat folgendes geschrieben : |
Lade die eigentlich auch mit AssignFile ReadLn...
Aber wie filter ich denn dann da? |
Ich verstehe nicht, wo genau dabei das Problem ist? :gruebel:
Zum Beispiel so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var CurrentLine: String; Results: TStringList; begin Results := TStringList.Create;
... ReadLn(MyFile, CurrentLine); if CurrentLine[3] = 'C' then ErgebnisListe.Add(CurrentLine); ...
ShowMessage(Results.Text); Results.Free; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!