![]() |
Problem mit Ini.ReadBool(string,string,boolean)
Hallo Allerseits.
Ich versuche aus einer Ini-Datei folgenden Wert auszulesen: [Editor] DirToDisk=false;
Delphi-Quellcode:
Leider ist das Ergebnis nicht das, was ich erwarte. Ich habe aber keinen Hinweis darauf gefunden, was für den dritten Parameter einzugeben ist.
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; CheckBox1: TCheckBox; Button2: TButton; CheckBox2: TCheckBox; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation uses IniFiles; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var ini : TIniFile; b,c : boolean; begin ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'Test.Ini'); try CheckBox1.Checked := Ini.ReadBool('Editor', 'DirToDisk', true); finally ini.Free; end; end; procedure TForm1.Button2Click(Sender: TObject); var ini : TIniFile; b,c : boolean; begin ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'Test.Ini'); try CheckBox1.Checked := Ini.ReadBool('Editor', 'DirToUSB', true); finally ini.Free; end; end; end. Wer kann mir da auf die Sprünge helfen? Danke im Voraus. Jürgen |
Re: Problem mit Ini.ReadBool(string,string,boolean)
Der 3. Paramter ist der Default-Wert, alos der wert der zurückgeliefert wird, wenn der Wert in der Ini nicht existiert
|
Re: Problem mit Ini.ReadBool(string,string,boolean)
Zitat:
[edit] Achya, es darf kein Semikolon am Ende eines Ini-Wertes stehen, außer es gehört zum Wert selbst. [/edit] |
Re: Problem mit Ini.ReadBool(string,string,boolean)
Zitat:
Zitat:
Zum Thema, es ging eigentlich um die Methode ![]() ...:cat:... |
Re: Problem mit Ini.ReadBool(string,string,boolean)
Zitat:
Zitat:
Zitat:
(Ach Moment mal, ReadBool prüft auf <> 0 und nicht auf das Wort false, also geht es so gar nicht ...) |
Re: Problem mit Ini.ReadBool(string,string,boolean)
Und um solche Fehler zu vermeiden, sollte man Ini-Dateien auch nur von Hand bearbeiten, wenn man weiss was man tut. Ich lass es deswegen immer meine Programme machen :lol:
Sherlock |
Re: Problem mit Ini.ReadBool(string,string,boolean)
@ Deep-Sea
Mein F1-Taste klemmt definitiv nicht und ich habe schon ca. eine Stunde rumprobiert, bevor ich mich an Euch gewandt habe. Das Semikolon war ein Tippfehler in meinem Post - in der Ini-Datei ist kein Semikolon. Inzwischen habe ich auch festgestellt, dass nicht 'true' oder 'false' eingegeben werden muss, sondern '0' oder '1' - und dann klappt's auch. Und das bringt - zumindest bei mir - auch die F1-Taste nicht ans Licht. @ Sakura Vielen Dank für den Tip mit ValueExists @ Sherlock Ich bin ja gerade dabei, mir das anzueignen, was ich brauche um künftig ini-Dateien von Hand bearbeiten zu können. Gruß Jürgen |
Re: Problem mit Ini.ReadBool(string,string,boolean)
Die ganze Sache sollte wohl eher so aussehen...
Delphi-Quellcode:
Hier mal noch ein Tutorial für dich
var
Form1: TForm1; Ini : TIniFile; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Test.Ini'); end; procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin Ini.Free; end; procedure TForm1.SaveClick(Sender: TObject); begin Ini.WriteBool('Editor', 'DirToUSB', CheckBox.Checked); end; procedure TForm1.LoadClick(Sender: TObject); begin CheckBox.Checked:=Ini.ReadBool('Editor', 'DirToUSB', True); end; end. ![]() |
Re: Problem mit Ini.ReadBool(string,string,boolean)
Zitat:
@Deep-Sea: Ich persönlich finde einen solchen Umgang nicht gerade respektvoll (Wortwahl [hier wenig] und Art-und-Weise etwas zu vermitteln [hier um so mehr]). ...:cat:... |
Re: Problem mit Ini.ReadBool(string,string,boolean)
Zitat:
magst du recht haben. :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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-2025 by Thomas Breitkreuz