Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con TFormStorage (https://www.clubdelphi.com/foros/showthread.php?t=73780)

robacio_ivan 16-05-2011 21:20:30

Problema con TFormStorage
 
Buenas mis amigos delphiteros, tengo un problema con el componente TFormStorage. A este mismo necesito agregarle propiedades de componentes de forma dinámica al crear el form. Eh intentado hacerlo pero lo único que logre es agregarle al archivo xxxxxx.pos las cosas que quiero de forma dinámica, pero no las puedo agregar dentro del header que corresponde.
Si alguno sabe cómo puedo hacer para poder hacer esto le agradecería mucho que me ayude. Desde ya muchas gracias a todos.

Neftali [Germán.Estévez] 17-05-2011 13:51:37

¿Has probado a añadírselos de forma dinámica a la propiedad StoredValues?

Código Delphi [-]
fStorage.StoredValues.Values['Idioma'].Value := 'es';

¿Cómo los estás añadiendo?

robacio_ivan 17-05-2011 13:54:15

no la verdad que de esa forma no prove, lo que hice es

FSavePosition.StoredProps.Append(dbgLista.Columns[i].Name + '.Visible');

me fijo de la forma que decis vos y te cuento, muchas gracias.

robacio_ivan 17-05-2011 14:05:53

Cita:

Empezado por Neftali (Mensaje 400280)
¿Has probado a añadírselos de forma dinámica a la propiedad StoredValues?

Código Delphi [-]fStorage.StoredValues.Values['Idioma'].Value := 'es';


¿Cómo los estás añadiendo?

De la forma que me dijiste no se puede porque en el fStorage es como que no existe lo que yo quiero hacer porque tambien lo creo de forma dinamica. Para que entiendas mejor lo que yo estoy haciendo es que un listado lo hago totalmente de forma dinamica, entonces al hacerlo de forma dinamica las columnas de la grilla las genero al abrir el form, como yo permito visualizar las columnas que e usuario quiere, la idea es como las genero a las columnas de forma dinamica que tambien me genere el registro para ver si se estan visualizando o no. Respondiendo a tu pregunta de la forma que estoy añadiendo las propiedades es la siguiente, lo que no logro con esto es guardar en donde corresponde en el archivo xxx.pos

for i := 0 to dbgLista.ColumnCount - 1 do
begin
aux := FSavePosition.StoredProps.IndexOf(dbgLista.Columns[i].Name + '.Visible');
if aux = -1 then
FSavePosition.StoredProps.Append(dbgLista.Columns[i].Name + '.Visible');
end;//for i := 0 to FListaCampos.Count - 1 do

Espero que entiendas lo que quiero hacer. desde ya muchas gracias por tu tiempo.

Neftali [Germán.Estévez] 17-05-2011 14:15:27

Lo que te comentaba, no era exactamente para añadir, sino para que utilizaras la propiedad.
Yo he probado con algo así y me funciona:

Código Delphi [-]
var
  sVal:TStoredValue;
begin
  sVal := TStoredValue.Create(FormStorage1.StoredValues);
  sVal.Name := 'Memo_Text';
  sVal.Value := Memo1.Text;
  FormStorage1.StoredValues.SaveValues;

robacio_ivan 17-05-2011 14:59:30

Cita:

Empezado por Neftali (Mensaje 400285)
Lo que te comentaba, no era exactamente para añadir, sino para que utilizaras la propiedad.
Yo he probado con algo así y me funciona:

Código Delphi [-]var sVal:TStoredValue; begin sVal := TStoredValue.Create(FormStorage1.StoredValues); sVal.Name := 'Memo_Text'; sVal.Value := Memo1.Text; FormStorage1.StoredValues.SaveValues;

Muchas gracias, de esta forma puede agregar lo que queria en el archivo xxxx.pos ahora tengo otro problema pero reniego un poco para ver si lo soluciono yo sino vuelvo a molestar. Desde ya muchisimas gracias.


La franja horaria es GMT +2. Ahora son las 00:58:10.

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