Einzelnen Beitrag anzeigen

Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#4

Re: Laden aus INI ini.ReadBool

  Alt 7. Feb 2006, 00:55
Zitat von Knotti2005:
Warum geht das nicht? Speichern geht...

Speichern
Delphi-Quellcode:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
var
   s: boolean;
begin
    if form1.CheckBox1.Checked = true then
    s:= true
    else
    s:= false;
    ini.WriteBool('TAPI','Aktiviert',s);
    ini.Free;
end;
Laden
Delphi-Quellcode:
var
   a: boolean;
begin
  ini.ReadBool('TAPI','Aktiviert',a);
    ini.Free;
   if a = true then
   begin
   form2.TapiLine1.DeviceName:=Combobox1.Text;
   form1.CheckBox1.enabled:=true;
   form1.CheckBox1.checked:=true;
   form1.ComboBox1.Enabled:= false;
   end
   else
   begin
   form1.CheckBox1.Enabled:=falsE;
   form1.CheckBox1.checked:=false;
   form1.ComboBox1.Enabled:=true;
   end;
Leider wird die Checkbox1 nicht aktiviert und auch nicht der Hacken gesetzt...
besser so:

speichern:

Delphi-Quellcode:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    // wo wird hier egtl. die INI erstellt?
    ini.WriteBool('TAPI','Aktiviert', Form1.Checkbox1.Checked);
    ini.Free;
end;
laden:

Delphi-Quellcode:
var
   a: boolean;
begin
  // wo wird hier die INI erstellt? oder bleibt die das ganze programm über offen?
  // besser wäre die INI neu zu öffnen: INI := TIniFile.Create(fSettingsFilename);
  // verziert mit einem try..except block wäre natürlich nochmal schöner.
  a := ini.ReadBool('TAPI','Aktiviert', False); // False wird hier als Standardwert verwendet, falls der Wert 'TAPI'/'AKTIVIERT' nicht vorhanden ist.
  ini.Free;

  form2.TapiLine1.DeviceName := Combobox1.Text; // was soll das hier?
  form1.CheckBox1.Enabled := a;
  form1.CheckBox1.Checked := a; // wozu checken, wenn sie nicht enabled ist?
  form1.ComboBox1.Enabled := not a;
was dir luckie im grunde sagen will ist, dass ReadBool eine Funktion ist, die einen Wert (den gelesenen Boolean Wert) zurückgibt. Diesen Wert sollst du für deine Einstellungen verwenden, nicht den Standardwert (s. Kommentar oben).
  Mit Zitat antworten Zitat