![]() |
Re: ausgeben bestimmter informationen aus txt datei
also du musst bestimte teile suchen lassen bis zu ienem bestimmten zeichen, am besten ein sonmderzeichen! durch die funktion pos(was,wo); und dann eben copy(wo, von wo, bis wo) musste eben nen biscle stückeln, ich für mich würde es anderes herauslesen, wie ich es dir beschrieben habe!
|
Re: ausgeben bestimmter informationen aus txt datei
Man könnte es auch so machen:
Delphi-Quellcode:
Zu beachten ist dabei jedoch was die OH sagt:
procedure TForm1.Button1Click(Sender: TObject);
var List: TStringList; Zeile: Integer; begin List := TStringList.Create; List.LoadFromFile('D:\zug.txt'); Zeile := List.IndexOf('|| Status: Mission 1 ||'); if Zeile > -1 then Memo1.Lines.Add(List[Zeile]); end; Zitat:
|
Re: ausgeben bestimmter informationen aus txt datei
Okay, ich bin langsam ein wenig in Delphi drin. Folgendermaßen sieht das grad bei mir aus (erstmal nur für den ersten gesuchten Wert)
Delphi-Quellcode:
Statt das Delphi mir "Mission 1" anzeigt, wie gewollt kommen lediglich die ersten 9 Zeichen aus der ersten Zeile in das Memofeld (-[o]- ---). Bekommte das trotz unzähliger Versuche nicht weg.
procedure TForm1.Button1Click(Sender: TObject);
var datei: textfile; puffer: string; anfang: integer; ende: integer; begin assignfile(datei,'D:/zug.txt'); reset(datei); readln(datei, puffer); anfang:= pos('Status:', Puffer); ende := pos('||', Puffer) + 8; Memo1.Lines.Add(copy(Puffer, anfang, ende - anfang + 1)); delete(Puffer, 1, ende); closefile(datei); end; Gruß |
Re: ausgeben bestimmter informationen aus txt datei
Da die Zeichen "||" mehrmals vorkommen und du mit pos immer nur das erste Vorkommen findest würde ich es eher so machen:
Delphi-Quellcode:
"Status: Mission 1" könntest du dann z.B. auch durch eine Variable ersetzen...
anfang:= pos('Status: Mission 1', Puffer);
ende := anfang + Length('Status: Mission 1'); |
Re: ausgeben bestimmter informationen aus txt datei
Mission 1 ist nicht unbedingt gegeben. Könnte auch Mission 2 sein, das wird ja eigentlich gesucht zwischen "Status:" und dem hinteren "||"
|
Re: ausgeben bestimmter informationen aus txt datei
Also wie ich das verstehe, willst du Sachen aus einer TXT auslesen.
Dann fragst du ab, ob der String auch so aussieht wie er aussehen soll. Aber wozu dann die Textdateien? Wenn der eh nich variabel sein kann der Text, dann benutz doch erst gar keine TextDateien. Wenn ich was falsch verstanden habe, dann benutz einfach INI Dateien :mrgreen: |
Re: ausgeben bestimmter informationen aus txt datei
Na der soll doch grade Variabel sein...Nur bestimmte Dinge kommen immerwieder vor.
Beispiel: || Status: Mission 1 || || Mission: Neuanfang || Hinter "Mission:" könnte auch irgendwas anderes stehen, als "Neuanfang". Es sind jedesmal andere auszulesende Textdateien, weshalb es ja das *.txt Format sein soll (bzw ist). Gruß |
Re: ausgeben bestimmter informationen aus txt datei
Guck dir mal Ini-Files an.
Damit geht das einfacher. Ansonsten nimm Records. |
Re: ausgeben bestimmter informationen aus txt datei
Stimmt. INI Dateien sind (behaupte ich einfach) die einfachste Art Daten in einer Textdatei zu speichern und wieder daraus zu lesen. Warum sich also mit dem Extrahieren einzelner Strings verkünsteln?
Florian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz