Page 1 of 1

Arrays

Posted: Mon Mar 10, 2008 2:15 pm
by jvargas
Hola Amigos
Es esto un Bug?, o qué hago mal
Al 1er array “TabP” debo incluir algunos elementos, cada nueva linea esta basada en otro array “xTab”, con ciertas modificaciones.
Esta es la rutina que al parecer es muy simple.

#include "FiveWin.ch"
function main()
local TabP:={{"Z","Y","X","W"}}
local xTab:={"A","B","C","D"}
local z ,y, a:=""
for z=1 to 3
xTab[1]:=str(z,1)
xTab[3]:=str(z,1)
AADD(TabP,xTab)
y:=len(TabP)
a:=a+str(y)+","+TabP[y,1]+TabP[y,2]+TabP[y,3]+TabP[y,4]+CRLF
next
?"13",len(TabP),a &&' ok
a:=""
for z=1 to len(TabP) &&' aca ya esta mal
a:=a+str(z)+","+TabP[z,1]+TabP[z,2]+TabP[z,3]+TabP[z,4]+CRLF
next
?"18",a
return

El resultado hasta la linea 13 es éste y está bien, la 1ra y la 3ra columna tienen “1”,”2” ,”3” en los elementos adicionados de TabP.
2=> 1B1D
3=> 2B2D
4=> 3B3D

inmediatamente después verifico todo el array TabP y las lineas que fueron adicionadas han sido cambiadas como una copia de la ultima linea adicionada, todas tienen “3” en la 1ra y 3ra columna
1=> ZYXW
2=> 3B3D
3=> 3B3D
4=> 3B3D

es esto un problema de xHarbour? O qué hago mal?.
Saludos y muchas gracias por la ayuda.
Jorge Vargas

Posted: Wed Mar 12, 2008 12:49 pm
by jvargas
Hola Amigos:
A nadie le sucede esto? o hay algo que hago mal?
gracias.
Jorge Vargas

Posted: Wed Mar 12, 2008 12:54 pm
by Patricio Avalos Aguirre
debes usar la funcion aClone

AADD(TabP,aclone(xTab) )

Posted: Fri Mar 14, 2008 12:47 pm
by jvargas
Hola Patricio
Muchas gracias por tu respuesta y la solucion.
medio raro, pero funciona
saludos
Jorge :lol: