|
1) El Registro contiene
información sobre la configuración para todo el hardware, software,
usuarios y preferencias de tu PC.
2) Las modificaciones
que tenderás a hacer en el Registro harán que falle el Registro.
3) El "saber popular"
de hoy en día nos dice que el uso del Registro está fuera de moda
y que lo que hay que hacer es usar los archivos INI.
4) Se recomienda que
guardes las configuraciones de tus programas en HKEY_CURRENT_USER\Software
y/o HKEY_LOCAL_MACHINE\Software.
5) Para realizar cambios
en la configuración del sistema no hay un lugar específico del Registro
en donde buscar.
6) Cuando decimos que
el Registro guarda la configuración de los programas, en realidad,
lo que estamos diciendo es que el Registro guarda información que
(se supone) será útil la próxima vez que el usuario abra nuestro
programa.
7) Los archivos INI,
al ser archivos de texto son mucho más difíciles de modificar.
8) Las ramas a las que
más accederás en tu vida cómo programador son: HKEY_CLASSES_ROOT,
HKEY_CURRENT_USER y HKEY_LOCAL_MACHINE.
9) el siguiente es un
ejemplo de cómo utilizar correctamente la clase TRegistry
procedure ProcCualquiera;
var Reg: TIniFile;
ClaveExiste: boolean;
begin
Reg := TRegistry.Create;
ClaveExiste := Reg.OpenKey(Clave, False);
{ obtenemos todos los datos necesarios del Registro }
if ClaveExiste then begin
if Reg.ReadBool('Maximizado') = False then begin
Left := Reg.ReadInteger('Top');
Top := Reg.ReadInteger('Left');
Height := Reg.ReadInteger('Height');
Width := Reg.ReadInteger('Width');
end else
WindowState := wsMaximized;
ToolBar1.Visible := Reg.ReadBool('ToolBar1');
mnuOpcionesToolBar1.Checked := ToolBar1.Visible;
AbrirArchivo(Reg.ReadString('UltimoAbierto'));
end;
end;
10) Al manipular el
Registro no es necesario tener del todo claro lo que se está haciendo,
si cambio esto o aquello no va a pasar nada MALO.
11) El siguiente código
compilará sin problemas:
procedure ProcCualquiera;
var Ini: TIniFile;
begin
Ini := TIniFile.Create(RutaINI);
try
{ guardamos todos los datos en el archivo INI }
Ini.WriteBool('Tamaño', 'Maximizado', WindowState = wsMaximized);
Ini.WriteInteger('Tamaño', 'Left', Left);
Ini.WriteInteger('Tamaño', 'Top', Top);
Ini.WriteInteger('Tamaño', 'Height', Height);
Ini.WriteInteger('Tamaño', 'Width', Width);
Ini.WriteBool('Otras', 'ToolBar1', mnuOpcionesToolBar1.Checked);
Ini.WriteString('Otras', 'UltimoAbierto', UltimoAbierto);
finally
Ini.Free;
end;
end;
|