![]() |
in textdateien schreiben
nabend allesamt,
ich woltle mal fragen ob jemand weiß, wie ich es hinbekomme, eine zeile text zu einer bereits bestehenden textdatei hinzuzufügen ohne sie neu zu schreiben oder andere zeilen zu überschreiben?? die datei soll die gleiche bleiben. also 'ne textzeile in eine datei einfügen...ungefähr genauso brauch ich dann sowas wie zeilen (string orientiert) auszulesen oder eine zeile suchen in einer textdatei?? wäre nett, wenn da jmd was zu weiß, weil ich da nichts gefunden habe. MfG LoRd |
Re: in textdateien schreiben
Hi!
Du wirst wohl nicht umhinkommen, die Datei zu laden und wieder zu speichern, damit Delphi weiß, wo die Datei zu Ende ist. Sollte ich irren, einfach in der Luft zerreißen und dann verbessern :twisted: Ciao fkerber |
Re: in textdateien schreiben
*zerreiß fkerber in der Luft* ;)
Aus der OH zu Append: Zitat:
|
Re: in textdateien schreiben
Zitat:
|
Re: in textdateien schreiben
:duck: :oops: :duck:
Man lernt nie aus. Danke für die Berichtigung. Muss ich mal in einigen Programmen ändern. Die Funktion war mir fremd. Ciao fkerber |
Re: in textdateien schreiben
doch man kann an eine textdatei ohne sie zu laden anhängen:
Delphi-Quellcode:
:cheers:
var datei:textfile;
procedure anfuegen_an_ne_textdatei; begin try assignfile(datei, 'egal.txt'); { bestehende text-datei } append(datei); writeln(datei, 'String, der angehängt werden soll...'); flush(datei); { ensures that the text was actually written to file } finally closeFile(datei); end; |
Re: in textdateien schreiben
lol danke für die antworten werde es testen, aber die erste antwort von fkerber war sehr interessant. ich mein ich aheb schon eine datei und speicher da auch sachen drin und laden kann ich auch wollte nur den einen befehl wissen und writeln() ist schon nais THX für den befehl und die procedure!
:cheers: |
Re: in textdateien schreiben
Man könnte auch eine Datei einfach über einen Stream öffnen. Dann
Stream.position := Stream.size; Stream.write(Buffer, length(buffer)); |
Re: in textdateien schreiben
mm danke - allerdings hab ich mit stream absolut nichts am hut, weiß nicht was das ist etc. da du sagtest "man könnte auch" werde ich die andre sache vorher probieren ;o) danke schöün
|
Re: in textdateien schreiben
ein seltsames problem habe ich da hoffe jmd weiß auch da was:
es gilt Filename=edit2.text+' '+edit1.text nur so zur information... es macht alles was es soll, aber es soll die sachen in eine neue file speichern, deswegen habe ich die file zuerst gelöscht, dann soll er alles in eine datei speichern die halt genauso heißt. das problem ist: er löscht zwar die datei, aber danach schreibt er alles in die datei hinzu anstatt eine neue zu machen. er löscht sie also nicht wirklich scheinbar....aber hier der code.
Code:
procedure TForm1.Button7Click(Sender: TObject);
var Path, Filename : string; begin Path := ExtractFilepath(ParamStr(0)); Filename := Path + Listbox1.Items[Listbox1.ItemIndex] + '.adr'; Memo1.Lines.LoadFromFile(Filename); Memo1.Lines.Add(Edit1.Text); Memo1.Lines.Add(Edit2.Text); Memo1.Lines.Add(Edit3.Text); Memo1.Lines.Add(Edit4.Text); Memo1.Lines.Add(Edit5.Text); Memo1.Lines.Add(Edit6.Text); Memo1.Lines.Add(Edit7.Text); Memo1.Lines.Add(Edit8.Text); Memo1.Lines.Add(Edit9.Text); Memo1.Lines.Add(Edit10.Text); Memo1.Lines.Add(Edit11.Text); Memo1.Lines.Add(Edit12.Text); DeleteFile(Filename); Showmessage('testbox gelöscht'); Memo1.Lines.SaveToFile(edit2.text+' '+edit1.Text+'.adr'); Listbox1.Items.SaveToFile('adrliste.adr'); end; |
Re: in textdateien schreiben
Hmm...
Mit
Delphi-Quellcode:
hast du doch den Inhalt der alten Datei in die Memo geladen, deshalb bleibt der alte Inhalt auch bei
Memo1.Lines.LoadFromFile(Filename);
Delphi-Quellcode:
erhalten.
Memo1.Lines.SaveToFile(edit2.text+' '+edit1.Text+'.adr');
|
Re: in textdateien schreiben
guten morgen zusammen
falls du eine vorhandene Datei einfach überschreiben möchtest kannst du diese mit rewrite statt mit append öffnen! dann wird die alte überschriben und da hast nur die daten darin enthalten die du zuletzt hinein geschrieben hast! |
Re: in textdateien schreiben
danke das stimmt wohl auf das einfachste kommt man nicht... :wall: ich benutze kein append daher auch kein rewrite werde halt erstmal den inhalt vom memo löschen und dann reinschreiben. thx
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:10 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