FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Array y NIL
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Array y NIL
Posted: Thu May 04, 2006 12:46 PM
Estimados,

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.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
Array y NIL
Posted: Thu May 04, 2006 02:06 PM

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
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Array y NIL
Posted: Thu May 04, 2006 02:13 PM
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.

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 )
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 592
Joined: Tue Mar 14, 2006 11:34 PM
Array y NIL
Posted: Thu May 04, 2006 07:36 PM

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 algunos casos desde las dbfs, aplicando arreglos de varios niveles.

Saludos

FWH 10.6 + xHarbour + Borland 582
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Array y NIL
Posted: Thu May 04, 2006 07:41 PM

ok, gracias pibe.

No me da a mi, voy a ver que pasa.

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/

Continue the discussion