Avatar billede snowball Novice
26. april 2000 - 21:15 Der er 6 kommentarer og
1 løsning

Udtræk fra Win9x Reg.DB (HASTER!)

Hvordan er det lige man læser en værdi i Win9x Reg.DB'en ???

Det haster en del, so please be quick ;)

Snowball
Avatar billede theill Nybegynder
26. april 2000 - 21:17 #1
var
  reg: TRegistry;
  i: Integer;

begin
 
  reg := TRegistry.Create();
  reg.Root := HKEY_CURRENT_USER;
  reg.OpenKey("\Software\BlablaWare\MyGoldenSoft");
  i := reg.ReadInteger("width");

end;
Avatar billede theill Nybegynder
26. april 2000 - 21:20 #2
Lidt mere fyldigt:

var
  Registry: TRegistry;

begin

  // read application settings from registry
  Registry := TRegistry.Create;
  try
    Registry.Rootkey := HKEY_CURRENT_USER;

    if (Registry.OpenKey(APP_REGPATH, False)) then begin

      if (Registry.ValueExists('sample')) then
        m_sample := Registry.ReadString('sample');

      if ( Registry.ValueExists('tray') ) then
        bStartMin := Registry.ReadBool('tray');

      if (Registry.ValueExists('x')) then
        x := Registry.ReadInteger('x');

      if (Registry.ValueExists('y')) then
        y := Registry.ReadInteger('y');

      if (Registry.ValueExists('width')) then
        width := Registry.ReadInteger('width');

      if (Registry.ValueExists('height')) then
        height := Registry.ReadInteger('height');

      Registry.CloseKey;
    end;

  finally
    Registry.Free;
  end;


end
Avatar billede snowball Novice
26. april 2000 - 21:29 #3
Det med at checke om dit og dat findes er slet ikke nødvendigt i mit tilfælde, for den key som jeg skal læse findes altid, for det er HKEY_LOCAL_MACHINE\Network\Logon og key'en "username" jeg skal læse !!!

Så det er egentlig ikke en værdi, men en streng jeg skal læse, sorry ;)

Snowball
Avatar billede theill Nybegynder
26. april 2000 - 21:35 #4
Men det fungere jo paa praecis samme maade:

  Registry := TRegistry.Create;
  try
    Registry.Rootkey := HKEY_LOCAL_MACHINE;
    if (Registry.OpenKey("\Network\Logon")) Then
    begin
      username := Registry.ReadString("username");

    end;

  finally
    Registry.Free;
  end;
Avatar billede snowball Novice
26. april 2000 - 21:48 #5
Din kode skulle lige rettes lidt til, men nu virker det ;)

var
  reg: TRegistry;
  y: Integer;
  s: String;

begin
reg := TRegistry.Create;
  try
    reg.Rootkey := HKEY_LOCAL_MACHINE;
    if reg.OpenKey('\SYSTEM\ControlSet001\Control\ComputerName\ComputerName', True) Then
    //    if reg.OpenKey('\Network\Logon', True) Then
    begin
      s := reg.ReadString('ComputerName');
    end;
  finally
    reg.Free;
  end;
end;

Tak for hjælpen !

Snowball
Avatar billede snowball Novice
26. april 2000 - 21:49 #6
Hov, der er lige lidt der ikke skal være der, men skidt pyt med det ;)

Du får i hvert fald dine point som tak for hjælpen ;)

Snowball
Avatar billede theill Nybegynder
26. april 2000 - 22:05 #7
Tak!

Det er vist for mange timer siden, jeg har programmet Pascal :o)
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