Thema: Delphi Registry Problem

Einzelnen Beitrag anzeigen

dazar_t

Registriert seit: 1. Dez 2007
Ort: NRW
118 Beiträge
 
Delphi 2007 Professional
 
#1

Registry Problem

  Alt 4. Dez 2007, 15:17
Guten Tag..

Ich wollte mir einen kleinen wecker proggen, doch hab ich ein problem...
Wenn ich die Check-box einmal anklicke geht es doch wen ich sie dan wieder anklicke also unchecke kommt bei meinem Code immer eine Fehlermeldung :Fehler beim Setzten der Daten für 'Wecker'
Ich arbeite zum ersten mal mit der Registry und kan mir leider nicht weiter helfen.
Ich wollte nämlich das wenn man die CheckBox klickt der wert (1-0,an-aus)gespeichert wird und beim start des Programmes entweder die CheckBox checked ist oder ebend leer.

Hier der Code
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Registry;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    CheckBox1: TCheckBox;
    Label1: TLabel;
    OpenDialog1: TOpenDialog;
    Edit1: TEdit;
    Button1: TButton;
    Label2: TLabel;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
  private
    {Private-Deklarationen }
  public

  end;

var
  Form1: TForm1;
  Reg : TRegistry;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
sound: String;
begin
OpenDialog1.Execute;
sound := opendialog1.FileName;
Edit1.Text := sound;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('Software\DaZaRt', True);
Label2.Enabled:=False;
Button1.Enabled:=False;
Button2.Enabled:=False;
Edit1.Enabled:=False;
end;



procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
  begin
    Label2.Enabled:=True;
    Button1.Enabled:=True;
    Button2.Enabled:=True;
    Edit1.Enabled:=True;
    try
      Reg.WriteString('Wecker','1');
    finally
      Reg.Free;
    end;
  end
else
  begin
    Label2.Enabled:=False;
    Button1.Enabled:=False;
    Button2.Enabled:=False;
    Edit1.Enabled:=False;
    try
       Reg.WriteString('Wecker','0');
    finally
      Reg.Free;
    end;
  end;
end;

end.
Daniel
  Mit Zitat antworten Zitat