• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

programadorvb6

Problema com Matriz

9 mensagens neste tópico

Passo a descrever a ajuda que preciso :

Fabricar uma Matriz para receber  5 campos.

Adicionar os dados dos campos á Matriz.

Procurar o penúltimo "text" antes da palavra "password"

Indicar em que posição na Matriz se encontram a penúltima "text" (antes da "password") e também a posição em que se encontra a "password".

Campos exemplos :

Campo1="text"

Campo2="select-one"

Campo3="text"

Campo4="hidden"

Campo5="password"

Obrigado desde já

Até+

programadorVB6

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Amigo Matriz referes-te a um array?

Se for acho que basta só:

Dim array(5) as String

Mas como percebes bastante disto penso que não é o que queres, mas isso é para armazenar num array?

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom uma boa sugestão é percorreres uma estructura de repetição for()... em vez de fazeres a contagem de 0 para o total de campos da matriz fazes o inverso, ate encontrares a password. Quando o texto for igual a password colocas um bool a indicar q encontraste a password e deixas continuar o processo. Quando encontrares depois dessa flag o text. é so sacares o indice...

em pseudo codigo sera isto

Declarar Campo como Matriz(5)

Declarar flag como Boolean

Declarar index como int

flag = false;

Campo(1)="text"

Campo(2)="select-one"

Campo(3)="text"

Campo(4)="hidden"

Campo(5)="password"

for( int i = Campo.Length() -1 ; i>-1; i--)

{

    Se (flag)

    {

        Se (Campo(i) == "password")

        {

              flag = true

        }

    }

    Senão

    {

          Se Campo(i) == "text"

          {

                  flag = false;

                  index = i

                  Break

          }

    }

}

Mostra Index

Desculpa la a sintaxe não ser mais tipo vb... mas eu não conheço bem a sintaxe de vb porq sou programador de C#

mas pronto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas ajudou bastante , obrigado pela tua colaboração.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora tradução para VB (corrijam-me se tiver enganado)

Dim Campo(4) As String
Dim Flag As Boolean
Dim index As Int

flag=false;

Campo(0)="text"
Campo(1)="select-one"
Campo(2)="text"
Campo(3)="hidden"
Campo(4)="password"

for i=UBound(campo) to 1 Step -1
if (flag) then

  if campo(i) = "password") then
   flag=true;
  end if

else

   if Campo(i) = "text" then
    flag = false;
    index = i
    exit sub 'não sei se o break cria dizer para terminar o ciclo dai a meter exit sub               
   end if

end if

next i

Já agora para que queres isto programadorvb6 ? Qual a vantagem?

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ups foi engano meu, é =

Peço desculpa pelo engano e obrigado por me notificares.

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora