Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Formulario de configuracion (https://www.clubdelphi.com/foros/showthread.php?t=60139)

jandj 22-09-2008 13:15:27

Formulario de configuracion
 
He creado un formulario de configuracion, que funciona perfectamente el problema con el, es que cada vez, que ejecuto la aplicacion esta vuelve sin los cambios aplicados. quiero saber si tengo que guardar los cambios en un archivo .ini o en registro de windows o si alguien sabe que es lo que tengo que hacer por favor ayuda.

duilioisola 22-09-2008 13:20:53

Obviamente, debes guardar los cambios que hayas hecho.
Para guardarlos en un ini, puedes utilizar el componente TIniFile que está en la unidad IniFiles.

Los ficheros ini estan divididos en secciones y cada sección puede tener variables.

Por ejemplo:

Código:

FicheroConfiruracion.ini
[Principal]
BaseDeDatos=127.0.0.1:C:\Datos\Base.FDB
Clave=1234
...

Código Delphi [-]
procedure TFMain.LeeConfiguracion;
var
   oini : TIniFile;
begin
   oini := TInifile.Create('FicheroConfiguracion.ini');
   VariableDataBase := oini.ReadString('Principal','BaseDeDatos','');
   VariableClave := oini.ReadString('Principal','Clave','');
   [...]
   oini.Free;
end;

procedure TFMain.GuardaConfiguracion;
var
   oini : TIniFile;
begin
   oini := TInifile.Create('FicheroConfiguracion.ini');
   oini.WriteString('Principal','BaseDeDatos',VariableDataBase);
   oini.WriteString('Principal','Clave',VariableClave);
   [...]
   oini.Free;
end;

Neftali [Germán.Estévez] 22-09-2008 16:15:46

Si no quieres hacerlo "a mano", hay componentes que te ayudan a hacerlo. En mi página, sin ir más lejos hay uno llamado TSavecomps, que te permitirá hacerlo casi sin teclear código.

Puedes también mirar cómo está hecho y modificar el código si te es más útil.

jandj 26-09-2008 04:56:59

problemas con savecomps
 
Cita:

Empezado por Neftali (Mensaje 315503)
Si no quieres hacerlo "a mano", hay componentes que te ayudan a hacerlo. En mi página, sin ir más lejos hay uno llamado TSavecomps, que te permitirá hacerlo casi sin teclear código.

Puedes también mirar cómo está hecho y modificar el código si te es más útil.

------------------------------------------------------
Hola de nuevo estuve intentando con este componente (savecomps) pero no pude guardar el estado de los componente o mejor dicho no se como aunque intente de una y mil manera, pero observando bien el componente solo guarda las posiciones, y a mi me interesa guardar el estado de un checkbox en su propiedad checked por que esta me activa y desactiva obciones el el sistema entonce no quiero cada vez que entre al sistema volver a activar o desactiva el checkbox. asi que si pueden darme algun ejemplo de como trabajar con la un checkbox y con el savecomps.

José Luis Garcí 26-09-2008 08:05:16

Me pregunto si no seria mas eficaz guardarlo en un base de datos? y leer esta base de datos al arrancar el programa.

Neftali [Germán.Estévez] 26-09-2008 09:32:51

1 Archivos Adjunto(s)
Cita:

Empezado por jandj (Mensaje 316459)
estuve intentando con este componente (savecomps) pero no pude guardar el estado de los componente o mejor dicho no se como aunque intente de una y mil manera, pero observando bien el componente solo guarda las posiciones

Bueno, pensé que como tenía pocas propiedades y el código fuente estaba disponible no hacía falta muchas explicaciones.
Si colocas componentes en el formulario, puedes conseguir que se guarden posiciones sólo activando el componente.
Si deseas guardar otras propiedades puedes personalizar la lista utilizando la propiedad SavedProperties. Basta con que añadas tus checkbox al formulario y a la propiedad SavedProperties le añadas Checked. Si deseas otras, basta con que vayas añadiendolas a la lista.

Por defecto el componente guardará esas propiedades para TODOS los controles.

Si te interesa guardar el estado sólo para algunos controles y para otros no, cambia la propiedad SelectTaggedControls a True y entonces sólo a los componentes con Tag=9999 (valor por defecto, pero puedes cambiarlo con la propiedad SelectTag) se les guardarán las propiedades.

jandj 27-09-2008 05:51:13

Solucionado!! Gracias... a todos mi problema era que solo incluia el checkbox y no a los componentes que afectava al activar o desactivar el checkbox. Como decia un de mi profesores los estudiante de matematica no aprende por que no saben leer! jeje... Hasta la proxima!...


La franja horaria es GMT +2. Ahora son las 04:47:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi