Ir para conteúdo
Fórum Script Brasil
  • 0

erro de iniciante


Joao porto

Pergunta

boas pessoal, estou a tentar fazer uma programinha mas não consigo por a funcionar , dá erro

e assim se eu inserir o numero 1,2, 3 funciona bem e chama a form1.show, mas eu quero k se por exemplo eu digitar 4 ele me dÊ uma mensagem de erro. então tentei "algoritmo 2".

algoritmo 1

Dim i As Integer

Dim usuario(100) As Integer

usuario(1) = "1"

usuario(2) = "2"

usuario(3) = "3"

For i = 0 To 100

If usuario(i) = TextBox1.Text Then

Form1.Show()

TextBox2.Text = i

End If

Next

algoritmo 2- aki ele nunca para o ciclo e esta sempre aparecer mensagem não contem na lista.

Dim i As Integer

Dim usuario(100) As Integer

usuario(1) = "1"

usuario(2) = "2"

usuario(3) = "3"

For i = 0 To 100

If usuario(i) = TextBox1.Text Then

Form1.Show()

TextBox2.Text = i

Else

MsgBox("não contem na lista")

End If

Next

como posso resolver este caso

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Cara parece está tudo certo, claro se você estiver com os campos

TextBox2

TextBox1

form1

caso você saiba teria como ir "Debugando" para saber ser esta errado mesmo ou se estar correto pois como você colocou ate 100 o vetor e só os 3 para exibir a form, pode ser que você não veja ele mudar...

Link para o comentário
Compartilhar em outros sites

  • 0

Você não pode dar a mensagem no Else porque você ainda não correu a lista toda e ainda não sabe se existe ou não. Você poderia fazer assim:

Dim i As Integer
Dim achou As Boolean
Dim usuario(100) As Integer
usuario(1) = "1"
usuario(2) = "2"
usuario(3) = "3"

achou = False
For i = 0 To 100
    If usuario(i) = TextBox1.Text Then
        Form1.Show()
        TextBox2.Text = i
        achou = True
        Exit For
    End If
Next

If Not achou Then
    MsgBox "Usuário não encontrado!"
Endif

Outra possibilidade seria usar a função Filter() para encontrar o elemento no vetor sem ter que fazer um loop.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

tks pessoal entendi:)

resolvi o caso assim

Dim msg As String

Dim style As MsgBoxStyle

Dim response As MsgBoxResult

Dim nome As String

Dim pass As String

Dim i As Integer

Dim usuario(100) As Integer

Dim password(100) As String

pass = PasswordTextBox.Text

nome = UsernameTextBox.Text

usuario(1) = "1"

usuario(2) = "2"

usuario(3) = "3"

password(1) = "a"

password(2) = "b"

password(3) = "c"

Do Until usuario(i) = nome And password(i) = pass Or i = 100

i = i + 1

Loop

If usuario(i) = UsernameTextBox.Text Then

Form1.Show()

Else

msg = "Username ou password Inválida" ' Define message.

style = MsgBoxStyle.OkOnly

response = MsgBox(msg, style)

If response = MsgBoxResult.Ok Then

UsernameTextBox.Clear()

PasswordTextBox.Clear()

' User chose Yes.

Else

' Perform some other action.

End If

End If

End Sub

agora vou tentar com uma listbox ou seja adiciono para listbox os utilizadores e corro a listbox. vamos ver o que sai:)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...