Delphi-PRAXiS
Seite 1 von 3  1 23   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Was passiert mit der INI-File beim beschreiben ? (https://www.delphipraxis.net/40954-passiert-mit-der-ini-file-beim-beschreiben.html)

Darty 23. Feb 2005 19:10


Was passiert mit der INI-File beim beschreiben ?
 
Hi Leutz,

was mich interessieren würde ist, wenn ich einige Daten in die Ini schreibe wird die Komplette Datei beschrieben so das die alten Einträge gelöscht sind ? Oder werden nur die beschriebene Werten neu angelegt ?

Mir fiel es nur auf, weil ich in einer IniFile z.B. folgendes stehen habe
Code:
[Data]
Anzahl=2
[Data1]
Titel=Irgendwas
[Data2]
Titel=Nochirgendwas
Nehmen wir an, das ich im Programm jetzt Data2 gelöscht habe. Wegen den Anzahl=1 wird er dann nur einmal den Wert einlesen daher fiel es mir nicht sofort auf. Aber er lässt trotzdem Data2 drin stehen. Weil ich davon ausging das es komplett überschrieben wird.

Danke schon mal für euer Erklärung und eventuell falls es so ist wie ich es vermute wie ich es lösen könnte ? Oder wäre die einzigste Möglichkeit vor dem speichern die Datei zu löschen ?

arbu man 23. Feb 2005 19:11

Re: Was passiert mit der INI-File beim beschreiben ?
 
Nein, ältere Daten werden ich gelöscht

Darty 23. Feb 2005 19:30

Re: Was passiert mit der INI-File beim beschreiben ?
 
Zitat:

Zitat von arbu man
Nein, ältere Daten werden ich gelöscht

Ich nehme mal an statt ich heisst es nicht oder ? Und was gibt da für eine Lösung ? Die Radikal Methode bevor geschrieben wird die Datei löschen ?

Hansa 23. Feb 2005 20:19

Re: Was passiert mit der INI-File beim beschreiben ?
 
Ich weiß es zwar nicht genau, gehe aber zu 98 % von folgendem aus : da es sich um Textdateien handelt werden diese wohl nur sequentiell gelesen/geschrieben werden können. Ich bearbeite meine Source-Codes z.B. folgendermaßen (hauptsächlich wegen $DEFINE) :

1. Datei kopieren.
2. zeilenweise aus Kopie lesen, ändern und in neue Datei schreiben.

falls fehlerfrei :

4. Original mit geänderter Datei überschreiben
5. Kopie löschen

Glaube kaum, daß Mickysoft es anders macht. 8)

Binärbaum 23. Feb 2005 20:32

Re: Was passiert mit der INI-File beim beschreiben ?
 
Also es ist so, dass alte Einträge in einer Ini nicht gelöscht werden. Nur wenn man einen Wert ändert, dann werden alte Werte überschrieben. Oder es werden halt neue Werte hinzugefügt, wenn der Wert noch nicht existiert.
Wenn man alle alten Daten löschen will, ist wohl die "Radikalmethode" am angebrachtesten: Datei löschen und dann mit den nötigen Werten neu schreiben.

MfG
Binärbaum

SirThornberry 23. Feb 2005 20:33

Re: Was passiert mit der INI-File beim beschreiben ?
 
ich lese bei programmstart alles aus der ini aus und beim beeenden wird die Ini-Datei gelöscht und komplette neu geschrieben.

Hansa 23. Feb 2005 20:45

Re: Was passiert mit der INI-File beim beschreiben ?
 
Es sieht so aus, daß weder was gelöscht wird usw. Das wird aber sehr wohl alles gelöscht und eben umkopiert. Rest : siehe vorheriger Beitrag. Man vergleiche mal eine .PAS die man geändert hat, mit einer gleichnamigen .~PAS 8)

roderich 23. Feb 2005 20:47

Re: Was passiert mit der INI-File beim beschreiben ?
 
Natürlich werden "alte Einträge" in Ini-Dateien gelöscht (was auch immer das bedeuten soll, ich vermute mal Einträge, die mit DeleteKey gelöscht wurden). Wäre ja auch schlimm wenn nicht.....

Die Section bleibt aber solange drin, bis auch sie mit EraseSection gelöscht wird. Der Sinn ist vermutlich der, daß beim Löschen des letzten Eintrags aus einer Section die dann leere Section an der Stelle bestehen bleiben soll. Ansonsten würde sie beim ersten Wieder-Anlegen eines Eintrags ganz unten angelegt, was vielleicht verwirrend sein könnte.


Roderich

roderich 23. Feb 2005 20:49

Re: Was passiert mit der INI-File beim beschreiben ?
 
@Hansa:

eine Inidatei hat mit einer .pas-Datei aber nun wirklich gar nix zu tun..... :???:

Roderich

arbu man 23. Feb 2005 20:55

Re: Was passiert mit der INI-File beim beschreiben ?
 
Zitat:

Zitat von Darty
Zitat:

Zitat von arbu man
Nein, ältere Daten werden ich gelöscht

Ich nehme mal an statt ich heisst es nicht oder ? Und was gibt da für eine Lösung ? Die Radikal Methode bevor geschrieben wird die Datei löschen ?

ja ich meinte nicht


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:40 Uhr.
Seite 1 von 3  1 23   

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf