|
| Skriv/Læs til Registreringsdatabasen Fra : Torsten Menzel |
Dato : 17-01-01 14:01 |
|
Emne: Problemer med "Brug REG.DB" Artikel
Jeg har lavet et lille program hvor man kan indstille nogle
forskellige ting. Disse indstillinger vil jeg så lægge i
registreringsdatabasen og hente næste gang programmet starter. Jeg har fået
følgende kode, men problemet er bare at den ikke kan bruges under w2k. Jeg
har så prøvet at skifte ud med HKEY_CURRENT_USER, her kunne jeg godt skrive
men ikke læse.
Kan du hjælpe mig med mit lille problem??
Her er koden til gem/hent
----------------------------------------------------------------
-------------------------------
procedure TForm1.GemButtonClick(Sender: TObject);
var
Registry: TRegistry;
begin
Registry:=TRegistry.Create;
Registry.RootKey:=HKEY_LOCAL_MACHINE;
If Registry.OpenKey('Test',True) then
begin
Registry.WriteString('EditFelt', Edit1.Text);
Registry.WriteBool('CheckBox', CheckBox1.Checked);
Registry.Free;
end;
end;
----------------------------------------------------------------
------------------------------------
procedure TForm1.HentButtonClick(Sender: TObject);
var
Registry: TRegistry;
begin
Registry:=TRegistry.Create;
Registry.RootKey:=HKEY_LOCAL_MACHINE;
If Registry.OpenKey('Test',True) then
Edit1.Text := Registry.ReadString('EditFelt');
CheckBox1.Checked := Registry.ReadBool('CheckBox');
Registry.Free;
end;
| |
gusse (17-01-2001)
| Kommentar Fra : gusse |
Dato : 17-01-01 17:46 |
|
AppAutoStart('MitProgram',True); //Autostart sat til
AppAutoStart('MitProgram',false); //Autostart sat fra
if ReadAppAutoStart('InfoExpress') then
ShowMessage('Der er autostart på') else
ShowMessage('Der er ikke autostart på');
Procedure AppAutoStart(Name: String; AutoStart: Boolean);
begin
with TRegistry.Create do begin
try
try
RootKey := HKEY_CURRENT_USER;
OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', true);
if AutoStart then
WriteString(Name, Application.ExeName + #0) else
if ValueExists(Name) then
DeleteValue(Name);
finally
Free;
end;
except
on E:Exception do begin
Windows.Beep(500, 100);
end;
end;
end; // with TRegistry.Create do begin
End;
Function ReadAppAutoStart(Name: String): Boolean;
begin
with TRegistry.Create do
try
RootKey := HKEY_CURRENT_USER;
OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', true);
Result:=ReadString(Name)<>'';
finally
Free;
end;
end;
"Torsten Menzel" <tbm@menzel.dk> wrote in message
news:9444v2$etq$1@news.inet.tele.dk...
> Emne: Problemer med "Brug REG.DB" Artikel
>
>
> Jeg har lavet et lille program hvor man kan indstille nogle
> forskellige ting. Disse indstillinger vil jeg så lægge i
> registreringsdatabasen og hente næste gang programmet starter. Jeg har
fået
> følgende kode, men problemet er bare at den ikke kan bruges under w2k. Jeg
> har så prøvet at skifte ud med HKEY_CURRENT_USER, her kunne jeg godt
skrive
> men ikke læse.
>
> Kan du hjælpe mig med mit lille problem??
>
> Her er koden til gem/hent
> --------------------------------------------------------------
--
> -------------------------------
> procedure TForm1.GemButtonClick(Sender: TObject);
> var
> Registry: TRegistry;
> begin
> Registry:=TRegistry.Create;
> Registry.RootKey:=HKEY_LOCAL_MACHINE;
> If Registry.OpenKey('Test',True) then
> begin
> Registry.WriteString('EditFelt', Edit1.Text);
> Registry.WriteBool('CheckBox', CheckBox1.Checked);
> Registry.Free;
> end;
> end;
>
> --------------------------------------------------------------
--
> ------------------------------------
>
>
> procedure TForm1.HentButtonClick(Sender: TObject);
> var
> Registry: TRegistry;
> begin
> Registry:=TRegistry.Create;
> Registry.RootKey:=HKEY_LOCAL_MACHINE;
> If Registry.OpenKey('Test',True) then
> Edit1.Text := Registry.ReadString('EditFelt');
> CheckBox1.Checked := Registry.ReadBool('CheckBox');
> Registry.Free;
> end;
>
>
>
>
>
| |
|
|