Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zeitabstand zwischen erstellen und Inhalt abspeichern? (https://www.delphipraxis.net/117470-zeitabstand-zwischen-erstellen-und-inhalt-abspeichern.html)

julchen 18. Jul 2008 16:26


Zeitabstand zwischen erstellen und Inhalt abspeichern?
 
Hallo,

ich möchte Text in einer Datei abspeichern und beides soll mit einem Knopfdruck erledigt werden.
Die Datei wird erstellt, aber der Inhalt nicht in ihr gespeichert und das Programm stürzt beim Speichern ab.
Was mache ich da falsch?

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var
        i,x: integer;
        f: String;
begin
        If not FileExists('0000.html') then
        begin
          FileCreate('0000.html');
          RichEdit1.Lines.SaveToFile('0000.html');
        end
          else
        begin
          x := 0;
          for i := 0 to CountFiles(ExtractFilePath(Application.ExeName)) - 1 do
          begin
            inc(x);
            f := Format('%.4d', [x]);
            FileCreate(f + '.html');
            RichEdit1.Lines.SaveToFile(f + '.html');
          end;
        end;
end;

_frank_ 18. Jul 2008 16:30

Re: Zeitabstand zwischen erstellen und Inhalt abspeichern?
 
lass mal das fileCreate weg...imho erstellt das eine Datei und sperrt diese gegen andere Aktionen, die nicht mit dem zurückgegebenen FileHandle agieren bis FileClose aufgeufen wird.

TStrings.SaveToFile erstellt die datei automatisch, wenn sie nicht existiert.

HTH Frank

OldGrumpy 18. Jul 2008 16:33

Re: Zeitabstand zwischen erstellen und Inhalt abspeichern?
 
Julchen, bitte beschreib nochmal genau, was Dein Code tun soll. Ich sehe da einen fetten Denkfehler in der Schleife, aber erläuter bitte erst was der Code tun soll, vermutlich kommst Du dabei dann direkt selber drauf :)

julchen 18. Jul 2008 16:36

Re: Zeitabstand zwischen erstellen und Inhalt abspeichern?
 
@frank
DANKE - das war´s!
Ich wusste nicht, dass die Datei automatisch erstellt wird, wenn sie nicht existiert!

_frank_ 18. Jul 2008 16:47

Re: Zeitabstand zwischen erstellen und Inhalt abspeichern?
 
ich vermute mal julchen will die neue datei unter einem Namen speichern, der noch nicht existiert...

auch wenn ich da auch einen Denkfehler sehe (wenn die datei existiert werden x Dateien erstellt, ohne vorher deren Existenz zu prüfen).

ich würde es so realisieren:

Delphi-Quellcode:
x:=0;
repeat
  filename:=Format('%.4d', [x])+'.html';
  inc(x);
until not fileexists(filename);
showmessage(filename); //erste nicht existierende Datei anzeigen for debugging :)
//hier jetzt speichern
HTH Frank


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