Como saber quantas colunas tem um vetor?

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Como saber quantas colunas tem um vetor?

Mensagem por rubens »

Olá...

Tenho um vetor

Código: Selecionar todos

aMenu := {;
              {'Cadastros','Cada',1},;
              {'Manutencao','Manu',1},;
              {'Relatorios','Relat',3},;
              {'Utilitaros',aUtilit,9};
              }
Como faço para saber quantas colunas tem em cada linha?

Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Como saber quantas colunas tem um vetor?

Mensagem por alxsts »

Olá!

O comprimento de vetores em xBase é retornado pela função Len(). Exemplos:

Código: Selecionar todos

LOCAL aArray 

   // atribui elementos simples a aArray, transformando-o em um vetor unidimensional
   aArray := { "a","b","c" }
   ? Len( aArray ) // --> 3

   // atribui elementos que também são arrays a aArray, transformando-o em um vetor bidimensional
   aArray := {;
            {'Cadastros','Cada',1},;
            {'Manutencao','Manu',1},;
            {'Relatorios','Relat',3},;
            {'Utilitaros',aUtilit,9};
            }

      // Comprimento do array
      ? Len( aArray ) // --> 4

      // Comprimento de cada dimensão do array
      ? Len( aArray[ 1 ] ) // --> 3
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Como saber quantas colunas tem um vetor?

Mensagem por rubens »

Beleza...
Obrigado

Para baixo, a qtde de linhas eu sabia, agora para a direita, qtde de colunas não...
Valeu...

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
sambomb
Usuário Nível 3
Usuário Nível 3
Mensagens: 250
Registrado em: 24 Out 2008 17:02
Localização: Itaocara - RJ - Brasil

Como saber quantas colunas tem um vetor?

Mensagem por sambomb »

Vale lembrar que o número de colunas não precisa ser o mesmo para todas as linhas, é possível ter cada linha com um tamanho diferente.
Imagem

Rca Sistemas - Itaocara - RJ
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Como saber quantas colunas tem um vetor?

Mensagem por microvolution »

PESSOAL boa tarde!
como o SAMBOMB foi muito feliz em sua colocação, é exatamente sobre essa questão que tenho dúvida.

Estou criando um MENU que contenha algumas colunas 3 ou 4 em cada linha.

Se eu considerar que todos tem 3 (e de fato não há quantidade menor de colunas) não gera erro.
Se eu considerar que todos tem 4 aí gera um erro pois, como disse, alguns tem 3 ou 4 colunas.

Então, como fazer para testar se um valor existe dentro de uma matriz/vetor?

exemplo:

Código: Selecionar todos

local matriz1 :={}

aadd({matriz1,'cadastros','consultas','relatorios'})
aadd({matriz1,'clientes'})
aadd({matriz1,'fornecedores'})
aadd({matriz1,,'fornecedores'})

etc etc
Bom, olhando assim é muito fácil de saber que falta os elementos 2 e 3 na segunda linha e falta o elemento 1 e 3 na terceira linha.

Se eu fizer uma rotina que não sabe diferenciar que os elementos 1 e 3 da 3ª linha existem, gerará um erro.
Então, como faço pra testar se existe tais elementos? já tentei um tipo assim:
if (matriz1[1])=nil
? 'elemento inexistente'
endif
o compilador apresenta um erro de RUN-TIME.

Como faço pra resolver essa minha dúvida?

Por enquanto é só:
Ah! EU DECLARO QUE DEUS EXISTE e independente de nos existirmos Ele sempre existiu, existe e sempre existirá! Se você crê ou não, se é ateu ou atoa, DEUS EXISTE!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
sambomb
Usuário Nível 3
Usuário Nível 3
Mensagens: 250
Registrado em: 24 Out 2008 17:02
Localização: Itaocara - RJ - Brasil

Como saber quantas colunas tem um vetor?

Mensagem por sambomb »

Código: Selecionar todos

For nLinha := 1 to Len(aLinhas)
   ? Len(aLinhas[nLinha]) 
End
Imagem

Rca Sistemas - Itaocara - RJ
Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Como saber quantas colunas tem um vetor?

Mensagem por rubens »

Então Sandro...
Até aí tudo bem...
Mas se tiver um vetor assim:
aCadastro := { 'Incluir','{||Incluir()',,'Incluir novo cliente'}}
Como eu sei se existe o terceiro elemento, como o o Microevolution disse...?

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Responder