So... Ich will jetzt mein Vorhaben genauestens beschreiben:
Es gibt ein Dateiformat, welches eigentlich ich nicht bestimmen kann. Ich kann eben nur darauf hoffen, dass der Programmierer "
TStringList.LoadFromFile" benutzt.
Ich kam aber auf die Idee weitere Daten da zu hinterlegen. Wie macht man das ohne das Programm zu verwirren: Man tut so (für TStringList) so, als sei die Datei da zuende obwohl dahinter noch was ist, was es aber nicht interpretieren kann.
Deshalb habe ich gedacht, dass nach den Informationen, welche das Programm versteht, ein #0 zu setzten. Während mein Programm, welches auch damit arbeitet dies berücksichtigt und die Daten dahinter ausliest.
Deshalb kann ich das Format nur mit den #0 verändern.
Code:
[color=#0000ff]Datei[/color]
[color=#7f00ff]#0[/color]
[color=#00ff3f]Meine Daten[/color]
Das grüne kann ich ändern...
Und das Blaue kann ich nicht ändern...
Zitat von
himitsu:
@xZise: TStringList.LoadFromFile ließt die gesamte Datei ein, nur ruft es danach TStringList.SetTextStr auf, welches alles ab #0 wieder abschneitet/löscht.
Danke
Zitat von
himitsu:
Da du ja wegen der (gewollten) #0 eh die Dateien mit 'nem eigenem Programm erstellen muß, wie wäre es dann mit der eingebauten Längenangabe? Dieses würde dann auch das einlesen beschleunigen/vereinfachen, da ja gleich bekannt wäre, wie lang der String wäre.
Geht eben nicht (s.o.)
Zitat von
himitsu:
Also jeweils die Länge (LongInt) und nachfolgend den Stringinhalt speichern.
Wenn dann nur für meinen Teil
Zitat von
Hansa:
Stichwort : TInifile. Würde ich mir mal ansehen. Mit #0 oder
WinApi am Betriebssystem rumzufummeln würde ich mir gründlich überlegen.
Geht eben nicht (s.o.)
[edit]Es stellt sich mir die Frage, wie ich ein #0 schreiben kann... mit TFileStream!
Das tuts net:
level.Write(Pointer(#0)^, Length(#0));
[/edit]