USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Verificar se a posição existe
rlinop
PORTO ALEGRE
RS - BRASIL
ENUNCIADA !
Postada em 13/12/2004 16:34 hs            

Olá gente.. Eu gostaria de saber como é que eu faço pra verificar se a posição de um vetor existe ou não tipo:

If PosicaoDoVetorExiste Then
       ........
end If

Obrigado a todos.

Oks,
Rafael Portal

 
   
Sandro
não registrado
Postada em 13/12/2004 22:44 hs   
Olá Rafael,
 
Não sei se entendi bem, mas você está tentando descobrir se um subscrito de um vetor qualquer existe ou não dentro do vetor. É isso? Bem, se for, a melhor maneira de você testar é usando um recurso dos mais antigos: os erros! É isso mesmo, basta você criar uma nova função pública em um módulo e testar se o subscrito existe. Se ocorrer um erro, ele não existe. Para isso funcionar você deve desativar a verificação de erros com "On Error Resume Next" no início da função. Veja só:
 
    Dim Teste(3) As String
    Teste(0) = "a"
    Teste(1) = "b"
    Teste(2) = "c"
    Teste(3) = "d"
 
    MsgBox Indice_Existe(Teste, 1)     'Retorna True
    MsgBox Indice_Existe(Teste, 4)     'Retorna False
 
'Esta é a função que testa se o índice existe ou não
Public Function Indice_Existe(ByRef Vetor As Variant, Indice As Integer) As Boolean
    On Error Resume Next
   
    Dim Testando As Variant
   
    Testando = Vetor(Indice)
    Indice_Existe = (Err.Number = 0)
   
    If Err Then Err.Clear
 
End Function
 
Qualquer dúvida, post.
 
um abraço,
Sandro.
 
     
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
Postada em 14/12/2004 08:30 hs         
'Função verifica se o índice existe
Public Function Indice_Existe(ByRef Vetor As Variant, Indice As Integer) As Boolean
    Indice_Existe = (LBound(Vetor) <= Indice) And (Indice <= UBound(Vetor))
End Function
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página