AGB  ·  Datenschutz  ·  Impressum  







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

Ini-Writes global abfangen?

Ein Thema von a.def · begonnen am 10. Apr 2017 · letzter Beitrag vom 12. Apr 2017
Antwort Antwort
a.def
(Gast)

n/a Beiträge
 
#1

AW: Ini-Writes global abfangen?

  Alt 10. Apr 2017, 15:38
Meine Lösung für alle die es interessiert:

Delphi-Quellcode:
unit classIni;

interface

uses
 SysUtils, IniFiles;

type
 TMemIniFile_ = class(TMemIniFile)

 private
  FAutoSave: Boolean;
 public
  constructor Create(const FileName: string; const AutoSave: Boolean = True); overload;
  constructor Create(const FileName: string; const Encoding: TEncoding; const AutoSave: Boolean = True); overload;
  destructor Destroy; override;
 end;

implementation

{TMemIniFile}

constructor TMemIniFile_.Create(const FileName: string; const Encoding: TEncoding; const AutoSave: Boolean = True);
begin
 inherited Create(FileName, Encoding);
 FAutoSave := AutoSave;
end;

constructor TMemIniFile_.Create(const FileName: string; const AutoSave: Boolean = True);
begin
 inherited Create(FileName);

 FAutoSave := AutoSave;
end;

destructor TMemIniFile_.Destroy;
begin
 if FAutoSave then
  UpdateFile;

 inherited;
end;

end.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
 IniF: TCustomIniFile;
begin
 IniF := TMemIniFile_.Create('.....', False);

 try
  IniF.WriteString('section', 'ident', 'value');
 finally
  IniF.Free;
 end;
Info zum Parameter False:
da sollte natürlich nicht einfach nur False stehen, da es nicht wirklich Sinn ergibt.
Mein Problem bestand darin, dass mein Programm keine Ini-Dateien schreiben soll, wenn es im aktuellen Verzeichnis keine Schreibrechte hat.
Das prüft mein Programm beim start und setzt ggf. eine globale Variable (eigene Unit, Record) auf False. Diese Variable übergebe ich dann als zweiten "AutoSave"-Parameter.
Wer mindestens Berlin hat, braucht das nicht.

Gefunden hier: http://www.delphipraxis.net/1352811-post18.html, von Fritzew
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:06 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 by Thomas Breitkreuz