| |||
Ok, Gracias, aqui tengo otra --> RegEdit En la Ayuda del Delphi, te dan un ejemplo de como trabajr con el REgEdit, especificamente recuperar el valor de un registro y este es el codigo: //-------------------------------------------- uses Registry; function GetRegistryValue: string; var Registry: TRegistry; S: string; begin Registry:=TRegistry.Create; Registry.RootKey:=HKEY_LOCAL_MACHINE; //False because we do not want to create it if it doesn’t exist Registry.OpenKey('MYKEY',False); Result :=Registry.ReadString('VALUE1'); Registry.Free; end; //------------------------------------------------- Claro tienes que cmabiar el valor de 'MIKEY', y el 'VALUE1', por tus datos, lo unico que conseguii era colgar mi maquina cuando lo corria ...... |
| ||||
Holap Creo que ya he visto el error: Debes sustituir esta linea:
Código:
por esta otra:Result :=Registry.ReadString('VALUE1');
Código:
Ahora tendrás el valor leido del registro en el retorno de la GetRegistryValue :=Registry.ReadString('VALUE1'); función , es que el Return no funciona en Delphi, eso es de Visial Basic. Para obtener el valor que devuelve una función hay que asignarselo así: GetRegistryValue:=Registry.ReadString('VALOR1'); Ahora tu función quedaría de esta manera:
Código:
Ahora en el Form.Show por ejemplo, puedes poner un Label y llamar a la función:function TForm1.GetRegistryValue: string; var Registry: TRegistry; S:String; //esta variable no se usa, se puede quitar. begin Registry:=TRegistry.Create; Registry.RootKey:=HKEY_LOCAL_MACHINE; //False because we do not want to create it if it doesn’t exist Registry.OpenKey('MYKEY',False); GetRegistryValue:=Registry.ReadString('VALOR1'); Registry.Free; end; label1.caption:=GetRegistryValue; Además fíjate en la cabecera de la función: function TForm1.GetRegistryValue: string; la he incluido en la clausula
Código:
Ahora debe de funcionarte correctamente. type TForm1 = class(TForm) Label1: TLabel; function GetRegistryValue: string; procedure FormShow(Sender: TObject); Salu2
__________________ El que pregunta lo que no sabe, es ignorante durante 5 minutos, el que no lo pregunta lo es de por vida (Proverbio Chino) La tonteria se pone siempre en primera fila, para ser vista. La inteligencia se pones siempre detrás para poder ver. (Alguien lo dijo, seguro) |
| |||
Estaba vagando por internet y encontre el siguiente codigo, que funciona de la patada pruebenlo, esta todo correcto.............
Código:
procedure TForm1.CmdFileProClick(Sender: TObject); str : string; begin with TRegistry.Create do try RootKey := HKEY_LOCAL_MACHINE; //asiganado la KeyRoot //ahora abriendo la clave o key if OpenKey('\Software\Microsoft\Windows\CurrentVersion', false) then begin str := ReadString('ProgramFilesDir'); ShowMessage(str); CloseKey; end; finally Free; end; end; |