Você está aqui: Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows) |
Como gravar e ler datas e horas no registro do Windows usando DelphiQuantidade de visualizações: 13007 vezes |
|
Em algumas situações gostaríamos de gravar ou ler datas e horas (TDateTime) no registro do Windows. Para isso podemos usar os métodos WriteDate(), WriteDateTime(), WriteTime(), ReadDate(), ReadDateTime() e ReadTime(). Todos estes métodos aceitam ou retornam objetos do tipo TDateTime. Vamos começar gravando a data e hora atual em uma chave no registro do Windows ao clicar em um botão. Em seguida, no click de outro botão nós vamos recuperar a data e hora que gravamos anteriormente. Veja o código usado para gravar a data e hora atual em uma sub-chave chamada "Data e Hora":
procedure TForm3.Button4Click(Sender: TObject);
var
reg: TRegistry;
data_hora: TDateTime;
begin
// uses Registry
// vamos obter a data e hora atual
data_hora := Now;
// vamos criar uma instância da classe TRegistry
reg := TRegistry.Create;
// a chave padrão é HKEY_CURRENT_USER mas, por via das dúvidas
// vamos reafirmar isso
reg.RootKey := HKEY_CURRENT_USER;
// vamos abrir ou criar um nova chave
if reg.OpenKey('Arquivo de Códigos', True) then
begin
// vamos atualizar ou criar uma chave contendo a data
// e hora atual
reg.WriteDateTime('Data e Hora', data_hora);
reg.CloseKey; // grava a chave e a fecha
end
else
begin
ShowMessage('Não consegui abrir ou criar a chave informada');
end;
// vamos liberar o registro
reg.Free;
end;
Veja agora o código que obtém a data e hora gravada anteriormente na chave e sub-chave informadas no trecho de código anterior:
procedure TForm3.Button5Click(Sender: TObject);
var
reg: TRegistry;
data_hora: TDateTime;
begin
// uses Registry
// vamos criar uma instância da classe TRegistry
reg := TRegistry.Create;
// a chave padrão é HKEY_CURRENT_USER mas, por via das dúvidas
// vamos reafirmar isso
reg.RootKey := HKEY_CURRENT_USER;
// vamos abrir a chave criada anteriormente
if reg.OpenKey('Arquivo de Códigos', False) then
begin
// vamos obter a data e hora gravada anteriormente
try
begin
data_hora := reg.ReadDateTime('Data e Hora');
ShowMessage('A data e hora armazenada é: ' + DateTimeToStr(data_hora));
end
except
ShowMessage('A sub-chave não foi encontrada ou não ' +
'possui um valor do tipo TDateTime');
end;
reg.CloseKey; // fecha a chave
end
else
begin
ShowMessage('Não consegui abrir a chave informada');
end;
// vamos liberar o registro
reg.Free;
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




