AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ini-Datei leerlöschen

Ein Thema von blablab · begonnen am 4. Dez 2006 · letzter Beitrag vom 5. Dez 2006
Antwort Antwort
Seite 1 von 2  1 2      
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#1

Ini-Datei leerlöschen

  Alt 4. Dez 2006, 22:30
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
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Ini-Datei leerlöschen

  Alt 4. Dez 2006, 22:38
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?
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.294 Beiträge
 
Delphi 12 Athens
 
#3

Re: Ini-Datei leerlöschen

  Alt 4. Dez 2006, 22:38
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 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
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Ini-Datei leerlöschen

  Alt 4. Dez 2006, 22:40
Mit weniger Overhead:
Delphi-Quellcode:
var f: TextFile;
begin
assignfile(f, 'Dateiname');
rewrite(f);
closefile(f);
end;
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.294 Beiträge
 
Delphi 12 Athens
 
#5

Re: Ini-Datei leerlöschen

  Alt 4. Dez 2006, 22:42
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 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
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.294 Beiträge
 
Delphi 12 Athens
 
#6

Re: Ini-Datei leerlöschen

  Alt 4. Dez 2006, 22:46
Zitat von 3_of_8:
Mit weniger Overhead:
Hast gewonnen. Deine Version ist 10ms schneller.



Gerd
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Ini-Datei leerlöschen

  Alt 4. Dez 2006, 23:03
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.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Ini-Datei leerlöschen

  Alt 4. Dez 2006, 23:22
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
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Ini-Datei leerlöschen

  Alt 5. Dez 2006, 00:43
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" ?
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: Ini-Datei leerlöschen

  Alt 5. Dez 2006, 00:59
Inwiefern spielt die Geschwindigkeit eine Rolle ? Wozu 10 Bytes einsparen ? Wieso lässt Du das Programm nicht einfach machen ??
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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