PDA

Ver la Versión Completa : Como crear entradas al registro de winxp


pablopessoa
14-10-2008, 23:09:07
saludos a todos!!
muy agradecido por las soluciones que me brindan los molesto con otro problema

quisiera saber si me pueden decir como crear entradas al registro de windows xp, y una ves creadas como accederlas y guardarlas en variables en mi aplicacion.

el fin de esto es que el programa detecte la primera ves que se corre y asi abrir un formulario donde me ingresan los datos que necesito grabar y sacar luego del registro

Muchas Gracias!!

rgstuamigo
14-10-2008, 23:29:15
Mira este Tremendo libro (http://www.intitec.com/varios/Delphi_al_limite.pdf) de trucos y demas; en las paginas 56 y 57 hay unos ejemplos de guardar en los registros del Sistema.
Espero que te sirva.:cool:

pablopessoa
15-10-2008, 00:05:58
gracias!!! voy a leerlo a ver si lo entiendo :P
pero por las dudas pongo algo mas especifico de lo que me pasa:


procedure TForm1.FormCreate(Sender: TObject);
begin
reg:=TRegistry.Create;
reg.RootKey:=(HKEY_CURRENT_USER);
if Reg.OpenKey(Clave,false) then
begin
reg.LoadKey(clave+'password',password);
if form16.ShowModal = mrCancel then
form1.Close;
end
else
begin
reg.CreateKey('\Software\EMPRESA\');
reg.Free;
form17.ShowModal;
end;
end;


me crea una carpeta en el registro llamada EMPRESA, pero cuando pasa a la linea "form17.ShowModal;" me sale un error de access violation y no me la abre, ese form17 es donde se van a cargar los datos de la empresa para guardar en el registro.. alguien sabe que puede ser ese error?

pablopessoa
15-10-2008, 00:49:16
gracias rgstuamigo !!! gracias a tu libro a un poco de practica encontre la respuesta
el problema esta en que no puedo cortar los Create de los formularios con un Showmodal... por eso me sale el error. el lugar de hacer eso hice esto:

reg:=TRegistry.Create;
reg.RootKey:=(HKEY_CURRENT_USER);
if Reg.OpenKey(Clave,false) then
existe:=true
else
existe:=false;


luego, en el activate del form, evaluo a "Existe" y de acuerdo al estado de boolean que este tengo es el formulario que abro (si el de carga de datos o de logeo)

rgstuamigo , nuevamente gracias por que del link que me pasaste saque las claves para hacer el resto

muchas gracias!!!

Neftali [Germán.Estévez]
15-10-2008, 08:51:21
...pero cuando pasa a la linea "form17.ShowModal;" me sale un error de access violation y no me la abre

¿Ese formulario ya está creado?
Asegúrate de que no vale nil.


if not Assigned(form17) then begin
// no creado
end
else begin form17.ShowModal;
end;