Olá Pessoal,
Obrigado a todos!
Toledo escreveu:Jairo, veja o que o help desta função diz:
O processo de cópia é concluÃdo quando os elementos <nCount> são copiados ou o último elemento em um dos dois arrays é atingido. Se a matriz de origem contiver mais elementos que a matriz de destino, a cópia será interrompida quando o último elemento da matriz de destino for atingido e vice-versa. O número de elementos em ambos os arrays não é alterado por ACopy ().
Isso mesmo. Eu não estava entendendo essa parte. Agora funciona:
Function Main()
Local x, aDados:={}, aDadosPrint:={}, nElementos:=100
For x = 1 To nElementos
AaDd( aDados, "Elemento " + Hb_NToS( x ) )
Next
Clear Screen
?
? Len( aDados )
aDadosPrint := Array( Len( aDados ) - 4 ) // coloca o número de elementos desejado na matriz...
aDadosPrint := ACopy( aDados, aDadosPrint ) // assim funcionou...
?
? Len( aDadosPrint )
?
? Atail( aDadosPrint )
?
Return Nil
gilbertosilverio escreveu:Acho que acopy(), concatena matriz, ela copia de uma para outra...
Sim. Mas entendi isso somente agora.
Kapiaba escreveu:Buenas, não entendi a utilidade deste comando.
Pois é... Acabei solucionando com ASize(), então nem vou usar ACopy(). Agora, nem vejo muita utilidade nela, para meu caso. Mas queria entender onde eu estava errando.