Avaliação do Usuário

Estrela inativaEstrela inativaEstrela inativaEstrela inativaEstrela inativa
 

 

Uma coisa que pode ser muito útil em vários tipos de projetos é poder guardar algum tipo de informação no registro do Windows. Pode ser uma configuração do software, algum caminho para acesso à arquivos ou até mesmo dados sobre o usuário ou computador.

Os exemplos apresentados gravam sobre a chave primária HKEY_CURRENT_USER, por questões de comodidade e segurança.

Para isso basta usar os seguintes procedimentos/funções:

 

 

{code}

procedure gravarRegistro(chave : String; variavel: String; valor : String);
var Reg : TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey(chave,True);
Reg.WriteString(variavel,valor);
finally
Reg.CloseKey;
Reg.Free;
end;
end;

{/code}

 

Com o exemplo acima passamos três parâmetros, chave é a folha da árvore do registro onde os dados serão guardados, variável é o nome da variável onde será guardado o valor.

 

Em Reg.OpenKey(chave,True) passamos o parâmetro TRUE para que caso a chave não exista ela seja criada.

 

Agora para ler um valor previamente armazenado:

 

 

 

{code}
function lerRegistro(chave : String; variavel : String) : String;
var Reg : TRegistry;

retorno : String;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey(chave,False);
retorno := Reg.ReadString(variavel));
finally
Reg.CloseKey;
Reg.Free;
end;

return retorno;
end;

{/code}

 

Para Reg.OpenKey(chave,False) passamos o parâmetro FALSE para que caso a chave não exista não seja retornado nada e nem seja criada.