Ir para conteúdo
Fórum Script Brasil
  • 0

Variável Tipo: Tregistry


McBlade

Pergunta

Salve galera!!

Eu estou precisando gravar um valor no Registro no qual ele espera que seja do tipo REG_DWORD.

Pegar esse valor eu consegui, mas não consigo gravar com o meu valor.

Tipo eu estou querendo gravar uma cor nele! No caso a DWORD seria Hexadecimal. Mas quando eu tento gravar com WriteString(); dá pau.

alguém sabe como eu devo fazer??

Uma amostra do jeito que eu to fazendo:

Registro.WriteString('Background Color',IntToHex(StringToColor('clRed'),8));

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

O valor IntToHex já me retorna uma String Kiko!!

O problema é que ela vai pro registro como REG_SZ (String) e eu preciso de dizer pra variável gravar como REG_DWORD (Hexadecimal).

Tem um comando WriteToBinaryData mas não sei usar por causa dos 'buffer'.

Delphi syntax:

procedure WriteBinaryData(const Name: String; var Buffer; BufSize: Integer);

Link para o comentário
Compartilhar em outros sites

  • 0

pra escrever valores DWORD se usa WriteInteger

exemplo pra gravar o valor da cor no registro como Dword

var

reg: TRegistry;

begin

reg := TRegistry.Create;

reg.RootKey := HKEY_CURRENT_USER;

reg.OpenKey('Software\Churc\Teste',true);

reg.WriteInteger('Vermelho',StringToColor('clRed'));

reg.CloseKey;

reg.Free;

end;

agora exemplo de como puxar...

var

reg: TRegistry;

begin

reg := TRegistry.Create;

reg.RootKey := HKEY_CURRENT_USER;

reg.OpenKey('Software\Churc\Teste',true);

Form1.Color := reg.ReadInteger('Vermelho');

reg.CloseKey;

reg.Free;

end;

espero ter ajudado

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Como salvar os dados de uma chave num arquivo .reg??

Estou tentando usar SaveKey() mas ela só retorna false...

O que está errado???

procedure TFrmMain.Button1Click(Sender: TObject);
var
  Registro: TRegistry;
begin
  Registro := TRegistry.Create;
  try
    Registro.RootKey := HKEY_CURRENT_USER;
    Registro.OpenKey('Software\Teste',false);
    if Registro.SaveKey('Software\Teste','C:\Backup.reg') then
    begin
      ShowMessage('O backup foi realizado:'+#13+' o programa vai adicionar os novos valores no registro!!');
      Registro.WriteInteger('Cor',StringToColor('clRed'));
    end;
  finally
    Registro.CloseKey;
    Registro.Free;
  end;
end;

Link para o comentário
Compartilhar em outros sites

  • 0

olha eu tentei aqui também não consegui...

tava dando uma olhada no site da borland, e vários tiveram este problema, e não conseguiram, dizem por causa do acesso ao registro, os privilégios não são suficientes, e parece que só funciona no win9x

o que você pode fazer é uma procedure que cria o arquivo, tipo uma engine, que enumera todas as chaves e vai gerando os valores numa string list, com o mesmo formato de um arquivo .reg e depois da um savetofile e salva como arquivo.reg

abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...