Altminer
Pular para o conteúdo principal
BitFun - Play and Earn free Bitcoin
Bitcoin Group on Telegram Bitcoin News on Telegram Youtube Group on Telegram Litecoin Mining Bot on Telegram Bitcoin Mining Bot on Telegram Ethereum
 Mining Bot on Telegram Monero Mining Bot on Telegram

Registro do Windows - Acesso e Manipulação

Registro do Windows - Acesso e Manipulação

Cada vez mais os sistemas precisam de informações de configuração e opções (como senhas, posições de impressão, etc) que precisam ser gravadas em algum lugar. O Delphi possibilita armazená-las em Arquivos .INI (lembra deles...do Windows 3.x), através do Objeto TIniFile. A menos que você esteja utilizando esta versão do Windows (coisa q eu acho difícil ..rsrs), a melhor alternativa é utilizar o Registro do Sistema, que já está disponível a partir Windows 95.
Se você não sabe do que eu estou falando, não se desespere. Antes de começar a utilizar estas informações, vá até Iniciar, Executar e digite regedit. O editor do registro do sistema será exibido e você poderá ter uma idéia de como ele funciona. O programa separa as opções de registro em "pastas", conhecidas aqui como "chaves". Essas chaves contém dados, chamados de "valores". Esses valores possuem um nome, um tipo e um valor específico.
O Delphi encapsula o registro através do objeto TRegistry. É através dele que você irá acessar os dados. Para entender melhor como funciona o objeto, vamos explicar primeiro como funciona o Registro do Windows:
As principais chaves "raízes" são: HKEY_LOCAL_MACHINE e HKEY_CURRENT_USER. Todas as informações sobre os programas ficam nessas chaves (as outras normalmente possuem informações sobre o Windows).
O InstallShield, por exemplo, instala as informações sobre o nome de usuário e empresa do seu programa em:
HKEY_LOCAL_MACHINE\SOFTWARE\Nome da Sua Empresa\Nome Do Programa\Versão
com os valores Company e Name (Empresa e Nome do Usuário).
Os programas, por sua vez, usam a chave HKEY_CURRENT_USER\Software. É nessa chave que você deve inserir sua sub-chave e colocar lá as informações necessárias. Um pequeno exemplo de como utilizar o registro do Windows:
- Suponhamos que o programa necessite gravar a posição da janela, o seu tamanho e o diretório inicial dos diálogos Abrir e Salvar. Devemos instanciar um objeto do tipo TRegistry, acessar a chave ou criá-la, caso não exista, e escrever seus respectivos dados nos valores adequados, para depois liberar a instância.
Bom, agora vamos logo ao que interessa. A gravação/Leitura no Registro. Este exemplo ilustra como gravar dados.
Primeiramente devemos declarar a unit Registry na clausula Uses da aplicação.procedure frmMain.GravarRegistro;const Raiz : String = 'Software\Programa';var Registro : TRegistry;begin // Chama o construtor do objeto Registro := TRegistry.Create; { Abre a chave (se o 2° Parâmetro for True, cria-se a chave caso ela ainda não exista. } Registro.OpenKey (Raiz, True); // Grava as informações do form Registro.WriteInteger ('Largura', Width); Registro.WriteInteger ('Altura', Height); Registro.WriteInteger ('Esquerda', Left); Registro.WriteInteger ('Topo', Top); // Grava as informações das caixas Abrir e Salvar. Registro.WriteString ('Abrir Inicial', OpenDialog1.InitialDir); Registro.WriteString('Salvar Inicial', SaveDialog1.InitialDir); // Fecha a chave e o objeto Registro.CloseKey; Registro.Free;end;
Após a criação do objeto, deve-se escolher uma chave para armazenar os valores. No caso, "Software\Programa", cuja chave raiz é HKEY_CURRENT_USER. Note que para se separar as chaves das sub-chaves utiliza-se o caracter "\", tal como nos diretórios do DOS.
Os métodos WriteInteger e WriteString são utilizados para gravar valores inteiros e caracteres, respectivamente. A sintaxe básica é Registro.WriteString(NomeDoValor, Conteúdo);
onde NomeDoValor é o nome que você vai dar ao valor dentro da chave, e Conteúdo é o conteúdo desse valor.
Para escrever dados de outros tipos, utilize as funções: WriteBool(NomeDoValor, Conteúdo); // Dados tipo Boolean WriteBinaryData(NomeDoValor, Conteúdo); // Valor Binário WriteCurrency(NomeDoValor, Conteúdo); // Dados tipo Currency WriteDate(NomeDoValor, Conteúdo); // Dados tipo TDate WriteDateTime(NomeDoValor, Conteúdo); // Dados tipo TDateTime WriteFloat(NomeDoValor, Conteúdo); // Dados tipo Float (Real) WriteInteger(NomeDoValor, Conteúdo); // Dados tipo Integer WriteString(NomeDoValor, Conteúdo); // Dados tipo String WriteTime(NomeDoValor, Conteúdo); // Dados tipo TTime
Este exemplo mostra como podemos ler dados do registro do Windows utilizando o Delphi.procedure frmMain.LerRegistro;const Raiz : String = 'Software\Programa';var Registro : TRegistry;begin // Chama o construtor do objeto Registro := TRegistry.Create; with Registro do begin // Somente abre se a chave existir if OpenKey (Raiz, False) then begin { Envia as informações ao form, vendo se os valores existem, primeiramente.} if ValueExists ('Largura') then Width := ReadInteger ('Largura'); if ValueExists ('Altura') then Height := ReadInteger ('Altura'); if ValueExists ('Esquerda') then Left := ReadInteger ('Esquerda'); if ValueExists ('Topo') then Top := ReadInteger ('Topo'); // Envia as informações para as caixas Abrir e Salvar. OpenDialog1.InitialDir := ReadString ('Abrir Inicial'); SaveDialog1.InitialDir := ReadString ('Salvar Inicial'); // Fecha a chave e o objeto Registro.CloseKey; Registro.Free; end; end;end;
Sempre use CloseKey quando não precisar mais do Registro. Isso permite que as opções sejam gravadas permanentemente, evitando que qualquer problema que o computador tenha afete seu programa.
Os métodos ReadInteger e ReadString funcionam praticamente da mesma maneira que seus correspondentes de escrita. A diferença é que ao invés de passar o valor Conteúdo, eles retornam o valor armazenado. Os correspondentes dos outros tipos são: ReadBool(NomeDoValor) // Valor booleano ReadBinaryData( NomeDoValor ; var Buffer ; TamBuffer : Integer) // Valor Binário ReadCurrency(NomeDoValor) // Valor Currency ReadDate(NomeDoValor) // Valor Date ReadDateTime(NomeDoValor) // Valor DateTime ReadFloat(NomeDoValor) // Valor Float(Real) ReadInteger(NomeDoValor) // Valor Inteiro ReadString(NomeDoValor) // Valor String ReadTime(NomeDoValor) // Valor DateTime
É isso aí pessoal! Qualquer dúvida, entrem em contato.
Até a próxima

Comentários

Mais Visitados

O Roqueiro - Filme Online Dublado

Sinopse: O Roqueiro”, vulgo Robert “Fish” Fishman, foi o baterista de uma banda de cabeludos dos anos 1980. Ele estava vivendo o sonho do rock´n´roll, até que foi expulso do grupo. Vinte anos mais tarde, o roqueiro desesperado integra a banda do sobrinho, A.D.D., finalmente retomando o posto de deus do rock que sempre acreditou merecer, enquanto leva seus companheiros de banda, muito mais jovens, na viagem de suas vidas. Nesta mistura de comédia pastelão, emoção e música de banda de garagem/power rock/heavy metal, Rainn Wilson de “The Office” troca seu trabalho de escritório em sua empresa de papel pela fama do rock´n´roll, assumindo o papel de um baterista grande, suado, fora de controle e, às vezes, pelado, que tem uma segunda chance no superestrelato do rock. Quando conhecem Fish, ele e seus companheiros de banda do Vesuvius estão em toda a glória da década de 1980, compondo canções de rock pesado e ostentando cabelos compridos, lenços no pescoço e calças de couro incrivelmente ape...

Eclipse. El mejor IDE de programación

Eclipse es sin luguar a dudas la mejor plataforma de programación del mercado. Lo mejor de todo: es gratis . Si vas a programar con Java, no lo dudes, descárgate Eclipse. Si vas a programar con C/C++, descárgate Eclipse. Si vas a programar con C#, ten paciencia, en poco tiempo aparecerá algo para Eclipse. Lo único que el falta, es un editor de páginas web tipo, dreamweaver. Hay disponibles algunos, pero son de pago como MyEclipse o M7 , y actualmente están desarrollando una extención llamada Web Tools Project para proyectos J2EE, así que no queda mucho. Eclipse.org Main Page

RoboForm. Gestor de Contraseñas

Uno de esos programitas insustituíbles, el RoboForm . Es un gestor de contraseñas gratis y sirve para cumplimentar formularios o generar contraseñas. Si estás hasta el gorro de rellenar siempre tu dirección, teléfono, usuario, contraseña , bla, bla., roboform te simplifica la vida. Simplemente almacena en un archivo toda tu información y cuando accedes a una página donde piden estos datos, solo tienes que pulsar "botón derecho/rellenar formularios" y voilà todo completito sin haber pulsado una sola tecla. Pero la cosa no acaba ahí, si además tienes una contraseña distinta para cada sitio, y no recuerdas cual es cual, roboform si. Cuando accedes a una página que necesita autorización/autenticación/autentificación o como se diga, el programita "recuerda" cual era el usuario/password correctos y lo introduce por ti. Magnífico, ¿no?

Páginas