Funcao - funcoes para acessar registro |
Top Previous Next |
Funções para agilizar o registro do Windows
// Grava no Registro do Windows o Valor especificado procedure GravaReg(const Path, Variavel, Valor : string); var Reg: Tregistry; Begin Reg := TRegistry.Create; Reg.RootKey := HKEY_CURRENT_USER; //!! Atenção não use HKEY_LOCAL_MACHINE no Windows NT/2000 Reg.CreateKey(Path); Reg.OpenKey(Path, True); Reg.WriteString(Variavel, Valor); FreeAndNil(Reg); end;
// Le do Registro do Windows no Path especifivado function LerReg(const Path, Variavel : string; ValorDefault: string = '') : String; var Reg: TRegistry; Begin Reg :=TRegistry.Create; Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.CreateKey(Path); Reg.OpenKey(Path, True); if Reg.ValueExists(Variavel) then Result := Reg.ReadString(Variavel) else Result := ValorDefault; FreeAndNil(Reg); end;
//////////////////////////////// FUNCOES DERIVADAS ////////////////////////////////////
// Grava um Booleano no Registro procedure GravaRegBoolean(const Path,VAriavel : String; const Valor : Boolean); begin if Valor Then GravaReg(Path,Variavel,'S') else GravaReg(Path,Variavel,'N'); end;
// Ler e retornar um booleano segundo o registro function LerRegBoolean(const Path, Variavel: string; ValorDefault: string = 'S') : Boolean; begin Result := LerReg(Path, Variavel, ValorDefault) = 'S'; end;
// Ler de um Registro um Valor e transformar para Double function LerRegDouble(const Path, Variavel: String): Double; begin Result := StrToFloat(LerReg(Path,Variavel)); end;
// Grava o Top e o Left do ComponentePadrao no Path especifivado + \Componentes procedure GravaRegComponentes(const Path: String; Comp : TControl); begin GravaReg(Path + '\Componentes', Comp.Name + 'Left', IntToStr(comp.Left)); GravaReg(Path + '\Componentes', Comp.Name + 'Top' , IntToStr(comp.top)); end;
// Le No Path especificado o Top e o Left do Componente procedure LerRegComponentes(Path : String;Comp : TControl); var I: Integer; Begin I := StrToInt(mlLerReg(Path + '\Componentes',Comp.Name + 'Top')); if I > 0 then Comp.Top := I; I := StrToInt(mlLerReg(Path + '\Componentes',Comp.Name + 'Left')); if I > 0 then Comp.Left := I; end;
//Grava um String com um valor Double Passado como parametro no Path tb Parametro procedure GravaRegDouble(const Path, variavel : String; const Valor : Double); var NValor: string; Begin NValor := FloatToStr(Valor); GravaReg(Path, Variavel, NValor); end; |