Buscar

Utilizando o registro do Windows

Código

unit Exemplo;
interface
uses SysUtils, WinTypes, WinProcs, Messages, Dialogs, Forms,Controls, Classes, StdCtrls, Registry;
type
// conjunto de tipos de valores
TKeyType = (ktString, ktBoolean, ktInteger, ktCurrency, ktDate, ktTime);
// função exemplo
Function ReadAppKey(const Key: String; KeyType: TKeyType; DefValue: Variant): Variant;
Procedure WriteAppKey(const Key: String; const Value: Variant; KeyType: TKeyType);
implementation
Function ReadAppKey(const Key: String; KeyType: TKeyType; DefValue: Variant): Variant;
var r: TRegistry;
begin
// cria o objeto TRegistry
r := TRegistry.Create;
// conecta ao root diferente do padrão
r.RootKey := HKEY_LOCAL_MACHINE;
try
// abre a chave (no root selecionado)
// o segundo parâmetro True, indica que se a chave não existir, a operação de abertura poderá criá-la.
r.OpenKey('Software' + Application.Title, True);
Result := DefValue;
// testa se existe o valor que se deseja ler.
// note que, para verificar a existência de chaves, utilizados KeyExists([chave]) e para verificar a existência de conjunto de //chaves de uma chave, utilizamos ValueExists([valor])
if r.ValueExists(Key) then
begin
case KeyType of
// lê o valor da chave em formato String
ktString: Result := r.ReadString(Key);
// lê o valor da chave em formato Boolean
ktBoolean: Result := r.ReadBool(Key);
// lê o valor da chave em formato Integer
ktInteger: Result := r.ReadInteger(Key);
// lê o valor da chave em formato Currency (moeda)
ktCurrency: Result := r.ReadCurrency(Key);
// lê o valor da chave em formato TDateTime (data)
ktDate: Result := r.ReadDate(Key);
// lê o valor da chave em formato TDateTime (hora)
ktTime: Result := r.ReadTime(Key);
end;
end;
finally
// destroy o objeto criado
r.Free;
end;
end;
Procedure WriteAppKey(const Key: String; const Value: Variant; KeyType: TKeyType);
var r: TRegistry;
begin
// cria o objeto TRegistry
r := TRegistry.Create;
// conecta ao root diferente do padrão
r.RootKey := HKEY_LOCAL_MACHINE;
try
// abre a chave (no root selecionado)
r.OpenKey('Software' + Application.Title, True);
case KeyType of
// grava o valor da chave em formato String
ktString: r.WriteString(Key, Value);
// grava o valor da chave em formato Boolean
ktBoolean: r.WriteBool(Key, Value);
// grava o valor da chave em formato Integer
ktInteger: r.WriteInteger(Key, Value);
// grava o valor da chave em formato Currency (moeda)
ktCurrency: r.WriteCurrency(Key, Value);
// grava o valor da chave em formato TDateTime (Data)
ktDate: r.WriteDate(Key, Value);
// grava o valor da chave em formato TDateTime (Hora)
ktTime: r.WriteTime(Key, Value);
end;
finally
r.Free;
end;
end;
end.


   

Publicidade

Vote na dica




Quantidade de votos: 1 voto
Aceitação: 20%


Detalhes da dica

Categoria: Windows
Adicionada dia: 16/06/09
Por: Denilson De Andrade
Visualizada: 6331 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009