Entwickler-Ecke
Dateizugriff - Textausgabe in Editordatei
butterbrot - So 17.06.07 15:34
Titel: Textausgabe in Editordatei
Hallo,
ich habe ein simples Programm erstellt, das den Inhalt eines Editfeldes in einer Editordatei ausgibt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| if FileExists (Name + '.txt') then AssignFile (Datei, Name + '.txt') else FileCreate (Name + '.txt');
Rewrite (Datei); WriteLn (Datei, Content); CloseFile (Datei); |
Unsere Aufgabe (Informatikunterricht) ist es jedoch, beim späteren Öffnen oder häufigem Klicken des Buttons immer einen neuen Eintrag hinzuzufügen ohne den bisherigen Inhalt zu überschreiben. Dies ist mit der Verwendung von Rewrite nicht möglich. Was ich also suche ist ein Befehl, der die Datei öffnet, ans Dateiende springt, einen Zeilenumbruch macht und den neuen Eintrag hinzufügt (zumindest sollte es wohl in die Richtung gehen).
Außerdem verstehe ich nicht, warum ich diese Fehlermeldung erhalte,
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt p_20070617_Editorausgabe.exe ist eine Exception der Klasse EComponentError aufgetreten. Meldung: '''Dateiname.txt'' ist kein gültiger Komponentenname'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
wenn ich
Name als
Name + '.txt' direkt nach dem Auslesen deklariere.
Ich hoffe ich konnte mein Problem verständlich schildern.
Wonko - Mo 18.06.07 08:47
:welcome:
Zum Anhängen an bestehende Dateien gibt es
Append, damit wird Dir die Delphi-Hilfe weiterhelfen.
Zitat: |
wenn ich Name als Name + '.txt' direkt nach dem Auslesen deklariere. |
Was meinst Du mit "Auslesen" ?? Wie erstelltst Du den Dateinamen??
butterbrot - Di 19.06.07 21:30
Append funktioniert schon mal super, danke.
Zum Problem des Dateinamens:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| if FileExists (Name + '.txt') then AssignFile (Datei, Name + '.txt') else FileCreate (Name + '.txt'); |
Momentan wird der
Name aus einem Editfeld ausgelesen. Wie oben im Code zu sehen arbeite ich dann mit
Name + '.txt'. Um das ganze aber felxibler zu machen würde ich es vorziehen die Dateiendung auch einer Variabel zuzuweisen.
Spontan würde ich das so machen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| Name := edt_name.Text; Format := '.txt';
Name := Name + Format;
if FileExists (Name) then AssignFile (Datei, Name) else FileCreate (Name); |
Hierbei erhalte ich leider die oben erwähnte Fehlermeldung :(
Blackheart666 - Di 19.06.07 21:51
Benutze mal für Name einen anderen Variablenbezeichnung.
butterbrot - Di 19.06.07 21:55
grml.. danke, funktioniert :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!