Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

VB6 - Buscar dentro de un array

Estas en el tema de VB6 - Buscar dentro de un array en el foro de Visual Basic clásico en Foros del Web. Hola amigos imaginemos que tenemos este array miArreglo(0)="55368" miArreglo(1)="12336" miArreglo(2)="12368" miArreglo(3)="12358" miArreglo(4)="99654" miArreglo(5)="33224" miArreglo(6)="45996" miArreglo(7)="35412" miArreglo(8)="12879" miArreglo(9)="45698" miArreglo(10)="35597" Cómo puedo buscar el numero 45996 y ...
  #1 (permalink)  
Antiguo 03/12/2008, 03:12
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
VB6 - Buscar dentro de un array

Hola amigos imaginemos que tenemos este array

miArreglo(0)="55368"
miArreglo(1)="12336"
miArreglo(2)="12368"
miArreglo(3)="12358"
miArreglo(4)="99654"
miArreglo(5)="33224"
miArreglo(6)="45996"
miArreglo(7)="35412"
miArreglo(8)="12879"
miArreglo(9)="45698"
miArreglo(10)="35597"

Cómo puedo buscar el numero 45996 y que me diga si está en el array o no?

Gracias!!!!
  #2 (permalink)  
Antiguo 03/12/2008, 03:40
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: VB6 - Buscar dentro de un array

de momento tengo hecho esto, pero me salta un error que dice "Calificador no valido"

Esta es mi función
Código:
Function NoEsta(numPet As String, arrayNumPet() As String) As Boolean
    Dim posiciones As Integer
    posiciones = arrayNumPet.Len
    
    For i = 0 To posiciones - 1
        If arrayNumPet(i) = numPet Then
            NoEsta = True
        Else
            NoEsta = False
        End If
    Next i
End Function
y la llamo asi
Código:
        Dim numPeticio() As String
        Dim comptadorArray As Integer
        comptadorArray = 0

            If NoEsta(rsPeticions.Fields("pbtnpet").Value, numPeticio()) Then
                ReDim numPeticio(comptadorArray)
                numPeticio(comptadorArray) = rsPeticions.Fields("pbtnpet").Value                ' Guardamos el numero de peticion en una variable
                comptadorArray = comptadorArray + 1
            Else
                rsPeticions.MoveNext
            End If
Gracias de nuevo
  #3 (permalink)  
Antiguo 03/12/2008, 04:18
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: VB6 - Buscar dentro de un array

Cita:
Iniciado por Laufwerk Ver Mensaje
de momento tengo hecho esto, pero me salta un error que dice "Calificador no valido"

Esta es mi función
Código:
Function NoEsta(numPet As String, arrayNumPet() As String) As Boolean
    Dim posiciones As Integer
    posiciones = arrayNumPet.Len
    
    For i = 0 To posiciones - 1
        If arrayNumPet(i) = numPet Then
            NoEsta = True
        Else
            NoEsta = False
        End If
    Next i
End Function
Gracias de nuevo
Hola, modifica esta línea

For i = 0 To UBound(arrayNumPet)

Y no necesitas la variable 'posiciones'.

  #4 (permalink)  
Antiguo 03/12/2008, 04:27
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: VB6 - Buscar dentro de un array

ok, ahora me salta un error que me dice:
"El subíndice está fuera del intervalo" justamente en la línea que ud. me puso.

Gracias
  #5 (permalink)  
Antiguo 03/12/2008, 05:00
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: VB6 - Buscar dentro de un array

Cita:
Iniciado por Laufwerk Ver Mensaje
ok, ahora me salta un error que me dice:
"El subíndice está fuera del intervalo" justamente en la línea que ud. me puso.

Gracias
¿Qué valor tiene la variable i cuando salta el error?
¿Tienes declarada la instrucción Option Base?

  #6 (permalink)  
Antiguo 03/12/2008, 05:17
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: VB6 - Buscar dentro de un array

creo que es porque en el primer instante el array no vale nada.
Te adjunto mi codigo

Código:
Dim numPeticio() As Integer

            If Not Esta(rsPeticions.Fields("pbtnpet").Value, numPeticio()) Then
                ReDim numPeticio(comptadorArray)
                numPeticio(comptadorArray) = rsPeticions.Fields("pbtnpet").Value                ' Guardamos el numero de peticion en una variable
                comptadorArray = comptadorArray + 1
...
...
...
Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:44.