Trabalhando com Vetor (Linha e Coluna)
Enviado: 25 Jul 2010 19:23
Senhores,
Procurei aqui no forúm uma solução para exibir informações neste formato conforme exemplo baixo, mas não encontrei.
00001 TESTE 00004 TESTE 00007 TESTE 00010 TESTE
00002 TESTE 00005 TESTE 00008 TESTE
00003 TESTE 00006 TESTE 00009 TESTE
Então criei este código :
Alguém tem algo parecido mais simplificado com vetor?
[]´s
Procurei aqui no forúm uma solução para exibir informações neste formato conforme exemplo baixo, mas não encontrei.
00001 TESTE 00004 TESTE 00007 TESTE 00010 TESTE
00002 TESTE 00005 TESTE 00008 TESTE
00003 TESTE 00006 TESTE 00009 TESTE
Então criei este código :
Código: Selecionar todos
FUNCTION MAIN
LOCAL aVetorMens:={}, I, cObs:="", aVetor
FOR I:=1 TO 10
AADD(aVetorMens,STRZERO(I,5)+ " TESTE")
NEXT
//aVetorMens é uma matriz de que contém 10 elementos
//Avetor é uma matriz multidimensional com 10 linhas e 10 colunas
aVetor:=Array(LEN(aVetorMens),10)
//A exibição será feita em 3 linhas por 10 colunas
cObs:=MontaVetor(aVetorMens, aVetor, 3, 10)
? cObs
INKEY(0)
RETURN NIL
FUNCTION MontaVetor(aVetorFonte, aVetor, nLinhas, nColunas)
LOCAL cVar, I, J, nLin, nCol, aVetorAux, C, L
FOR I:=1 TO LEN(aVetor)
FOR J:=1 TO nColunas
aVetor[I,J]:=""
NEXT
NEXT
cVar:=""
nCol:=1
nLin:=1
FOR I:=1 TO LEN(aVetorFonte)
aVetor[nLin,nCol]:=aVetorFonte[i]
nLin++
IF MOD(I,nLinhas) = 0
nCol++
nLin:=1
ENDIF
NEXT
FOR L:=1 TO LEN(aVetor)
FOR C:=1 TO nColunas
cVar+=IF(!EMPTY(aVetor[L,C]),aVetor[L,C]+" ","")
NEXT
IF !EMPTY(aVetor[L,1])
cVar+=chr(13)+chr(10)
ENDIF
NEXT
RETURN cVar
[]´s