Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Textdatei speichern: Speicherort bestimmen. (https://www.delphipraxis.net/150591-textdatei-speichern-speicherort-bestimmen.html)

himitsu 21. Apr 2010 18:51

Re: Textdatei speichern: Speicherort bestimmen.
 
Zitat:

Zitat von Chemiker
man sollte unbedingt IOResult einsetzen um evt. Fehler abzufangen.

Wenn die Fehlerprüfung seitens Delphi aktiv ist, dann ist das nicht nötig, bzw. sogar umsonst,
denn Delphi setzt bei aktiver Fehlerprüfung nach jeden der Datei-Befehle (Reset, Append, Rewrite, Read, ReadLn, Write, WriteLn BlockRead usw.) einen Code, welcher IOResult ausließt und notfalls eine Exception auslößt.
Heißt also, wenn man in soeinem Fall IOResult auswerten will, dann kommt man garnicht dazu, da Delphi schon vorher reagiert.

Aus diesem Grund schaltet man auch die Fehlerprüfung lokal ab (mit {$I-} ), wenn man mit IOResult selber prüfen will.

Helmi 21. Apr 2010 18:52

Re: Textdatei speichern: Speicherort bestimmen.
 
Hallo,

mich wunderts dass keine Access Violation gekommen ist.

Denn das hier müsste eine liefern:
Delphi-Quellcode:
  for i:=0 to memo1.Lines.Count do
   begin
    writeln(Datei, Memo1.Lines[i]);
   end;
es müsste dann schon so lauten:
Delphi-Quellcode:
  for i:=0 to Pred(memo1.Lines.Count) do  // bzw. memo1.Lines.Count - 1
   begin
    writeln(Datei, Memo1.Lines[i]);
   end;

Chemiker 21. Apr 2010 19:17

Re: Textdatei speichern: Speicherort bestimmen.
 
Hallo,

das war nur ein Hinweis in der Hilfe von Delphi findet man mehr.

Bis bald Chemiker

xZise 21. Apr 2010 22:43

Re: Textdatei speichern: Speicherort bestimmen.
 
Moin,
Zitat:

Zitat von p80286
@bassmann
dann hast Du aber
Delphi-Quellcode:
writeln(Datei, raum);
  writeln(Datei, datum);
  writeln(Datei, edit1.text);
unterschlagen.[...]

Bisschen kopieren vorher ;)
Delphi-Quellcode:
var
  sl : TStrings;
begin
  sl := TStringList.Create;
  try
    sl.Assign(Memo1.Lines);
    sl.Insert(0, raum);
    sl.Insert(1, datum);

    // Alternativ statt des assigns da oben, dürfte auch das gehen:
    sl.AddStrings(Memo1.Lines);
    // Dann kann man aus Insert ein Add machen.

    sl.SaveToFile(...);
  finally
    sl.Free;
  end;
end;
MfG
Fabian


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr.
Seite 2 von 2     12   

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