![]() |
Unnötige Ini-Befehle vermeiden sinnvoll?
Im Zuge dessen, dass ich mir die Tage eine eigene Ini-Klasse angelegt habe mit ein paar Änderungen drin stelle ich mir jetzt eine Frage:
wie sinnvoll ist es, unnötige Befehle zu vermeiden? Konkreter: Wenn ich ein TMemIniFile verwende mir AutoSave := False, sollte man dann die Writes irgendwie blockieren? Ich meine... der schreibt dann irgendetwas in den Speicher, was am Ende eh kein Mensch braucht. Meine Unit kann man hier sehen: ![]() In etwa sowas hier
Delphi-Quellcode:
Was ist von soetwas zu halten?
procedure WriteString(const Section, Ident, Value: string); reintroduce; overload;
procedure WriteInteger(const Section, Ident: string; Value: Integer); reintroduce; overload; procedure WriteBool(const Section, Ident: string; Value: Boolean); reintroduce; overload; ////////////////////////////////////////// procedure TMemIniFile.WriteString(const Section, Ident, Value: string); begin if FAutoSave then inherited WriteString(Section, Ident, Value); end; procedure TMemIniFile.WriteInteger(const Section, Ident: string; Value: Integer); begin if FAutoSave then inherited WriteString(Section, Ident, IntToStr(Value)); end; procedure TMemIniFile.WriteBool(const Section, Ident: string; Value: Boolean); const Values: array [Boolean] of string = ('0', '1'); begin if FAutoSave then inherited WriteString(Section, Ident, Values[Value]); end; |
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
Zitat:
Immerhin kann man das Ganze auch am Ende immernoch per Update in die Datei schreiben lassen. |
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
Stimmt ist mein Fehler, muss ich umbenennen.
Aber der Sinn dahinter ist ja, dass nur lesender Zugriff stattfinden darf und kein schreibender :stupid: Ausgangsfrage ist aber: wie sinnvoll ist es unnötige Writes zu blockieren, wenn die Datei am Ende doch eh nicht geschrieben wird? |
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
Zitat:
|
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
Zitat:
|
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
Zitat:
Zitat:
Delphi-Quellcode:
if {not readonly} then StoreDatatoIni(Inifile);
|
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
Zitat:
Da kann ich doch nur mit einer Gegenfrage antworten..:twisted: Wie sinnvoll ist so eine Ini dann überhaupt ? Ich geh mal davon aus, das du Programmeinstellungen speicherst. Wenn die nicht in irgendeiner Form auf der Platte landen, ärgerst du den Anwender, der jedesmal die Einstellungen neu machen darf. Oder hab ich da was verpasst ? Wenn du nur temporäre Daten in ein File speichern willst, würd ich nicht grad Inis nutzen :) |
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
@Fritz: korrekt.
@a.def: Gemeint ist, du lädst die Datei und hältst die Daten in deiner Komponente. Jedes write ändert die Daten, ohne in der Datei zu speichern. Ein Read greift dann auf die Daten im Speicher zu und erhält dann die Angaben durch das letzte Write. So könntest du die Ini-Daten praktisch temporär ändern und nutzen |
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
Zitat:
Zitat:
Ich meinem Aberglauben dachte ich nur, ich könnte so ein paar unnötige Speicheroperationen auslassen :roll: |
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
Ok...auf das Prob bin ich bisher nicht gestoßen, da ich mir via Api die enstprechenden Userverzeichnisse hole :)
Aber für den genannten Fall (oder vielleicht gibts ja durchaus noch andere Fälle wo sowas nützlich wäre), macht das schon Sinn, vor dem Write das ganze entsprechend Abzufragen, auch wenns nur in den Speicher geht. Bei enstprechenden Anwendungen (z.B. Video-Bearbeitungen), kann ja auf einem PC auch der Speicher mal eng werden. |
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
Hätte ich ehrlich gesagt nicht gedacht, dass doch noch jemand meiner Meinung ist.
Ich dachte eigentlich etwas zu lesen wie "in der heutigen Zeit mit 4-Kern-Prozessoren und 16 GB Arbeitsspeicher, braucht man auf so etwas nicht mehr zu achten" :stupid: |
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
Zitat:
|
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
Die Frage ist doch: "sinnvoll" in Bezug auf was?
Einfachen, lesbaren Code? Geschwinddigkeit? Speicherbedarf? Warum komplexeren, komplizierteren Code schreiben, wenn der sich nicht spürbar auf irgendetwas auswirkt? Aber ganz generell: Warum sollte man denn etwas in eine INI schreiben, wenn man nicht vorhat es zu speichern? Um die INI als Zwischenspeicher für Werte zu nutzen, statt Variablen oder Properties zu verwenden? Das wär schon schräg... |
AW: Unnötige Ini-Befehle vermeiden sinnvoll?
Zitat:
Deswegen dachte ich fange ich schreibende Befehle ab. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz