Einzelnen Beitrag anzeigen

Master-Joko
(Gast)

n/a Beiträge
 
#1

suchen,ersetzen und löschen in textdateien

  Alt 19. Jun 2004, 11:52
Hi ho mal wieder...

Ich hab momentan ein großes Problem mit meiner Textdatei.

Ich hatte das Forum hier schon zig mal durchstöbert, aber nichts gefunden, was auf mein Problem zutreffend ist.

Ich connecte mich auf einen FTP, und lade mir den Inhalt per List in ein Memo-Feld:

Delphi-Quellcode:
begin
  idftp:=TIdftp.Create(Self);
  idftp.Username:= username_edit.Text;
  idftp.Password:= passwort_edit.Text;
  idftp.Port:=StrToInt(port_edit.Text);
  idftp.Host:= ip_edit.Text;

    try
      Idftp.Connect();
      Idftp.ChangeDir (pfad_edit.Text);


begin

  FTP_Inhalt:=TStringList.Create;

  with Form1 do
  begin

    Memo3.Clear;
    Idftp.Size('*.*');
    IdFTP.List(FTP_Inhalt);
    Memo3.Lines.AddStrings(FTP_Inhalt);
    Memo3.SelectAll;
    Memo3.Lines.SaveToFile('ftp');
    Memo3.Clear;
    IdFTP1.DisconnectSocket;
    Idftp1.Disconnect;
  end;
jetzt kommt mein eigentliches Problem:

Die Datei hat folgenden Inhalt, den ich gerne ändern möchte:

Delphi-Quellcode:
06-17-04 10:53AM 15000000 Test.part01.rar
06-17-04 11:06AM 15000000 Test.part02.rar
06-17-04 11:08AM 766 Icon.ico
06-12-04 06:48AM <DIR> X 40297
06-06-04 03:23AM <DIR> Y 58808
06-12-04 05:12AM <DIR> Z 6106
--> Das Datum und die Uhrzeit sollen immer gelöscht werden
--> Die Zeilen bis <DIR> sollen auch immer gelöscht werden
--> wenn 3 Nullen sind, ersetzen mit KB
--> wenn 6 Nullen sind, ersetzen mit MB

--> ebenfalls bekomme ich es nicht hin, das mir die Größe der SUBDirs (wie X Y Z) in MB angezeigt wird.

Ich hatte es dann mal so probiert, was aber gar nicht klappt:
Delphi-Quellcode:
begin
sl:=TStringList.Create;
try
sl.LoadFromFile('ftp');
for zeilennr:=0 to sl.Count-1 do
begin
  if sl[zeilennr]='000000then
   ReplaceText('MB');
end;
finally
  sl.free;
end;
Die Datei sieht von der Formatierung immer gleich aus. Sie wird auch immer den gleichen Namen besitzen.

Da die Datei nur zum zwischenspeichern und bearbeiten gedacht ist, wird sie bei Programmende auch wieder gelöscht.

Ich wäre euch allen sehr dankbar, wenn man mir hier weiterhelfen könnte.

Ich hatte es vergeblich mit Pos versucht, aber bekam keine Ergebnisse , da ich nicht genau weiß, mit diesem Befehl umzu gehen.

Ebenfalls gibts auch keine genauen Beschreibungen dazu.

Bitte bitte helft mir - ich "klebe" nun schon seit 2Wochen an diesem Problem, hab mir sogar extra das Delphi-buch "Programmieren lernen in Borland Delphi 7" von Walter Doberenz zugelegt.
Aber da stehen wirklich nur kurze Grundlagen drinne....
  Mit Zitat antworten Zitat