Autor Beitrag
Bo0n
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Do 16.02.12 21:14 
Moin!

ich versuche den Text einer Memo in eine txt Datei zu speichern um diese nachher aufrufen zu können

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
procedure TForm2.Button1Click(Sender: TObject);
var sDir : string;
    f : TEXTfile;
begin
  sDir := 'c:\Stundenplan';
  if NOT DirectoryExists(sDir) then
    ForceDirectories(sDir);
  if not FileExists('c:\Stundenplan\'+Edit1.Text+'.txt')
    then
      begin
        assignfile(f, 'c:\Stundenplan\'+Edit1.Text+'.txt');
        rewrite(f);
        closefile(f);
      end
    else
      begin
         with TStringList.Create do
         try
          Memo1.Lines.SaveToFile ('c:\Stundenplan\'+Edit1.Text +'.txt');
         finally
          Free;
         end;
      end;
end;


was mache ich falsch?

Edit:vll sollte ich auch das Problem beschreiben..
Die Datei wird erstellt, der Ordner auch.. das Problem liegt im Speichern des Textes, denn die txt datei bleibt leer.

Habs raus! bitte schließen oder löschen :D
haentschman
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 285
Erhaltene Danke: 33


DX10 Berlin Professional
BeitragVerfasst: Fr 17.02.12 20:14 
Hallo...

Das StringlistCreate kommt mir sehr merkwürdig vor :zwinker:


Probiere erst mal... (ohne Fehlerbehandlung etc.)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
else
begin
  Memo1.Lines.SaveToFile ('c:\Stundenplan\'+Edit1.Text +'.txt');
end;


PS: ich glaube, den Part kann ma sich sparen.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
begin
  assignfile(f, 'c:\Stundenplan\'+Edit1.Text+'.txt');
  rewrite(f);
  closefile(f);
end

...das macht SaveTo File intern selbst. Bzw. du brauchst die Datei nicht explizit vorher erstellen.

Wegen der Übersicht mal komplett...
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm2.Button1Click(Sender: TObject);
var sDir : string;
begin
  sDir := 'c:\Stundenplan';
  if not DirectoryExists(sDir) then
  begin
    if ForceDirectories(sDir) then
     try
       Memo1.Lines.SaveToFile ('c:\Stundenplan\'+Edit1.Text +'.txt');
     except // wenn nötig Exception auswerten
       MessageDlg('Der Stundenplan konnte nicht gespeichert werden',mtError,[mbOK],0); 
     end
  end;
end;


Versuche mal des Verständnisses wegen zu erklären was jetzt anders ist...