AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Alles in einer *.txt NACH einem bestimmten Satz löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Alles in einer *.txt NACH einem bestimmten Satz löschen

Ein Thema von rhodan · begonnen am 9. Okt 2005 · letzter Beitrag vom 9. Okt 2005
Antwort Antwort
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#1

Alles in einer *.txt NACH einem bestimmten Satz löschen

  Alt 9. Okt 2005, 06:30
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
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Alles in einer *.txt NACH einem bestimmten Satz löschen

  Alt 9. Okt 2005, 08:26
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:
Alles nach dem "Last updated on Sat Oct " etc etc soll gelöscht werden und wieder abgespeichert werden. 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 ?
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Alles in einer *.txt NACH einem bestimmten Satz löschen

  Alt 9. Okt 2005, 10:42
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.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#4

Re: Alles in einer *.txt NACH einem bestimmten Satz löschen

  Alt 9. Okt 2005, 19:16
danke danke euch beiden, habs hinbekommen

supi
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz