Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ini-Datei leerlöschen (https://www.delphipraxis.net/81847-ini-datei-leerloeschen.html)

blablab 4. Dez 2006 21:30


Ini-Datei leerlöschen
 
Hallo!

Ich hab das Problem, dass ich bei OnClose jedesmal die ganzen Einstellungen neu in eine ini reinspeicher. Dabei speicher ich mal mehr und mal weniger Sections, je nach den Einstellungen.
Bis jetzt lösche ich die überflüssigen Sections einzeln raus. Doch ich denke es wäre am besten einfach die ganze ini-Datei neu zu schreiben, denn dann sind die sektions auch wieder geordnet und er muss nicht jedesmal schauen, ab es den Eintrag schon gibt und ihn dann überschreiben.

Weiß jemand, wie ich eine ini-Datei ganz leerlösche?
Oder spricht etwas dagegen die ini Datei beim Schließen jedesmal leerzulöschen und wieder vollzuschreiben?

Danke im Voraus!

Simon

Cöster 4. Dez 2006 21:38

Re: Ini-Datei leerlöschen
 
Wieso willst du die ini denn löschen? Wird nicht einfach nur das überschrieben, was du neu reinschreibst und der Rest bleibt, wie er ist?

bernau 4. Dez 2006 21:38

Re: Ini-Datei leerlöschen
 
Zitat:

Zitat von blablab
Weiß jemand, wie ich eine ini-Datei ganz leerlösche?
Simon


z.B. so:

Delphi-Quellcode:
var
  sl:TStriglist;
begin
  sl:=TStringlist.create;
  sl.savetofile('NameDerINI-Datei');
  sl.free;
end;
Damit hast du eine leere Datei.


Zitat:

Zitat von blablab
Oder spricht etwas dagegen die ini Datei beim Schließen jedesmal leerzulöschen und wieder vollzuschreiben?

Ich wüsste nicht was. Ich denke mal, das ist sogar schneller und besser, als alle Sectionen einzeln zu löschen.



Gerd

3_of_8 4. Dez 2006 21:40

Re: Ini-Datei leerlöschen
 
Mit weniger Overhead:
Delphi-Quellcode:
var f: TextFile;
begin
assignfile(f, 'Dateiname');
rewrite(f);
closefile(f);
end;

bernau 4. Dez 2006 21:42

Re: Ini-Datei leerlöschen
 
Zitat:

Zitat von Cöster
Wieso willst du die ini denn löschen? Wird nicht einfach nur das überschrieben, was du neu reinschreibst und der Rest bleibt, wie er ist?

Er hat geschrieben:


Zitat:

Zitat von blablab
Bis jetzt lösche ich die überflüssigen Sections einzeln raus.

Also wird es wohl irgendwas geben, was nicht mehr gebraucht wird.

Die Frage ist nur, ob man diese überflüssigen Sectionen einfach stehen lassen kann, oder ob diese vorhandenen Werte ggf. stören.



Gerd

bernau 4. Dez 2006 21:46

Re: Ini-Datei leerlöschen
 
Zitat:

Zitat von 3_of_8
Mit weniger Overhead:

Hast gewonnen. Deine Version ist 10ms schneller. :lol:



Gerd

blablab 4. Dez 2006 22:03

Re: Ini-Datei leerlöschen
 
Vielen Dank für die Antworten!
Ich werd dann 3_of_8's Lösung nehmen.

@Cöster
Wie gesagt, gibt es je nach einstellung mal mehr ud mal weniger sections. wenn also eine ini-datei schon mehrmals beim schließen verändert wurde, dann muss ich die überflüssigen sections einzeln rauslöschen. und selbst wenn ich das so mache sind die einstellungen mit der zeit etwas durcheinander aufgelistet. (Ist halt net so gut lesbar aber au net wirklich schlimm.) Und da ich eh alle einstellungen nochmal reinschreibe kann ich die datei au ganz leerlöschen.

@Gerd
Wirklich stören tun die überflüssigen sections nicht, aber sie sind halt überflüssig. Ich denke nur die datei einfach leerzulöschen ist der einfachste und beste weg.

Hawkeye219 4. Dez 2006 22:22

Re: Ini-Datei leerlöschen
 
Hallo,

warum verwendest du nicht die Klasse Delphi-Referenz durchsuchenTMemIniFile? Sie ist schneller, weil nicht jede Änderung direkt auf die Platte geschrieben wird, und sie verfügt über die Methode Clear zum Löschen aller Daten.

Gruß Hawkeye

Blackheart 4. Dez 2006 23:43

Re: Ini-Datei leerlöschen
 
Wie gesagt, gibt es je nach einstellung mal mehr ud mal weniger sections. wenn also eine ini-datei schon mehrmals beim schließen verändert wurde, dann muss ich die überflüssigen sections einzeln rauslöschen. und selbst wenn ich das so mache sind die einstellungen mit der zeit etwas durcheinander aufgelistet. (Ist halt net so gut lesbar aber au net wirklich schlimm.) Und da ich eh alle einstellungen nochmal reinschreibe kann ich die datei au ganz leerlöschen.

Wirst Du selber daraus schlau, Ich nicht und irgendwie ergibt die Sache auch keinen Sinn "Oder doch" ?

Hansa 4. Dez 2006 23:59

Re: Ini-Datei leerlöschen
 
Inwiefern spielt die Geschwindigkeit eine Rolle ? Wozu 10 Bytes einsparen ? Wieso lässt Du das Programm nicht einfach machen ??


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:09 Uhr.
Seite 1 von 2  1 2      

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