elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Comparación múltiple
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Comparación múltiple  (Leído 517 veces)
GodBane

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Comparación múltiple
« en: 19 Febrero 2025, 23:14 pm »

Hola
Tengo este codigo por ej:

If .ListCount = 0 Or CarpetaActual = "uno" Or CarpetaActual = "dos" Or CarpetaActual = "tres" Or CarpetaActual = "cuatro" then

Hay forma de escribir distinto la variable CarpetaActual con todos sus valores posibles al mismo tiempo para ser evaluada, sin tener que repetir la variable cada vez?

Seria algo como If .ListCount = 0 Or CarpetaActual = "uno","dos","tres","cuatro" then

Gracias
Saludos


En línea

**Aincrad**


Desconectado Desconectado

Mensajes: 688



Ver Perfil WWW
Re: Comparación múltiple
« Respuesta #1 en: 20 Febrero 2025, 14:07 pm »

en tu caso, se me ocurre que metas las posibles opciones en un array (el siguiente ejemplo lo dare en pseudo Código por que no me acuerdo de VB6 )

Código
  1. PosiblesOpcionesArray = {"uno",  "dos", "tres", "cuatro"}

y luego verificas si el valor de CarpetaActual esta en el array de posibles opciones. algo como esto :

Código
  1. If .ListCount = 0 Or PosiblesOpcionesArray.Contains(CarpetaActual) then



en tu caso como no creo que dispongas de listas y metodos auxiliares como Contains. tendrias que crear la funcion manualmente :

Código
  1. Function Contains(Array, Valor) As Boolean
  2.    For Each elemento In Array
  3.        If elemento = Valor Then
  4.            Return True
  5.        End If
  6.    Next elemento
  7.    Return False
  8. End Function

y tu if quedaria de ewsta manera :

Código
  1. If .ListCount = 0 Or Contains(PosiblesOpcionesArray, CarpetaActual) then


En línea



GodBane

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Comparación múltiple
« Respuesta #2 en: 20 Febrero 2025, 14:34 pm »

Hola, muchas gracias por la respuesta. Lo voy a probar.

Igual pensaba que habría algo mas sencillo en VB6 para no depender de una fx externa, como la  fx INLIST() de Fox por ejemplo.

Saludos
En línea

Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.397


Ver Perfil
Re: Comparación múltiple
« Respuesta #3 en: 1 Marzo 2025, 23:21 pm »

Claro que hay forma sencilla de hacerlo en vb6...

Dado que son cadenas de texto a comparar, lo siguiente es perfectamente válido en tu caso:
Código
  1. if (.listcount =0) and ((instr("uno, dos, tres, cuatro", carpetaactual) >0) then
  2.  
Haz uso del parámetro 'compare' de la función interna 'instr', si fuera preciso...
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
findfirst multiple VBA DAO
Programación Visual Basic
CrÄsH 3 2,641 Último mensaje 17 Abril 2009, 11:28 am
por CrÄsH
Multiple Exponeciacion y Modulacion
Ejercicios
AlbertoBSD 4 5,026 Último mensaje 11 Octubre 2009, 04:19 am
por AlbertoBSD
Lista múltiple
Java
jhonatanAsm 3 2,560 Último mensaje 16 Junio 2012, 02:49 am
por Proteus1989
SELECT MULTIPLE
Bases de Datos
Shell Root 3 3,492 Último mensaje 17 Octubre 2012, 10:28 am
por HdM
Upload multiple
Bases de Datos
dimitrix 6 3,812 Último mensaje 11 Octubre 2014, 01:36 am
por dimitrix
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines