Boa tarde, Estou mexendo com a manipulação de um array e me surgiu a necessidade de inserir informações em posições especificas do Array, empurrando automaticamente os registros para frente. O que encontrei até o momento ajuda bastante, que é utilizar o AADD para criar um ultimo registro vazio, então usar a AINS para mover todos e abrir o espaço na posição desejada, para só então adicionar a informação.
É melhor que fazer os reposicionamentos na mão? Sim!
Mas será que já não existe alguma função pronta para isso?
*Exemplo de como eu resolvi:
Static Function fAddInX(aRetorno,nPos,aInfo)
//aRetorno = Array recebido que passará por todo o processo e será retornado
//nPos = Posição em que a informação deve ser colocada
//aInfo = Um vetor com todas as informações a se colocar na posição desejada
//Adiciono uma linha a mais no array
AADD(aRetorno,NIL)
//Posiciono um valor NIL na posição desejada
aIns(aRetorno,nPos)
//Coloco a informação na linha correta
aRetorno[nPos] := aInfo
Return aRetorno
Minha fonte para encontrar essas funções de manipulação de dados é esta.