Ir al contenido


Foto

Usando Lazarus para leer el Registro (Registry) de Windows


  • Por favor identifícate para responder
2 respuestas en este tema

#1 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 03 julio 2013 - 09:36

Buen día/tarde/noche (según aplique), comenzando a desarrollar en serio con CodeTyphon (Lazarus "con esteroides") y de repente me encontré con un detalle, quiero leer el registro de Windows y salvo que haya cambiado mucho, quiero pensar que es igual a lo de siempre, es decir (código programado en Delphi 7):



delphi
  1. procedure TDtsAdmCnx.ObtPthBBDD;
  2. var
  3.   rClvRgs : TRegistry;
  4.   sPath : string;
  5. begin
  6.       rClvRgs := TRegistry.Create;
  7.       try
  8.             rClvRgs.RootKey := HKEY_LOCAL_MACHINE;
  9.             if rClvRgs.OpenKey('SOFTWARE\Tiammat Software\SASAWin', False) then
  10.             begin
  11.                   ibxdtabseCnn.DatabaseName := rClvRgs.ReadString('Path BBDD');
  12.                   ibxdtabseCnn.Params.Add('user_name=' + rClvRgs.ReadString('Usuario'));
  13.                   ibxdtabseCnn.Params.Add('password='+ rClvRgs.ReadString('Contraseña'));
  14.             end;
  15.             rClvRgs.CloseKey;
  16.       finally
  17.             rClvRgs.Free;
  18.       end;
  19. end;



¿Voy bien o me regreso?  ;)

¿Y cómo le haría para compilar para Linux? ¿Hay algo así como un Registry  o de plano deberé usar un archivo *.INI?

Como siempre, agradezco de antemano cualquier idea por loca que sea, respuesta concreta, apoyo, etc...
  • 0

#2 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 04 julio 2013 - 04:42

Que tal mi estimado Felipe, el uso del famoso registro de windows solo es útil en windows.

Si deseas guardar tus configuraciones y dar portabilidad a tu sistema definitivamente tendrás que crear un archivo tipo INI como bien mencionas, te recomiendo encriptarlo para evitar modificaciones no autorizadas.

Aquí algunas curiosidades al respecto: http://delmonicos.wo...nes-de-windows/

Así funcionará sin inconvenientes en cualquier plataforma  :)


Saludos
  • 0

#3 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 260 mensajes

Escrito 09 julio 2013 - 12:09

Buenas amigos, después de tiempo.... quisiera dar mi opinión:

Si estoy bien para utilizar el Tregistry tendrás que hacer que la aplicación tenga "Privilegios Elevados" especialmente en:

HKEY_LOCAL_MACHINE

en

HKEY_LOCAL_CURRENT_USER no es necesario

Dichos "Privilegios elevados" sería lo mismo que "Ejecutar como Administrador" , si estoy bien la última versión de Lazarus tiene la opción en "Proyecto" - "Opciones del Proyecto" - "Nivel de ejecución"

Antes como no había lo tenía que poner con el programa "Resource hacker"

...........

En Linux si estoy bien lo más parecido al registro vendría a ser la aplicación "Gconf" ó "gconf-editor" la cual la puedes invocar desde la "Terminal" (DOS en linux).


Espero haber ayudado .... saludos a todos.  :)





  • 0




IP.Board spam blocked by CleanTalk.