Thema: Delphi Edit Abspeichern

Einzelnen Beitrag anzeigen

schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#13

Re: Höö?? Komischer Fehler

  Alt 27. Feb 2005, 18:04
Hallo sandraeberlein!

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
  private
    { Private-Deklarationen }
    Datei: Text;
  public
    { Public-Deklarationen }
    procedure SaveToFile(Name: String);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.SaveToFile(Name: String);
begin
   Assignfile(Datei, Name);
   if FileExists(Name) //Gibt es die Datei schon?
      then Reset(Datei) //Wenn Datei schon da, neue Werte mit hier rein
   else Rewrite(Datei); //Oder Rewrite, wenn Datei noch nicht existiert
   Writeln(Datei, Edit1.Text);
   CloseFile(Datei);
end;

end.
Du kannst auch die Datei mit Rewrite immer neu anlegen. Da wir aber der alte Inhalt gnadenlos gelöscht, ist dann also unwiederbringlich verloren. Aber du sparst Dir dann das if then else.
Kommt drauf an, was Du mit dem gespeicherten Wert anschließend machen willst.

Eine andere Möglichkeit mit Fehlerbehandlung wäre folgende:

Delphi-Quellcode:
procedure TForm1.SaveToFile(Name: String);
begin
 try
   try //Versuche das was bis zum Except folgt auszuführen
     Assignfile(Datei, Name);
     Reset(Datei);
   except //Wenn irgendwas schief geleaufen ist
     Rewrite(Datei);
     Writeln(Datei, Edit1.Text);
   end;
  finally //Auch dann machen, wenn irgendein Fehler aufgetreten ist
   CloseFile(Datei);
  end;
end;
Ich setze hier voraus, das noch genug Platz auf dem Datenträger vorhanden ist und auch sonst alles mit dem Rechner Ok ist. Dann kann als Fehler nur noch "Datei nicht vorhanden" auftreten.

Viel Erfolg

Schöni
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat