Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Textfile Lines hinzufügen? (https://www.delphipraxis.net/55564-textfile-lines-hinzufuegen.html)

Kurai-Domi 23. Okt 2005 12:51


Textfile Lines hinzufügen?
 
hi ich habe eine text datei in die eine highscore liste ausgegeben wird, wenn ich eine neue highscore hinzufüge mache ich das mit

Delphi-Quellcode:
var highscores: textfile;
begin
  AssignFile(highscores,'highscores.txt');
  ReWrite(highscores);
  WriteLn(highscores,FRM_main.Punkte,' '+EDT_name.Text);
  CloseFile(highscores);
end;
das problem dabei ist das durch Rewrite immer der inhalt der textdatei gelöscht wird.
Nun zu meiner frage, ist es möglich anders in die Textdatei zu schreiben (nur hinzufügen)? oder muss ich erst den inhalt der textdatei auslesen und danach beides neu in die datei schreiben?

meine 2. frage is wie ich lines in einer textdatei sortieren kann die jeweils einen integerwert am anfang stehen haben bsp:
'120 Horst'

danke schon mal im voraus.

Niko 23. Okt 2005 13:04

Re: Textfile Lines hinzufügen?
 
Zitat:

Zitat von Kurai-Domi
Nun zu meiner frage, ist es möglich anders in die Textdatei zu schreiben (nur hinzufügen)?

Ja, mit append statt rewrite.

Der_Unwissende 23. Okt 2005 13:09

Re: Textfile Lines hinzufügen?
 
Hi,

ja lines klingt doch schonmal verdächtig nach TStrings (bzw. erbenden Klassen). Und das würde ich dir auch einfach empfehlen. Das löst komplett dein Problem. Ein TStrings-Objekt verfügt über alle Eigenschaften die benötigst (einfach mal in die Delphi Help schauen).
Mit LoadFromFile kannst du eine Textdatei laden, sorted ist die Eigenschaft mit der du bestimmst dass die Liste sortiert ist und mit Add fügt man einen String hinzu. Ach ja, SaveToFile ist natürlich dann für das Speichern als Textdatei zuständig.

Ok, das mit append für Textfiles kam ja schon.

Gruß Der Unwissende

ichbins 23. Okt 2005 13:19

Re: Textfile Lines hinzufügen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
rewrite heisst zu deutsch "überschreiben".

Eine Textfile ist praktisch das unhandlichste, was dir über den Weg laufen kann. Verwende besser Tstringlist:
Delphi-Quellcode:
var
  hs:tstringlist;
begin
  hs:=tstringlist.create;
  hs.loadfromfile('C:\Datei.hs');
  hs.count //Anzahl
  hs.strings[17] //Zeile 17 der Datei
  hs.add('Text'); //Hänge den Text an Datei an
  hs.insert('Text',X); //schiebe eine Zeile an stelle x ein
  hs.delete(x) //entferne zeile x
  hs.clear //entferne inhalt
  hs.savetofile('C:\Datei.hs');
  hs.free;
end;
oder verwende die Unit, die ich schon mal geschrieben hab:

die Unit enthält einen Typ THIGHSCORE. Der dürfte eigentlich selbsterklärend sein. Das besondere an dem Typ: Die gespeicherte Liste wird verschlüsselt.

Kurai-Domi 23. Okt 2005 14:04

Re: Textfile Lines hinzufügen?
 
danke, habs jetzt mit TStringList gemacht, aber sorted gibt es da nicht.

//Edit alles klar funzt ^^ danke

mein info lehrer besteht auf Textdateien, deshalb kann ich keine anderen nehmen.


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