Carregar numa variavel um valor do Registro do Windows

19/03/2006

to querendo cria uma aplicação Delphi que o cara visualiza informações sobre seu computador, tipo ele abre o programa e o programa mostra...

mas as informações tao no Registro do windows...

entao, eu queria saber como carrega um registro do windows numa variavel, pra exibir...

eu sei mudar o registro, mas resgatar valores eu nao sei, alguem teria algum exemplo??


Anovat

Respostas

20/03/2006

Paulocesar1301

Amigo
Tenta usar esse procedimento... eu o uso em uma dll, mas obviamente funciona fora também :)

// Lê valor no Registro ===============================================
Function LeDoRegistro(Chave, Sequencia: WideString; ValorPadrao: Variant): Variant; Export; StdCall;
Var Reg: TRegistry;
begin
 Try
  Reg := TRegistry.Create;
  Try
    Reg.RootKey := HKEY_CURRENT_USER;
    Reg.OpenKey(Chave, True);

    Try
      Try Result := Reg.ReadString(Sequencia); Except End;
      Try Result := Reg.ReadInteger(Sequencia); Except End;
      Try Result := Reg.ReadBool(Sequencia); Except End;
    Except
      Result := ValorPadrao;
    End;

  Finally
    Reg.Free;
  end;
 Except
   Result := ValorPadrao;
 End;
end;
// Lê valor no Registro ===============================================


Use assim:
Variavel := LeDoRegistro(´SuaChaveDeRegistro´, ´SuaSequencia´, ´SeuValorPadrao´);


Responder Citar

20/03/2006

Paulocesar1301

ATENTE PARA A LINHA:
Reg.RootKey := HKEY_CURRENT_USER;

Altere-a para a chave base que necessitar.

Abs,


Responder Citar

20/03/2006

Anovat

brigadu pela ajuda amigo...

mas tipo, eu dei uma busca aki:

eu achei esse topico ake: http://forum.clubedelphi.net/viewtopic.php?t=42747&highlight=tregistry+create

o codigo do kra é bem menor...o seu tem esses de bool, e etc...


qual a diferença do seu codigo e do otro krinha???

o dele tá errado???


Responder Citar

20/03/2006

Paullsoftware

brigadu pela ajuda amigo... mas tipo, eu dei uma busca aki: eu achei esse topico ake: http://forum.clubedelphi.net/viewtopic.php?t=42747&highlight=tregistry+create o codigo do kra é bem menor...o seu tem esses de bool, e etc... qual a diferença do seu codigo e do otro krinha??? o dele tá errado???


é que o nosso amigo [b:7712b8eeff]paulocesar1301[/b:7712b8eeff] está lhe mostrando três formas de leitura...
Ler uma chave com conteúdo String;
Try Result := Reg.ReadString(Sequencia); Except End; 

ler uma chave com o conteúdo sendo valor Inteiro
Try Result := Reg.ReadInteger(Sequencia); Except End; 

ler uma chame com valor booleano
Try Result := Reg.ReadBool(Sequencia); Except End; 

deu para enteder agora?

basicamente a linha para escrita é assim:
...
var
Reg : TRegistry;
begin
...
Reg.WriteString(´Nome da Chave´,´Valor´);
...


e para leitura assim:
...
var
Reg : TRegistry;
begin
...
Edit1.Text := Reg.ReadString(´Nome da Chave´,Edit1.Text);
...


espero que tenha entendido! :idea: :idea: :idea:


Responder Citar

20/03/2006

Paulocesar1301

Amigos... é que utilizo esse procedimento em uma dll sem me preocupar com o tipo de dado que irei retornar, por isso as três linhas

Abs
:wink:


Responder Citar