Autor Beitrag
Pyr0cracker
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Fr 14.03.03 22:14 
Hi, wie kann ich bei einer konsolenanwendung einen text an eine txt datei anhängen?
mit
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
assignfile(datei,'cgi1.htm');
rewrite(datei);
Reset(datei);
write(datei,name);
write(datei,beitrag);
CloseFile(datei);

geht das nicht, da wird die datei einfach überschrieben.
hat jemand ne idee?

cu
HSchaffi
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 64



BeitragVerfasst: Fr 14.03.03 23:18 
anstatt rewrite(datei) -> append(datei)

_________________
Gruss HSchaffi
Gegenseitige Achtung ist wie ein Lächeln - sie kostet nichts, und jeder freut sich darüber. ( Vagner Fernando Lobosco )
HSchaffi
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 64



BeitragVerfasst: Fr 14.03.03 23:20 
und reset weg, oder willst du sie lesen?

_________________
Gruss HSchaffi
Gegenseitige Achtung ist wie ein Lächeln - sie kostet nichts, und jeder freut sich darüber. ( Vagner Fernando Lobosco )
Pyr0cracker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Fr 14.03.03 23:36 
aha, append, hatte ich nicht dran gedacht.

Zitat:
procedure Append(var F: Text);

Beschreibung

Mit Append können Sie sicherstellen, daß eine Datei schreibgeschützt geöffnet und der Dateizeiger auf das Ende der Datei gesetzt wird. F ist eine Textdateivariable und muß zuvor mit AssignFile einer externen Datei zugeordnet werden. Ist die Datei mit dem angegebenen Namen nicht vorhanden, tritt ein Fehler auf. Wenn F bereits offen ist, wird sie geschlossen und anschließend erneut geöffnet. Die aktuelle Dateiposition wird dann auf das Dateiende gesetzt.


und wie kann ich den zeiger an eine bestimmte stelle in der datei setzen?
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Sa 15.03.03 02:33 
Pyr0cracker hat folgendes geschrieben:
und wie kann ich den zeiger an eine bestimmte stelle in der datei setzen?
Das sollte mit Seek gehen!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
Brueggendiek
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 304

Win 98, Win98SE, Win XP Home
D5 Std
BeitragVerfasst: Sa 15.03.03 02:55 
Hallo!

@wulfskin: es geht hier um TEXT-Dateien!

Textdateien haben ein großes Problem: die Satzlänge ist unterschiedlich. Deshalb können Textdateien entweder gelesen oder geschrieben (erweitert) werden, gleichzeitiges Lesen und Schreiben ist nicht möglich. Ebenso kann man keine Datensätze überschreiben. Damit kann man also kein SEEK einsetzen!

Wenn bei Textdateien etwas verändert werden soll, muß entweder ordentlich Zeile für Zeile umkopiert werden (dabei die Änderung durchführen) oder die ganze Datei in den Speicher gelutscht werden - neuerdings haben wir's ja - und nach Veränderung wieder rausgeschrieben.

Sollen Datensätze wahlfrei gelesen oder geschrieben werden, muß mit einer typisierten Datei gearbeitet werden. Das ist dann so eine Art dynamisches Array auf der Platte. Die Datensätze müssen dann alle gleich groß sein. Außerdem sind nur kurze Strings erlaubt, die belegen alle die maximale Zeichenzahl.

Gruß

Dietmar Brüggendiek
Pyr0cracker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Sa 15.03.03 10:40 
ohh, da mit kenn ich mich nicht aus :(
aber kann ich denn eine ganze text datei auslesen und in eine variable schreiben (mit konsole) ?
also, ich hab ne htmlseite und möchte mit meinem programm dort was neues reinschreiben. muss also den ganzen text auslesen, ihn verändern und wieder reinschreiben.
weiss nur nich wie das geht.
mars
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 238

Debian Woody, Win 2000, Win XP
D7 Ent, Kylix 3
BeitragVerfasst: Sa 15.03.03 13:04 
Lies es einfach in eine TStringList ein (TStringList.LoadFromFile), veränder es nach deinem Belieben und schreibe es zurück (TStringList.SaveToFile).