Página 1 de 1
Array en ficheros INI
Publicado: Jue Dic 29, 2005 10:37 pm
por jasm.nospam
Estoy intentando almacenar un array en un INI y no soy capaz de conseguirlo.
Adjunto ejemplo autocontenido.
Saludos,
Jose A. Suarez
--
Array en ficheros INI
Publicado: Vie Dic 30, 2005 12:45 am
por jlalin
Jose Alfonso,
con este cambio tiene que funcionar perfectamente:
oIni:SetArray( "Prueba", "Array", { "localhost", "root", "tactil_jasm",
"tpv_tactil" } )
Saludos,
José Lalín
Array en ficheros INI
Publicado: Vie Dic 30, 2005 12:49 am
por jlalin
Jose Alfonso,
si lo que quieres guardar es un array bidimensional de un plumazo
también tienes el método SetSection( cSection, cEntry, aArray ).
Saludos,
José Lalín
Array en ficheros INI
Publicado: Vie Dic 30, 2005 7:24 am
por jasm.nospam
José,
Ok. Gracias.
En la documentacion de Xailer no hay ninguna referencia a :SetArray( ... ).
Saludos,
Jose A. Suarez
José Lalín escribió:
>
> Jose Alfonso,
>
> con este cambio tiene que funcionar perfectamente:
>
> oIni:SetArray( "Prueba", "Array", { "localhost", "root", "tactil_jasm",
> "tpv_tactil" } )
>
> Saludos,
> José Lalín
Array en ficheros INI
Publicado: Vie Dic 30, 2005 7:27 am
por jasm.nospam
José,
Esta forma que apuntas:
>>SetSection( cSection, cEntry, aArray )
no es correcta, la correcta es:
SetSection( cSection, aArray )
Paro no funciona bien o hago algo mal y el array bidimensional no lo
guarda correctamente.
Adjunto ejemplo autocontenido.
Saludos,
Jose A. Suarez
--
Array en ficheros INI
Publicado: Vie Dic 30, 2005 12:17 pm
por jlalin
Jose Alfonso,
> Paro no funciona bien o hago algo mal y el array bidimensional no lo
> guarda correctamente.
Este código funciona perfectamente:
LOCAL aUser := { { "Usuario", "Nombre" }, ;
{ "Clave", "Test" }, ;
{ "Cuenta", "Default" } }
oIni:SetSection( "User", aUser )
Saludos,
José Lalín
Array en ficheros INI
Publicado: Vie Dic 30, 2005 2:34 pm
por jasm.nospam
José,
Pero "eso" no es guardar un array bidimensional en un INI, eso es, con
todos los respetos, un apaño para salir del paso aplicado a un caso
concreto.
Saludos
Jose A. Suarez
José Lalín escribió:
>
> Jose Alfonso,
>
>> Paro no funciona bien o hago algo mal y el array bidimensional no lo
>> guarda correctamente.
>
>
> Este código funciona perfectamente:
>
> LOCAL aUser := { { "Usuario", "Nombre" }, ;
> { "Clave", "Test" }, ;
> { "Cuenta", "Default" } }
>
> oIni:SetSection( "User", aUser )
>
> Saludos,
> José Lalín
Array en ficheros INI
Publicado: Vie Dic 30, 2005 5:06 pm
por jlalin
Jose Alfonso,
> Pero "eso" no es guardar un array bidimensional en un INI, eso es, con
> todos los respetos, un apaño para salir del paso aplicado a un caso
> concreto.
No entiendo a qué te refieres con el apaño: el método recibe un array
bidimensional y lo guarda en pares (Entrada=Valor) siguiendo la
estructura lógica de un INI.
¿ Puedes explicar mejor qué quieres hacer ?
Saludos,
José Lalín
Array en ficheros INI
Publicado: Vie Dic 30, 2005 6:46 pm
por joseluis
José Alfonso,
Prueba este 'apaño' (no lo he probado)
oIni := TIni():New( ".prueba.ini" )
oIni:SetEntry( "Prueba", "Array", [ "localhost"; "root"; "tactil_jasm";
"tpv_tactil" ] )
pIni:Commit()
oIni:End()
Y al recurperar "Array" haces
aArray := oIni:GetArray("Prueba","Array",";")
Dime si te funciona....
Saludos,
José Luis Capel
Jose Alfonso Suárez Moreno escribió:
> Estoy intentando almacenar un array en un INI y no soy capaz de
> conseguirlo.
>
> Adjunto ejemplo autocontenido.
>
> Saludos,
>
> Jose A. Suarez
Array en ficheros INI
Publicado: Vie Dic 30, 2005 10:50 pm
por jasm.nospam
Jose,
No es lo que yo quiera hacer.
Es que está mal expresado que se puedan guardar arrays bidimensionales
en un INI.
Mas bien lo que se guarda es un sistema de pares predefinido como
elementos de un array bidimensional de dos elementos.
Este array:
aArray := { { Valor1.1, Valor1.2, Valor1.3, Valor1.4, ...., Valor1.n},;
{ Valor2.1, Valor2.2, Valor2.3, Valor2.4, ...., Valor2.n},;
{ Valor3.1, Valor3.2, Valor3.3, Valor3.4, ...., Valor3.n},;
.
.
{ Valorm.1, Valorm.2, Valorm.3, Valorm.4, ...., Valorm.n} }
No puede ser guardado en un INI con el sistema actual.
La estructura del INI para esta instruccion usando el array anterior:
oIni:SetSection( "Array", aArray )
podría ser algo así:
[Array]
Fila1=Valor1.1;Valor1.2;Valor1.3;Valor1.4;....;Valor1.n
Fila2=Valor2.1;Valor2.2;Valor2.3;Valor2.4;....;Valor2.n
Fila3=Valor3.1;Valor3.2;Valor3.3;Valor3.4;....;Valor3.n
..
..
..
Filam=Valorm.1;Valorm.2;Valorm.3;Valorm.4;....;Valorm.n
Por ejemplo.
Saludos
Jose A. Suarez
Array en ficheros INI
Publicado: Vie Dic 30, 2005 10:51 pm
por jasm.nospam
Jose Luis,
Gracias, pero es una solución poco operativa.
Saludos
Jose A. Suarez
Array en ficheros INI
Publicado: Sab Dic 31, 2005 10:18 am
por Giuseppe Bogetti
Il Fri, 30 Dec 2005 22:50:39 +0100, Jose Alfonso Suárez Moreno ha scritto:
> Jose,
>
> No es lo que yo quiera hacer.
>
> Es que está mal expresado que se puedan guardar arrays bidimensionales
> en un INI.
>
> Mas bien lo que se guarda es un sistema de pares predefinido como
> elementos de un array bidimensional de dos elementos.
>
> Este array:
>
> aArray := { { Valor1.1, Valor1.2, Valor1.3, Valor1.4, ...., Valor1.n},;
> { Valor2.1, Valor2.2, Valor2.3, Valor2.4, ...., Valor2.n},;
> { Valor3.1, Valor3.2, Valor3.3, Valor3.4, ...., Valor3.n},;
> .
> .
> { Valorm.1, Valorm.2, Valorm.3, Valorm.4, ...., Valorm.n} }
>
> No puede ser guardado en un INI con el sistema actual.
>
> La estructura del INI para esta instruccion usando el array anterior:
>
> oIni:SetSection( "Array", aArray )
>
> podría ser algo así:
>
> [Array]
> Fila1=Valor1.1;Valor1.2;Valor1.3;Valor1.4;....;Valor1.n
> Fila2=Valor2.1;Valor2.2;Valor2.3;Valor2.4;....;Valor2.n
> Fila3=Valor3.1;Valor3.2;Valor3.3;Valor3.4;....;Valor3.n
> .
> .
> .
> Filam=Valorm.1;Valorm.2;Valorm.3;Valorm.4;....;Valorm.n
>
> Por ejemplo.
>
>
> Saludos
>
> Jose A. Suarez
Usted puede utilizar las funciones unidas:
ndArr2Str() convierte un array en una secuencia
ndStr2Arr() convierte la secuencia a un array
usted puede tener un código como esto:
1) para escribir el array
FOR EACH aElem IN aArray
oIni:SetEntry( "Array", ( "Fila" + ndASTR( HB_EnumIndex() ) ), ndArr2Str( aElem, ";" ) )
NEXT
2) para leer el array
aArray := oIni:GetSection( "Array" )
FOR EACH aElem IN aArray
aElem := ndStr2Arr( aElem, ";", "C" )
...
su código para ajustar a formato los elementos
...
NEXT
Espero estar de ayuda y excúseme para mi mal español.
Saludos
--
Giuseppe Bogetti
B.G. Soft
Cuneo - Italy
--
Array en ficheros INI
Publicado: Sab Dic 31, 2005 4:49 pm
por jasm.nospam
Gracias.
Muy interesante su propuesta pero a la vez muy poco operativa.
Saludos
Jose A. Suarez
Giuseppe Bogetti escribió:
> Il Fri, 30 Dec 2005 22:50:39 +0100, Jose Alfonso Suárez Moreno ha scritto:
>
>
>>Jose,
>>
>>No es lo que yo quiera hacer.
>>
>>Es que está mal expresado que se puedan guardar arrays bidimensionales
>>en un INI.
>>
>>Mas bien lo que se guarda es un sistema de pares predefinido como
>>elementos de un array bidimensional de dos elementos.
>>
>>Este array:
>>
>>aArray := { { Valor1.1, Valor1.2, Valor1.3, Valor1.4, ...., Valor1.n},;
>> { Valor2.1, Valor2.2, Valor2.3, Valor2.4, ...., Valor2.n},;
>> { Valor3.1, Valor3.2, Valor3.3, Valor3.4, ...., Valor3.n},;
>> .
>> .
>> { Valorm.1, Valorm.2, Valorm.3, Valorm.4, ...., Valorm.n} }
>>
>>No puede ser guardado en un INI con el sistema actual.
>>
>>La estructura del INI para esta instruccion usando el array anterior:
>>
>>oIni:SetSection( "Array", aArray )
>>
>>podría ser algo así:
>>
>>[Array]
>>Fila1=Valor1.1;Valor1.2;Valor1.3;Valor1.4;....;Valor1.n
>>Fila2=Valor2.1;Valor2.2;Valor2.3;Valor2.4;....;Valor2.n
>>Fila3=Valor3.1;Valor3.2;Valor3.3;Valor3.4;....;Valor3.n
>>.
>>.
>>.
>>Filam=Valorm.1;Valorm.2;Valorm.3;Valorm.4;....;Valorm.n
>>
>>Por ejemplo.
>>
>>
>>Saludos
>>
>>Jose A. Suarez
>
>
> Usted puede utilizar las funciones unidas:
> ndArr2Str() convierte un array en una secuencia
> ndStr2Arr() convierte la secuencia a un array
>
> usted puede tener un código como esto:
>
> 1) para escribir el array
>
> FOR EACH aElem IN aArray
> oIni:SetEntry( "Array", ( "Fila" + ndASTR( HB_EnumIndex() ) ), ndArr2Str( aElem, ";" ) )
> NEXT
>
> 2) para leer el array
>
> aArray := oIni:GetSection( "Array" )
> FOR EACH aElem IN aArray
> aElem := ndStr2Arr( aElem, ";", "C" )
> ...
> su código para ajustar a formato los elementos
> ...
> NEXT
>
> Espero estar de ayuda y excúseme para mi mal español.
>
> Saludos
>
Array en ficheros INI
Publicado: Sab Dic 31, 2005 7:33 pm
por jfgimenez
José Alfonso,
¿Qué tipo de datos necesitas guardar? Te lo digo porque lo mismo es mejor
utilizar XML. Puedes ver un ejemplo de uso en xailersamplesbts
--
Un saludo,
José F. Giménez
Array en ficheros INI
Publicado: Dom Ene 01, 2006 12:17 pm
por jasm.nospam
José,
Todos los tipos de datos.
Y he pensado en XML tambien.
Por otra parte, hay que ser coherentes cuando se dice que Xailer puede
guardar arrays bidimensionales en ficheros INI y lo que hace es guardar
un array de pares "propiedad=valor" de un array bidimensional de dos
*columnas* (por llamarlas de alguna forma).
No tengo ningún problema en fabricarme un algoritmo que haga lo que
necesito (guardar/recuperar arrays bidimensionales en un INI) o usar
XML, incluso sobreescribiendo el metodo en cuestion de la clase TIni.
Intento no reinventar la rueda cuando la clase ya provee un sistema para
hacerlo y me llevo la sorpresa de que está diseñado para una solución
concreta en vez de para casos genéricos.
Gracias y feliz 2006
Jose A. Suarez
Jose F. Gimenez escribió:
> José Alfonso,
>
> ¿Qué tipo de datos necesitas guardar? Te lo digo porque lo mismo es mejor
> utilizar XML. Puedes ver un ejemplo de uso en xailersamplesbts
>
Array en ficheros INI
Publicado: Mar Ene 03, 2006 10:44 am
por ignacio
José Alfonso,
Siento los posibles defectos que hayas podido encontrar en la documentación
y el tiempo perdido que te haya podido suponer.
En seguida modificamos matriz bidimensional por array de pares
"propiedad=valor", pero espero que nadie se líe ya que realmente el método
exige como parametro un array bidimensional.
Un saludo,
"Jose Alfonso Suárez Moreno" <
jasm.nospam@chochurro.com> escribió en el
mensaje news:43b7ba5d$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
> José,
>
> Todos los tipos de datos.
> Y he pensado en XML tambien.
>
> Por otra parte, hay que ser coherentes cuando se dice que Xailer puede
> guardar arrays bidimensionales en ficheros INI y lo que hace es guardar un
> array de pares "propiedad=valor" de un array bidimensional de dos
> *columnas* (por llamarlas de alguna forma).
>
> No tengo ningún problema en fabricarme un algoritmo que haga lo que
> necesito (guardar/recuperar arrays bidimensionales en un INI) o usar XML,
> incluso sobreescribiendo el metodo en cuestion de la clase TIni. Intento
> no reinventar la rueda cuando la clase ya provee un sistema para hacerlo y
> me llevo la sorpresa de que está diseñado para una solución concreta en
> vez de para casos genéricos.
>
> Gracias y feliz 2006
>
> Jose A. Suarez
>
> Jose F. Gimenez escribió:
>> José Alfonso,
>>
>> ¿Qué tipo de datos necesitas guardar? Te lo digo porque lo mismo es mejor
>> utilizar XML. Puedes ver un ejemplo de uso en xailersamplesbts
>>
Array en ficheros INI
Publicado: Mar Ene 03, 2006 6:01 pm
por jasm.nospam
Ignacio,
>
> En seguida modificamos matriz bidimensional por array de pares
> "propiedad=valor", pero espero que nadie se líe ya que realmente el método
> exige como parametro un array bidimensional.
>
Podrías poner en la documentacion:
Array de pares "propiedad=valor" dentro de un array bidimensional de la
forma { { "propiedad", valor }, { ... } }.
Saludos,
Jose A. Suarez