Hola AUGE_ORG, muchas gracias por contestar
AUGE_OHR wrote: ↑Mon Dec 09, 2019 11:48 pm
Code: Select all
as i understand you have a 2-DIM Array so i guess it must be
[code] aGrid [nFor][nPos] :=( (cAlias)->(FIELDGET(nFor)) )
Tengo un Array de 1-DIM, que cargo con campos que obtengo de una DBF, y posteriormente esos valores tienen que pasar a un Array de de 2-DIM. El gran problema es que desconozco la cantidad de filas y columnas que necesitaré ya que la selección de campos la realiza el usuario, por lo tanto no puedo hace un DIM en el aGrid como tu propones
Hola AndyGlez, muchas gracias por contestar..
andyglezl wrote: ↑Tue Dec 10, 2019 12:40 am
Maybe...
Code: Select all
aGrid := {}
DO WHILE !(cAlias)->( Eof())
AADD( aGrid, { (cAlias)->( FIELDGET( 1) ), (cAlias)->( FIELDGET( 2 ) ) } )
(cAlias)->(DbSkip())
ENDDO
El problema Andy, como he comentado con AUGE es que el numero del FIELGET lo desconozco, es una selección que realiza el usuario de los campos del DBF, y como quiero que la función trabaje con cualquier DBF, tampoco se el numero de campos que tiene la DBF, por eso utilizo el ARRAY _aPongo, el cual contiene .T. o .F. , dependiendo que el usuario quiera ver ese campo o no quiera verlo.
He estado realizando algunas pruebas y la verdad es que no entiendo, si hago la asignación del valor a mano, si que puedo traspasar el dato sin problemas de un ARRAY de 1 DIM, a otro ARRAY de 2 DIM , pero cuando lo leo con el FIELGET..., no funciona...
Code: Select all
local cCadena [4]
local aItems := {}
//--> Asigno valores ARRAY 1 DIM
cCadena[1]:="primera"
cCadena[2]:=2
cCadena[3]:=3
cCadena[4]:=DATE()
// --> Paso valores ARRA1 1 DIM a ARRAY 2 DIM
AADD (aItems, cCadena )
// --> Resultado OK
msgdebug(aItems)
//--> Asigno valores ARRAY 1 DIM DE OTRA FORMA
cCadena:={"Carrot", 5, 30, DATE()+1 }
// --> Paso valores ARRA1 1 DIM a ARRAY 2 DIM
AADD (aItems, cCadena )
// --> Resultado OK
msgdebug(aItems)
Imaginate que quieres cargar en un GRID una DBF, pero los campos a mostrar los ha seleccionado previamente el usuario, para ver solo lo que el usuario quiera verr.., puede ser el 1, 2,5, 7, 10...., o solo el 3 y 4 ¿como lo cargo..?
Muchas gracias por vuestra ayuda...,