Array y NIL

Post Reply
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Array y NIL

Post by goosfancito »

Estimados,

Code: Select all

function main()
   LOCAL aVector:= {}
   LOCAL nFila:= 0
   LOCAL nColumna:= 0

   PUBLIC aMatriz:= {}

   FOR nFila:= 1 TO 10
      aVector:={}
      ASize( aVector, 4)
      AAdd( aMatriz, aVector )
   NEXT nFila

   for nFila:= 1 to 10

       for nColumna:= 1 to 4
          if aMatriz[ nFila ][ nColumna ] == NIL
             ? "es nil", nFila, nColumna                         // Renglon A
          else
             ? "Fila", nFila, ;
                "Columna", nColumna,;
                "valor",  aMatriz[ nFila ][ nColumna ]
          endif
   next nFila

return ( nil )
Bueno, aca va mi pregunta, porque el código de arriba, cuando nFila = 1 y nColumna = 1 el valor el NIL ( renglon A ) y en cambio todos los demas valores son diferentes a nil?

Gracias.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
Raymundo Islas M.
Posts: 590
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Post by Raymundo Islas M. »

Hola, que valor te devuelve ?

Oye, no veo el next de nColumna :shock:

De rapido hice esto, y todos me devuelven NIL :

LOCAL nQ, nW, aDmArrX := {}

FOR nQ := 1 TO 10
AaDd( aDmArrX, Array(4) )
NEXT
FOR nQ := 1 TO Len( aDmArrX )
FOR nW := 1 TO Len( aDmArrX[nQ] )
? IIF( aDmArrX[nQ,nW] == NIL, "es nil", "no es nil" )
NEXT
NEXT


Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Post by goosfancito »

Amigo,

Tenes razon con respecto al Next de columna.

Asi como pones el ejemplo si funciona, pero fijate que es diferente al mio, ya que uso un vector redimencionado, de ultima si me haces el favor, copia este codigo ( ahora le pongo el next que faltaba) y probalo.

Gracias.

Code: Select all

function main() 
   LOCAL aVector:= {} 
   LOCAL nFila:= 0 
   LOCAL nColumna:= 0 

   PUBLIC aMatriz:= {} 

   FOR nFila:= 1 TO 10 
      aVector:={} 
      ASize( aVector, 4) 
      AAdd( aMatriz, aVector ) 
   NEXT nFila 

   for nFila:= 1 to 10 

       for nColumna:= 1 to 4 
          if aMatriz[ nFila ][ nColumna ] == NIL 
             ? "es nil", nFila, nColumna                         // Renglon A 
          else 
             ? "Fila", nFila, ; 
                "Columna", nColumna,; 
                "valor",  aMatriz[ nFila ][ nColumna ] 
          endif 
      nColumna
   next nFila 

return ( nil )
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
Raymundo Islas M.
Posts: 590
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Post by Raymundo Islas M. »

Probado !!!

Asi como lo enviaste, ya salen todos los elementos en NIL !!!!


Acerca de lo otro, es igual, puedes cambiar el numero de elementos de cada nivel, segun lo necesites, el detalle seria, si lo vas a definir desde el inicio o sobre la marcha.

Te comento, por que yo uso en muchos browses, la informacion desde arrays y en _ desde las dbfs, aplicando arreglos de varios niveles.

Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Post by goosfancito »

ok, gracias pibe.

No me da a mi, voy a ver que pasa.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
Post Reply