![]() |
suchen,ersetzen und löschen in textdateien
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:
jetzt kommt mein eigentliches Problem:
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; Die Datei hat folgenden Inhalt, den ich gerne ändern möchte:
Delphi-Quellcode:
--> Das Datum und die Uhrzeit sollen immer gelöscht werden
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 --> 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:
Die Datei sieht von der Formatierung immer gleich aus. Sie wird auch immer den gleichen Namen besitzen.
begin
sl:=TStringList.Create; try sl.LoadFromFile('ftp'); for zeilennr:=0 to sl.Count-1 do begin if sl[zeilennr]='000000' then ReplaceText('MB'); end; finally sl.free; end; 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 :shock: , 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.... |
Re: suchen,ersetzen und löschen in textdateien
wichtige Befehle für dein Problem (gab's aber echt schon häufiger):
delete,pos,stringreplace
Delphi-Quellcode:
Damit müsstest du's in der Griff bekommen. Bei weiteren Fragen: F1 :zwinker:
str:='123456'
delete(str,1,3); // str='456' ab dem 1. Zeichen wurden 3 entfernt str:='555000'; str2:=stringreplace(str,'000','kb',[]); // str2='555kb' // (!) erst nach '000000' suchen und dann nach '000' str:='000Hallo000'; x:=pos('Hallo',str); // x=4 das erste Zeichen von 'Hallo' steht an 4. Stelle x:=pos('GutenTag',str); // x=0 SubString wude nicht gefunden |
Re: suchen,ersetzen und löschen in textdateien
Ehrlich gesagt, bin ich damit schon überfordert, was nicht bedeuten soll, das ich doof bin :roll:
Mein Problem nochmals genauer dargestellt: Ich benutze zur Zeit 10 Checkboxen, die mit einem Editfeld Namen und Zahlen in einer Vorlage schreiben sollen Ich öffne eine Txt-Datei, sie wird ins Memofeld gelesen und mit den Checkboxen sollen die "gecheckten" Variablen geändert werden. Nun soll also nach den Variablen gesucht, und ersetzt werden. Folgendes Problem: --> wenn die "gecheckten" Variablen nicht im Memofeld, bzw. nicht in der Txt-Datei existieren, schreibt er mir den Inhalt vom jeweiligen Edit-Fenster an Position 1 Zeile 1 ins Memofeld. Das möchte ich mittels Zeilen und Spaltenzuweisung ändern. Ebenfalls belässt er die Variablen so wie sie sind, wenn sie nicht "gecheckt" sind. Ich wollte es aber gern so lösen, das dann die komplette Zeile, in der die Variable steht, gelöscht wird. Ich mache das Suchen und Ersetzen momentan so:
Delphi-Quellcode:
Ich komme halt mit diesem Sch*** Befehl Pos nicht klar.
begin
lsl := TStringList.Create; try lsl.LoadFromFile('Content.txt'); begin lPos := Pos('XIPX', lSL.Text); lTemp := lSL.Text; Delete(lTemp, lPos, Length('XIPX')); Insert(ip_edit.Text, lTemp, lPos); lSL.Text := lTemp; lSL.SaveToFile('test.txt'); end; In der Hilfestellung selbst, gibt es für meine Person nicht genügend Infomaterial. :wiejetzt: Und alle Bücher, die ich hab, steht auch nur ne kurze Info zu diesem Befehl.... menno ... :pale: könnte sich denn nochmals jemand um mich, bzw,. um mein Problem kümmern ??? --> Danke |
Re: suchen,ersetzen und löschen in textdateien
was ist denn genau dein Problem? :gruebel:
Zitat:
Delphi-Quellcode:
machen.
memo1.lines[3]:='Hallo';
Zitat:
Was ist denn dein Problem mit pos? :gruebel: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:17 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