Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#27

AW: TMemIniFile: Vorteile, Nachteile, Einschränkungen

  Alt 2. Jun 2024, 01:58
Datei bei Windows Shutdown speichern:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    procedure WMQueryEndSession(var Msg: TWMQueryEndSession); message WM_QUERYENDSESSION;
  end;

procedure TForm1.WMQueryEndSession(var Msg: TWMQueryEndSession);
begin
  // TMemIniFile Daten speichern

  // Windows erlauben, herunterzufahren
  Msg.Result := 1;
end;
Ich speichere am Anfang und am Ende meines MemIni-Files einen Wert. Beispiel ausgabe 14 von meinem MemIniFile:
[BOF]
ausgabe=14
..... Daten ....
[EOF]
ausgabe=14

Öffnen des MemIniFiles D: Ich überprüfe unter BOF und EOF je den Wert ausgabe. Wenn OK, dann vergleiche ich den Wert von "ausgabe" mit dem Wert im aktuellsten Backupfile B. Ich nehme die neuere Version von beiden; i.a. also D (wenn D, dann erstelle ich davon ein neues Backup B).
Schreiben des MemIniFiles: Ich entferne BOF und EOF, lese via GetStrings die Daten des MemIniFiles in eine TStringList h, setze an den Anfang von h [BOF] ausgabe=... und am Ende von h [EOF] ausgabe=..., inkrementiere dabei "ausgabe", schreibe h via SetStrings zurück und speichere D ab.

D.h. erstelle
TMeinMemIniFile = class(TMemIniFile) und passe mindestens
constructor und destructor entsprechend an.
AutoSave
UpdateFile
Michael Gasser

Geändert von Michael II ( 2. Jun 2024 um 02:01 Uhr)
  Mit Zitat antworten Zitat