AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Textdatei will nicht so wie ich will

Ein Thema von cb01 · begonnen am 12. Okt 2006 · letzter Beitrag vom 12. Okt 2006
Antwort Antwort
cb01

Registriert seit: 4. Okt 2006
17 Beiträge
 
Turbo Delphi für Win32
 
#1

Textdatei will nicht so wie ich will

  Alt 12. Okt 2006, 20:20
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Textdatei will nicht so wie ich will

  Alt 12. Okt 2006, 20:24
Zitat:
-Wie kann ich das Datum als Dateinamen verwenden?
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Textdatei will nicht so wie ich will

  Alt 12. Okt 2006, 20:39
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Textdatei will nicht so wie ich will

  Alt 12. Okt 2006, 20:44
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.
Markus Kinzler
  Mit Zitat antworten Zitat
cb01

Registriert seit: 4. Okt 2006
17 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Textdatei will nicht so wie ich will

  Alt 12. Okt 2006, 20:53
Moin,

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

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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Textdatei will nicht so wie ich will

  Alt 12. Okt 2006, 21:26
Zitat:
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.)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Textdatei will nicht so wie ich will

  Alt 12. Okt 2006, 21:52
Zitat von cb01:
AssignFile(Datei,'c:/(Datei,DateToStr( Date())+'.txt');
AssignFile(Datei,'c:/'+DateToStr( Date())+'.txt');
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
cb01

Registriert seit: 4. Okt 2006
17 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Textdatei will nicht so wie ich will

  Alt 12. Okt 2006, 22:00
Hi,

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

Chris
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 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