Entwickler-Ecke

Dateizugriff - Daten an Datei anhängen (Doch noch en kleinen Problem^^)


Nano-Ware - Di 19.01.10 16:55
Titel: Daten an Datei anhängen (Doch noch en kleinen Problem^^)
Hi,

ich will einfach nur wissen, wie man einen Text an eine Datei anhängt^^

weil sobald ich rewrite(f) benutze ist due Datei wieder leer^^ gib es auch ne möglichkeit ohne erst den ganzen Inhalt auszulesen und dann später wieder zu schreiben? Ich habs auch mal ohne rewrite versucht geht leider nicht


Gausi - Di 19.01.10 16:58

Das sollte mit Append anstelle von Rewrite gehen.


Nano-Ware - Di 19.01.10 16:58

Also einfach Append(f)?


jaenicke - Di 19.01.10 17:00

Ganz genau. ;-)
Warum probierst du es nicht einfach aus?


Nano-Ware - Di 19.01.10 17:01

Das demotiviert mich immer wenns dann nicht klappt :wink: thx an Gausi und jeannicke^^

EDIT//Hab doch noch ein Problem...

Ich wollte das dafür haben, eine User-Datei, in der alle Users aufgelistet sind (einer pro Zeile)

(z.B)

//#ANFANG#
1.User
2.User
3.User
//#ENDE#

wenn ich es jetzt normal mit Append mache?


Delphi-Quelltext
1:
2:
3:
4:
AssignFile(f, 'Users\AllUsers.dat');
  Append(f);
  WriteLn(f, GetUsername);
  CloseFile(f);


Dann hängt er es an den Text an:

//#ANFANG#
1.User
2.User3.User
//#ENDE#

Dann hab ich es so versucht:


Delphi-Quelltext
1:
2:
3:
4:
AssignFile(f, 'Users\AllUsers.dat');
  Append(f);
  WriteLn(f,#13#10 + GetUsername);
  CloseFile(f);


Perfekt jetzt sieht es so aus:

//#ANFANG#
1.User
2.User
3.User
//#ENDE#

Aber wenn die Users.dat jetzt leer ist, was durchaus mal vorkommt :wink: dann siehts so aus:

//#ANFANG#

1.User
//#ENDE#

Und diese freie Zeile stört leider sehr beim auslesen... wie kann ich das ändern?


Andreas L. - Di 19.01.10 18:02

Hänge den Zeilenumbruch an, anstatt ihn voranzustellen. Und verwende am besten gleich sLineBreak


Delphi-Quelltext
1:
WriteLn(f, GetUsername + sLineBreak);                    


Nano-Ware - Di 19.01.10 21:13

Das ist gut^^ wie dumm xD achja noch ganz kurz...

ich frag im so ab

repeat

until line = ''

wird dann die Zeile die durch LineBreak erzeugt wird als '' erkannt oder? Hab grad leider kein Delphi