![]() |
Alles in einer *.txt NACH einem bestimmten Satz löschen
Hallöchen, ich muss nochmal nerven
Ich habe hier eine Textdatei (Rankinglist) auf meiner festplatte. ich möchte das mein programm sie durchsucht und wenn ein bestimmer Satz gefunden wird alles darunter(inklusive dieses satzen) löscht und wieder abspeichert. das sieht dann so aus:
Delphi-Quellcode:
Freelancer Rankings
Account Nr. Pos Name Rank Money Kills Time Online Missions Systems Bases Holes Last Login 23-9093da39/10-98dd163e 1 [Admin]-FireWall 75 $199,430,100 1 10:33:07 0 2 2 0 17:51:15 - 03 Oct 05 das ist der erste teil der datei so wie ich ihn haben will, diese zeilen möchte ich später als einzelne strings einlesen und ein ein stringgrid einfügen. leider ist in der datei auch folgendes drin:
Delphi-Quellcode:
- Last updated on Sat Oct 08 21:09:26 2005 - Generated by FLstat v1.4, in 94 secs -<HTML>
<HEAD> <TITLE>Freelancer Rankings</TITLE> </HEAD> <BODY> <H1>Freelancer Rankings</H1> <TABLE BORDER="0"> <TR> <TH ALIGN="CENTER">Account Nr.</TH> <TH ALIGN="CENTER">Pos</TH> <TH ALIGN="LEFT">Name</TH> <TH>Rank</TH> <TH>Money</TH> <TH>Kills</TH> <TH>Time Online</TH> <TH>Missions</TH> <TH>Systems</TH> <TH>Bases</TH> <TH>Holes</TH> <TH ALIGN="LEFT">Last Login</TH> </TR> <TR> <TD CLASS="Account Nr."> 23-9093da39/10-98dd163e</TD> <TD CLASS="pos">1</TD> <TD CLASS="name">[Admin]-FireWall</TD> <TD CLASS="rank">75</TD> <TD CLASS="money">$199,430,100</TD> <TD CLASS="kills">1</TD> <TD CLASS="time">10:33:07</TD> <TD CLASS="missions">0</TD> <TD CLASS="systems">2</TD> <TD CLASS="bases">2</TD> <TD CLASS="holes">0</TD> <TD CLASS="login">17:51:15 - 03 Oct 05</TD> </TR> Alles nach dem "Last updated on Sat Oct " etc etc soll gelöscht werden und wieder abgespeichert werden. Kann mir jemand nen tipp geben wie ich das hinbekomme? Ich sag mal Danke im Voraus Rhodan |
Re: Alles in einer *.txt NACH einem bestimmten Satz löschen
also ich würde es evtl. so machen(bei der XML datei):
ich suche mir mit pos die position von ersten > und von da an lese es bis ich auf ein < stoße und dann landet alles in einer TStringList und "Fertig". Was ich nur nicht verstehe ist:
Delphi-Quellcode:
warum ? das heißt die möchtes zu erst die xml datei öffnen alles in einer TStringList schreiben und die dann abspeichern ohne XML code oder ?
Alles nach dem "Last updated on Sat Oct " etc etc soll gelöscht werden und wieder abgespeichert werden.
|
Re: Alles in einer *.txt NACH einem bestimmten Satz löschen
Nimm dir eine Textfile-Variable und kopiere die Zeilen per Readln(Original,str) und writeln(Kopie,str) rüber. Zwischen Lesen und schreiben kontrollierst du immer, ob pos('- Last updated',str)>0. Wenn das der Fall ist, wurde dieser String in der Zeile gefunden und du brichst die Schleife per Break ab.
Danach löschst du das Original und speicherst die neue Datei unter dem Namen ab.
Delphi-Quellcode:
Newfile: Textfile;
// Original öffnen While not EOF(Original) do begin readln(Original,str); if pos('- Last updated',str)>0 then break; writeln(Newfile,str); end; // Original schließen und löschen // Neue Datei speichern. |
Re: Alles in einer *.txt NACH einem bestimmten Satz löschen
danke danke euch beiden, habs hinbekommen :-D
supi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 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-2025 by Thomas Breitkreuz