![]() |
Ini auslesen und Checkbox auf True setzen?
Hallo,
ich habe ein Problem, wer kann mir helfe? Ich lese wie folgt einen Wert aus der .ini aus:
Delphi-Quellcode:
Wenn aber die .ini-Datei noch nicht existiert hat ProxyStatus keinen Zustand, also nicht True und nicht False, deswegen wird eine Checkbox immer leer bzw. False sein, ich will sie aber True haben. Im Objektinspektor habe ich Checked der Checkbox auf True gesetzt, beim öffnen des Programms ist sie aber immer False.
ProxyStatus := Ini.ReadBool('Default', 'ProxyStatus', True);
Weiß nicht mehr wie ich weiter komme. |
Re: Ini auslesen und Checkbox auf True setzen?
Hallo Alex,
das ist richtig. Prüf die INI-Datei mit FileExist und ansonsten abbrechen. [EDIT] Prüf nicht auf TRUE oder FALSE, das kann zu Problemen führen, schau Dir mal folgenden Seite an... ![]() Gruß Jens |
Re: Ini auslesen und Checkbox auf True setzen?
Hallo
Zitat:
Zitat:
Delphi-Quellcode:
Grüße, Matze
ProxyStatus := Ini.ReadBool('Default', 'ProxyStatus', True); // "true", wenn Ini bzw. der Eintrag nicht existiert
CheckBox1.Checked := ProxyStatus; Edit @Jens: Was? Wieso sollte ProxyStatus dann undefiniert sein? Dann wäre der Standardwert doch überflüssig. :gruebel: |
Re: Ini auslesen und Checkbox auf True setzen?
Zitat:
|
Re: Ini auslesen und Checkbox auf True setzen?
Also ich habe das so:
Delphi-Quellcode:
if FileExists(UserAppDataDir + AppDataRootDir + AppDataProjectDir + '\Config-t.ini') then
begin Ini := TIniFile.Create(UserAppDataDir + AppDataRootDir + AppDataProjectDir + '\Config-t.ini'); try ProxyStatus := Ini.ReadBool('Default', 'ProxyStatus', True); finally Ini.Free; end; |
Re: Ini auslesen und Checkbox auf True setzen?
Zitat:
Delphi-Quellcode:
vorgegeben wurde.
Ini.ReadBool('Default', 'ProxyStatus', [b]True[/b]);
[EDIT]Wenn die Datei aber noch nicht existiert, ist der Wert undefiniert, und daher eben das mit Boolean Werten Gruß Jens |
Re: Ini auslesen und Checkbox auf True setzen?
Aber du erzeugst doch die Ini mit:
Delphi-Quellcode:
Da wird die Ini doch dann angelegt, falls sie nicht existiert, und anschließend geöffnet. Das hat einen nicht existierenden Eintrag zur Folge und somit den Standardwert. Oder irre ich mich?
Ini := TIniFile.Create(...);
try // auslesen finally // ... end; Edit @Alex: Dann sorge dafür, dass "ProxyStatus" immer definiert ist, das ist generell zu empfehlen. Gib der Variablen bsp. zu Beginn den Standardwert (true). |
Re: Ini auslesen und Checkbox auf True setzen?
Zitat:
|
Re: Ini auslesen und Checkbox auf True setzen?
Ich hab schon zig mal ausprobiert, die Checkbox wird auf True gesetzt nur wenn der Eintrag in der ini nicht vorhanden ist, wenn die ini-Datei noch nicht existiert gib's keinen Zustand, ihr könnt das ruhig testen.
|
Re: Ini auslesen und Checkbox auf True setzen?
Zitat:
Entweder Standardwerte direkt ins Programm, somit kein Problem, oder INI.Create, und richtige Standardwerte deinen Quellcode integrieren. Gruß Jens |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:22 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