Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Savetofile(x.txt) aber alten inhalt behalten (https://www.delphipraxis.net/57452-savetofile-x-txt-aber-alten-inhalt-behalten.html)

JWeis 21. Nov 2005 16:01


Savetofile(x.txt) aber alten inhalt behalten
 
fals es jemandem nicht klar sein sollte was ich mit diesem titel meine hier kommt die auflösung:

Ich habe in meiner form ein memo. der inhalt soll in eine bereits existierende txt datei eingefügt werden (savetofile) aber der inhalt der alte textdatei wird immer gelöscht.

Bsp:
ich speichere, mit meinem programm etwas ab.
schließe das Programm.
öffne es, speichere wieder etwas.
altes ist gelöscht. <--das soll nicht sein

Hat jemand ne ahnung wie ich das machenkönnte mir fällt nix ein

Wuaegner 21. Nov 2005 16:19

Re: Savetofile(x.txt) aber alten inhalt behalten
 
Dir erste den alten Inhalt der Textdatei einlesen, und dann den neuen Text vom Memo dranhängen und dann mit savetoFile speichern.

turboPASCAL 21. Nov 2005 16:19

Re: Savetofile(x.txt) aber alten inhalt behalten
 
Mit Memo.SaveToFilewirst du das nicht erreichen, es dient nur dazu den text zu seichern unabh. davon ob die Datei schon Daten (Text) enthält oder nicht.

Du soltest daher diese Sache selbst erledigen. Delphi-Referenz durchsuchenTFileStream Delphi-Referenz durchsuchenAppend

[Edit]

Ich habe mal die Suche der DP verwendet. ;)
String am Ende einer textdatei anhängen (TFileStream): http://www.delphipraxis.net/internal...=278250#278250

marabu 21. Nov 2005 16:23

Re: Savetofile(x.txt) aber alten inhalt behalten
 
Hallo Johannes,

dein Problem wurde kürzlich schon einmal gelöst: klick

Grüße vom marabu

ichbins 21. Nov 2005 16:33

Re: Savetofile(x.txt) aber alten inhalt behalten
 
So schwer ist das doch garnicht:
Delphi-Quellcode:
var
  s:tstringlist;
  i:integer;
begin
  s:=tstringlist.create;
  s.loadfromfile(filename);
  for i:=0 to memo1.lines.count-1 do
    s.add(memo1.lines.strings[i]);
  s.savetofile(filename);
  s.free;

Sharky 21. Nov 2005 16:41

Re: Savetofile(x.txt) aber alten inhalt behalten
 
Zitat:

Zitat von ichbins
So schwer ist das doch garnicht:

Autsch..
Ich finde es ja gut wenn Du zeigst was man machen kann.

Aber dann doch bitte "richtig" ;-) In deinem Code fehlt alles was die "Fehler kontrolle" angeht.
Und die For-Do Schleife muss auch nicht sein (ist falsch).

Ich sage mal als Stichwörter:

try - finally
FileExist
Assign / AddSting

RavenIV 21. Nov 2005 16:44

Re: Savetofile(x.txt) aber alten inhalt behalten
 
Zitat:

Zitat von ichbins
So schwer ist das doch garnicht:
Delphi-Quellcode:
var
  s:tstringlist;
  i:integer;
begin
  s:=tstringlist.create;
  s.loadfromfile(filename);
  for i:=0 to memo1.lines.count-1 do
    s.add(memo1.lines.strings[i]);
  s.savetofile(filename);
  s.free;

jetzt nehmen wir mal an, dass die Textdatei ~10 MB gross ist, da dauert das LoadFromFile und SaveToFile doch ein Weilchen...

zecke 21. Nov 2005 16:54

Re: Savetofile(x.txt) aber alten inhalt behalten
 
Zitat:

Zitat von Sharky
try - finally
FileExist
Assign / AddSting

Sting macht gute Musik, aber Sharky meinte String

JWeis 23. Nov 2005 08:45

Re: Savetofile(x.txt) aber alten inhalt behalten
 
thx marabu dein link hat mir sehr weitergeholfen. Danke auch an den rest.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:37 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