Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Textdatei will nicht so wie ich will (https://www.delphipraxis.net/78893-textdatei-will-nicht-so-wie-ich-will.html)

cb01 12. Okt 2006 19:20


Textdatei will nicht so wie ich will
 
Hi,
ich versuche gerade mit Delphi eine Textdatei zu erstellen und da etwas rein schreiben zu lassen. Das klappt soweit auch schon problemlos, nur leider habe ich jetzt zwei Probleme

-Wie schaffe ich es, das mein Programm die neuen Zeilen oben anfügt?...Ich habe da beim googlen etc. etwas mit Insert gefunden, aber irgendwie funktioniert das nicht.

-Wie kann ich das Datum als Dateinamen verwenden?

Hier mein Code:

Delphi-Quellcode:
var Datei: TextFile;
procedure TForm4.Button1Click(Sender: TObject);
begin
        AssignFile(Datei,'c:/protokoll.txt');
        Append(Datei);
        if IOResult = 0 then
        begin
        writeln(Datei,'Hallo!');
        writeln(Datei,'Die Datei ist jetzt neu.');
        writeln(Datei,'Sie kann nun verändert werden.');
        CloseFile(Datei);
        end;
end;

procedure TForm4.Button2Click(Sender: TObject);
begin
AssignFile(Datei,'c:/protokoll.txt');
        Append(Datei);
        if IOResult = 0 then
        begin
        writeln(Datei,''+datetostr(date)+'-'+timetostr(time)+'--Hallo!');
        CloseFile(Datei);
        end;
end;

procedure TForm4.Timer1Timer(Sender: TObject);
begin
Memo1.Clear;
Memo1.Lines.LoadFromFile('c:/protokoll.txt');

end;

end.
Ich würde mich sehr freuen, wenn jemand einen Tipp für mich hätte.

Gruß

Chris

mkinzler 12. Okt 2006 19:24

Re: Textdatei will nicht so wie ich will
 
Zitat:

-Wie kann ich das Datum als Dateinamen verwenden?
Delphi-Quellcode:
AssignFile(Datei,DateToStr( Date())+'.txt');
Zitat:

-Wie schaffe ich es, das mein Programm die neuen Zeilen oben anfügt?
Direkt garnicht, da eine Textdatei sequentiell geschrieben wird. Du kannst aber den Text in eine StringListe schreiben, (dort gibt es .Insert) und dann mit .SaveToFile in die Datei schreiben lassen.

Christian Seehase 12. Okt 2006 19:39

Re: Textdatei will nicht so wie ich will
 
Moin Chris,

für die Verwendung des Datums im Dateinamen kannst Du Dir auch mal FormatDateTime anschauen.
Dann kannst Du das Datum auch so formatieren, dass die Sortierung aufsteigend ist (z.B. FormatDatetime('yyyymmdd',now)).

@mkinzler:
Bei DateToStr könnte man das Problem bekommen, dass das Datumsformat / als Trennzeichen enthält.

mkinzler 12. Okt 2006 19:44

Re: Textdatei will nicht so wie ich will
 
Zitat:

@mkinzler:
Bei DateToStr könnte man das Problem bekommen, dass das Datumsformat / als Trennzeichen enthält.
Stimmt, habe dich bedacht, daß eine andere Datumseinstellung ( Trnnzeichen nicht .)vorhanden sein könnte.

cb01 12. Okt 2006 19:53

Re: Textdatei will nicht so wie ich will
 
Moin,

schonmal Danke für die schnellen Antworten, aber leider klappt das noch nicht so ganz

Delphi-Quellcode:
AssignFile(Datei,'c:/(Datei,DateToStr( Date())+'.txt');
So sieht der Code aus, aber da kriege ich dann immer folgende Fehler:

SQL-Code:
[Pascal Fehler] Unit4.pas(34): E2018 Record, Objekt oder Klassentyp erforderlich
[Pascal Fehler] Unit4.pas(35): E2066 Operator oder Semikolon fehlt
[Pascal Fataler Fehler] Textdatei.dpr(5): F2063 Verwendete Unit 'Unit4.pas' kann nicht compiliert werden
Gruß

Chris

mkinzler 12. Okt 2006 20:26

Re: Textdatei will nicht so wie ich will
 
Zitat:

Delphi-Quellcode:
AssignFile(Datei,'c:/(Datei,DateToStr( Date())+'.txt');

So hat die Zeile bei mir auch nicht ausgesehen.
Außerdem funktioniert das auch nur, wenn kein Slash als Trenner konfiguriert ist.( siehe auch Beitrag #3 von Chris.)

inherited 12. Okt 2006 20:52

Re: Textdatei will nicht so wie ich will
 
Zitat:

Zitat von cb01
Delphi-Quellcode:
AssignFile(Datei,'c:/(Datei,DateToStr( Date())+'.txt');

Delphi-Quellcode:
AssignFile(Datei,'c:/'+DateToStr( Date())+'.txt');

cb01 12. Okt 2006 21:00

Re: Textdatei will nicht so wie ich will
 
Hi,

danke für die Hilfe, jetzt klappt es ohne Probleme...!
Gruß

Chris


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