![]() |
Lesen von boolschen Werten aus INI-Dateien
Hi Leute!
Ich hab da ein kleines Problem - ich stell mich irgendwie zu dumm an eine INI-Datei auszulesen. Das Problem sieht aus wie folgt: ich brauche einen boolschen Wert aus der INI, weiß aber vorher nicht welcher Zustand (true oder false) in der Datei gespeichert wurde...
Delphi-Quellcode:
Bin für jede Hilfe dankbar!
procedure speichern (Thl: string; Schloss: String);
begin with TIniFile.Create(ExtractFilePath(paramstr(0))+'zustand.ini')do try writebool('Images', Thl, false); WriteBool('Images', Schloss, true); finally free; end; end; procedure laden (THL:boolean; Schloss: boolean); begin with TIniFile.Create(ExtractFilePath(paramstr(0))+'zustand.ini') do try readbool('Images', THL, {was für eine Angabe muß hier hin?}); readbool('Images', Schloss, {was für eine Angabe muß hier hin?}); finally free; end; end; |
Re: Lesen von boolschen Werten aus INI-Dateien
Mal als Bespiel
Code:
An die speziell gefragte Stelle musst Du die Standardwerte schreiben, falls der gewünschte Wert noch nicht in der Ini-Datei existiert.
procedure speichern (Thl: string; Schloss: String);
begin with TIniFile.Create(ExtractFilePath(paramstr(0))+'zustand.ini')do try writebool('Images', Thl, [color=#ff0000]FBoolThl[/color]); WriteBool('Images', Schloss, [color=#ff0000]FBoolSchloss[/color]); finally free; end; end; procedure laden (THL:boolean; Schloss: boolean); begin with TIniFile.Create(ExtractFilePath(paramstr(0))+'zustand.ini') do try [color=#ff0000]FBoolThl := [/color]readbool('Images', THL, [color=#ff0000]True[/color]); [color=#ff0000]FBoolSchloss := [/color]readbool('Images', Schloss, [color=#ff0000]False[/color]); finally free; end; end; ...:cat:... |
Das heißt in deinem Beispiel müssten FboolTHL und FBoolSchloss noch als Variabeln deklariert werden und dann entsprechend übergeben werden? (Sorry, bin heute nicht ganz arbeitsfähig, daher auch die echt dummen Fragen...)
|
Genau,
Du mußt FboolTHL und FBoolSchloss als Variabeln deklarieren, oder Du kannst die Eigenschaften, wenn möglich, direkt zuweisen. Allerdings sollten 'Images', Thl, usw. Konstanten sein. Ich mache das immer so:
Delphi-Quellcode:
Wobei FALSE, wie sakura schon erwähnte, ein Defaultwert ist.
CONST
SectionException = 'Exception'; // Sektion im Ini-File KeyBtnEmail = 'BtnEmail'; // Schlüssel im Ini-File KeyBtnEnabled = 'BtnEnabled'; // noch ein Schlüssel ... VAR INI_BTN_EMAIL : Boolean; // Var zum Speichern ... ... FUNCTION ReadExceptionIni(aIniFileName: STRING): boolean; VAR IniFile : TIniFile; BEGIN IniFile := TIniFile.Create(aIniFileName); TRY // ---------------------------- ButtonOptions --------------------------------- INI_BTN_EMAIL := IniFile.ReadBool(SectionException, KeyBtnEmail, FALSE); Button1.Enabled := IniFile.ReadBool(SectionException, KeyBtnEnabled, TRUE); // direktes zuweisen ohne Variable ... |
Ok, vielen dank für die schnelle Hilfe! Sollte wieder was auftauchen - ich weiß ja wo ich ein Forum finde... :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 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