Avatar billede neo2k Nybegynder
10. oktober 2003 - 13:08 Der er 14 kommentarer og
1 løsning

Skrive i registreringsdatabasen

Hvordan skriver man data i registreringsdatabasen???
Jeg har lavet følgende kode, hvad gør jeg forkert???
JEg skal bruge programmet til min lærer på skolen, der er træt af han ikke kan låse registreringsdatabasen op igen, så jeg har lovet og lave et program til det.

var MainReg: TReginiFile;
  MainReg := TReginiFile.Create;
  MainReg.RootKey := HKEY_CURRENT_USER;
  MainReg.CreateKey('\Software\Microsoft\Windows\CurrentVersion\Policies\');
  MainReg.WriteString('System','','TEST');
  MainReg.Free;

På forhånd tak
Avatar billede Slettet bruger
10. oktober 2003 - 13:13 #1
Prøv det her:

uses Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
  MainReg: TRegistry;
begin
  MainReg := TRegistry.Create;
  MainReg.RootKey := HKEY_CURRENT_USER;
  MainReg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\',True);
  MainReg.WriteString('System','TEST');
  MainReg.Free;
end;
Avatar billede Slettet bruger
10. oktober 2003 - 13:15 #2
Eller sådan:

uses Registry;

procedure TForm1.Button1Click(Sender: TObject);
begin
  with TRegistry.Create do
  begin
    RootKey := HKEY_CURRENT_USER;
    OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\',True);
    WriteString('System','TEST');
    Free;
  end;
end;
Avatar billede neo2k Nybegynder
10. oktober 2003 - 13:21 #3
Du mener
MainReg := TRginiFile.Create;
ikke???
Avatar billede neo2k Nybegynder
10. oktober 2003 - 13:21 #4
TReginiFile.create;
Avatar billede neo2k Nybegynder
10. oktober 2003 - 13:22 #5
MainReg.WriteString('System','TEST');
[Error] Not enough actual parameters
Avatar billede Slettet bruger
10. oktober 2003 - 13:22 #6
Nej det høves du ik at gøre.. det jeg har skrevet burde virke.
Avatar billede Slettet bruger
10. oktober 2003 - 13:23 #7
Det er fordi du bruger TReginiFile
Avatar billede neo2k Nybegynder
10. oktober 2003 - 13:24 #8
Ohhh, min fejl, fornemt, tak
Avatar billede neo2k Nybegynder
10. oktober 2003 - 13:24 #9
JEg havde bare sat variablen til TReginifile, ikke TRegistry
Også brokkede den sig
Avatar billede athlon-pascal Juniormester
10. oktober 2003 - 13:26 #10
Eller sådan (ikke testet:

uses Registry;

procedure TForm1.Button1Click(Sender: TObject);
begin
  with TRegistry.Create do
  try
    RootKey := HKEY_CURRENT_USER;
    OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\',True);
    WriteString('System','TEST');
  finally  // Vi sikrer os, at den bliver free'et...
    Free;
  end;
end
Avatar billede Slettet bruger
10. oktober 2003 - 13:26 #11
Hvis du vil gøre det med TRegIniFile kan du gøre sådan:

uses Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
R:TRegIniFile;
begin
with TRegIniFile.Create do
R := TRegIniFile.Create;
R.RootKey := HKEY_CURRENT_USER;
R.WriteString('\Software\Microsoft\Windows\CurrentVersion\Policies\','System', 'TEST');
R.Free;
end;
Avatar billede athlon-pascal Juniormester
10. oktober 2003 - 13:28 #12
Hejhej -> Er du sikker på det?
  with TRegIniFile.Create do
  R := TRegIniFile.Create;
Det ser lidt underligt ud...
Avatar billede Slettet bruger
10. oktober 2003 - 13:28 #13
Og med try/finally:

  with TRegIniFile.Create do
  try
    RootKey := HKEY_CURRENT_USER;
    WriteString('\Software\Microsoft\Windows\CurrentVersion\Policies\','System', 'TEST');
  finally
    Free;
  end;

:-)
Avatar billede Slettet bruger
10. oktober 2003 - 13:30 #14
Athlon-pascal -> Så skulle den se rigtig ud :-)
Avatar billede athlon-pascal Juniormester
10. oktober 2003 - 13:31 #15
Jeg vil anbefale at du bruger TRegisty, da TRegIniFile mig bekendt kun findes med det formål, at gøre det nemmere for folk at konvertere gamle Delphi-programmer, der bruger TIniFile, til at bruger registreringsdatabasen på en nem måde...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester