Trabalhando com Vetor (Linha e Coluna)

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Trabalhando com Vetor (Linha e Coluna)

Mensagem por asimoes »

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 :

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
Alguém tem algo parecido mais simplificado com vetor?

[]´s
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Trabalhando com Vetor (Linha e Coluna)

Mensagem por Pablo César »

Passou-se muito tempo, desculpe acho que cheguei um pouco tarde... rsrs mas por vias das dúvidas, você já analisou a possibilidade de utilizar Tbrowse de Vetores ? Um dos exemplos neste tópico:

https://pctoledo.org/forum/viewto ... res#p25389
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder