AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Ini auslesen und Checkbox auf True setzen?

Ein Thema von AlexII · begonnen am 3. Jan 2010 · letzter Beitrag vom 4. Jan 2010
Antwort Antwort
Seite 2 von 3     12 3   
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Ini auslesen und Checkbox auf True setzen?

  Alt 3. Jan 2010, 19:45
Hast du denn ProxyStatus der Checkbox zugewiesen.
Blackheart
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#12

Re: Ini auslesen und Checkbox auf True setzen?

  Alt 3. Jan 2010, 19:48
Zitat von Blackheart:
Hast du denn ProxyStatus der Checkbox zugewiesen.
Ja sicher
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#13

Re: Ini auslesen und Checkbox auf True setzen?

  Alt 3. Jan 2010, 19:52
Ich sehe gerade bei mir ist der Code falsch:

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;
Hier wird die die ini erstellt nur dann wenn sie schon vorhanden ist, wenn sie nicht vorhanden ist - geschieht nix. Hm....

Muss das vllt so heißen??

Delphi-Quellcode:
if FileExists(UserAppDataDir + AppDataRootDir + AppDataProjectDir + '\Config-t.ini') then
begin
  try
    ProxyStatus := Ini.ReadBool('Default', 'ProxyStatus', True);
  finally
    Ini.Free;
end else Ini := TIniFile.Create(UserAppDataDir + AppDataRootDir + AppDataProjectDir + '\Config-t.ini');
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Ini auslesen und Checkbox auf True setzen?

  Alt 3. Jan 2010, 19:54
Es reicht das zu schreiben:

Ini := TIniFile.Create(UserAppDataDir + AppDataRootDir + AppDataProjectDir + '\Config-t.ini'); Wenn sie nicht existiert, wird sie angelegt, sonst geöffnet.
Dein Code funktioniert so auch nicht, da du die Ini nirgendwo öffnest, wenn sie bereits existiert.

Und unterlasse bitte die Doppelposts.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#15

Re: Ini auslesen und Checkbox auf True setzen?

  Alt 3. Jan 2010, 19:55
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  INi : TIniFile;
  ProxyStatus : Boolean;
begin
if FileExists('.\Config-t.ini') then
begin
Ini := TIniFile.Create('.\Config-t.ini');
  try
    ProxyStatus := Ini.ReadBool('Default', 'ProxyStatus', True);
  finally
    Ini.Free;
    CheckBox1.Checked := ProxyStatus;
end;
Also, so funktinoert es bei mir wunderbar.

Und so wäre ja auch möglich...

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  INi : TIniFile;
begin
if FileExists('.\Config-t.ini') then //Abbruch, wenn INI nicht existiert. Hierbei muss die CheckBox im OI gesetzt sein
begin
  Ini := TIniFile.Create('.\Config-t.ini');
    try
      CheckBox1.Checked := Ini.ReadBool('Default', 'ProxyStatus', True);
    finally
      Ini.Free;
end;
Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#16

Re: Ini auslesen und Checkbox auf True setzen?

  Alt 3. Jan 2010, 19:57
Zitat von Matze:
Es reicht das zu schreiben:

Ini := TIniFile.Create(UserAppDataDir + AppDataRootDir + AppDataProjectDir + '\Config-t.ini'); Wenn sie nicht existiert, wird sie angelegt, sonst geöffnet.
Dein Code funktioniert so auch nicht, da du die Ini nirgendwo öffnest, wenn sie bereits existiert.
Ja und wo schreibe ich das rein? Jetzt bin ich ganz durcheinander
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Ini auslesen und Checkbox auf True setzen?

  Alt 3. Jan 2010, 19:59
Habe ich einen Denkfehler oder wieso macht ihr das so kompliziert?

Reicht nicht das hier, ganz simpel:

Delphi-Quellcode:
Ini := TIniFile.Create(UserAppDataDir + AppDataRootDir + AppDataProjectDir + '\Config-t.ini');
try
  ProxyStatus := Ini.ReadBool('Default', 'ProxyStatus', True);
finally
  Ini.Free;
end;
Wenn die Ini-Datei nicht existiert, wird eine leere Ini angelegt (eine leere Ini-Datei wird meines Wissens auch nicht auf der Festplatte gespeichert). Dann ist kein Eintrag vorhanden und "ProxyStatus" erhält den Standardwert "true". Existiert die Ini-Datei, wird sie geöffnet. Dann erhält "ProxyStatus" den Wert, der in der Ini steht, falls der entsprechende Eintrag vorhanden ist. Andernfalls auch den Standardwert "true".
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#18

Re: Ini auslesen und Checkbox auf True setzen?

  Alt 3. Jan 2010, 20:05
Wow.... das ist es Thx... jetzt klappt das.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#19

Re: Ini auslesen und Checkbox auf True setzen?

  Alt 4. Jan 2010, 00:14
Zitat von Matze:
Wenn die Ini-Datei nicht existiert, wird eine leere Ini angelegt (eine leere Ini-Datei wird meines Wissens auch nicht auf der Festplatte gespeichert). Dann ist kein Eintrag vorhanden und "ProxyStatus" erhält den Standardwert "true". Existiert die Ini-Datei, wird sie geöffnet. Dann erhält "ProxyStatus" den Wert, der in der Ini steht, falls der entsprechende Eintrag vorhanden ist. Andernfalls auch den Standardwert "true".
äh .... mit
TIniFile.Create( 'meine.ini' ); wird keine ini-Datei erzeugt, sondern nur eine Instanz der Klasse TIniFile (auch wenn es sich so lesen mag).

Existiert die Datei nicht, wird bei jedem Lesen halt einfach der Default-Wert zurückgegeben.

Erst wenn ich in die instanz etwas schreibe
WriteBool( 'Section', 'Ident', 'Value' ); und genau erst dann wird die Datei auch angelegt.

Wäre ja auch blöd ... ich will nur was lesen und produziere aber evtl. einen Schreibzugriff,
und dass dann mit niedrigen Rechten in einem geschützten Verzeichnis ...
das rummst dann wie an silvester
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#20

Re: Ini auslesen und Checkbox auf True setzen?

  Alt 4. Jan 2010, 07:27
Zitat von Sir Rufo:
äh .... mit
TIniFile.Create( 'meine.ini' ); wird keine ini-Datei erzeugt, sondern nur eine Instanz der Klasse TIniFile (auch wenn es sich so lesen mag).
Ah korrekt. Da habe ich etwas durcheinander gebracht. Gespeichert wird erst mit den Write-Funktionen, vollkommen richtig.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz