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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Anda mal el IF, o estoy haciendo algo mal? Visual 6.0
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Anda mal el IF, o estoy haciendo algo mal? Visual 6.0  (Leído 2,713 veces)
RiasChan

Desconectado Desconectado

Mensajes: 59

RiasChan BNS!


Ver Perfil
Anda mal el IF, o estoy haciendo algo mal? Visual 6.0
« en: 12 Marzo 2018, 02:10 am »

Eso, tan simple como eso, No entiende la sentencia IF, no anda! ya probe con varias combinaciones y no anda, que puedo hacer?

La idea es la siguiente, yo tengo un stock y un punto de reposicion

Por ejemplo,

Stock 50
Punto de reposición 20

Si yo tengo más de 20, deberia decirme "Stock normal"
si tengo menos de 20, "Faltante de stock"
y si tengo 0 "Sin Stock"

bueno la cosa, es que el IF que hice es este:



Código:
Private Sub Command1_Click()
If Text1.Text = 0 Then
MsgBox "Stock 0 !!!!!"
Else
If Text1.Text > Text2.Text Then
MsgBox "Stock mayor"
Exit Sub
Else
MsgBox "Stock menor"
Exit Sub
End If
End If
End Sub

Pero que rayos, el if no anda! si por ejemplo

en el txt de stock pongo 2
y en el txt de reposicion pongo 10, deberia decirme "Stock menor" ya que hay pocas unidades, hay menos unidades de las que deberia tener para avisarme (10)

Y deberia ponerme "Stock menor", Pero no! me pone stock mayor! y encima eso pasa asi le ponga cualquier numero, mayor o menor a 10, siempre sale por el lado del mayor, WTF?

Seguramente tengo algunos errrores menores en el codigo, pero por que sale por el positivo cuando es negativo?



En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Anda mal el IF, o estoy haciendo algo mal? Visual 6.0
« Respuesta #1 en: 12 Marzo 2018, 02:16 am »

estás comparando el texto de las cajas, para comparar el valor debes usar Val(Text1.Text)

por otro lado por qué VB6? es decir, ya vb6 se daba como obsoleto cuando entró windows vista... debía morir con XP, deberías aprender VB.NET que es su versión "moderna" que hacer uso de la .NET framework


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
RiasChan

Desconectado Desconectado

Mensajes: 59

RiasChan BNS!


Ver Perfil
Re: Anda mal el IF, o estoy haciendo algo mal? Visual 6.0
« Respuesta #2 en: 12 Marzo 2018, 02:23 am »

Mi objetivo ahora es terminar este proyecto que tenog colgado desde el 2006 cuando aprendi a programar por 1ra vez... mi 2do objetivo es domnar .net, y si me hace falta, Java. Pero con saber .net y para ampliar sabiduria en otros lenguajes java, ya estaria conforme en esta vida con los lenguajes que quisiera saber. Muchas gracias por esto, ahora lo pruebo,
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Anda mal el IF, o estoy haciendo algo mal? Visual 6.0
« Respuesta #3 en: 12 Marzo 2018, 17:11 pm »

¿"Text1 es mayor que Text2"?, sí, lo es mientras lo sigas comparando como texto, es decir, como una ordenación alfanumérica clásica donde "2" es mayor que "10"... como puedes comprobar en la siguiente imagen aleatoria de ejemplo:


( en Wikipedia tienes otro ejemplo para apreciar la diferencia: https://en.wikipedia.org/wiki/Natural_sort_order )

Si lo que necesitas es tratar tipos de datos numéricos pues entonces debes hacer eso, convertir el valor del tipo String al tipo primitivo Integer, no comparar directamente strings. Puedes utilizar la función Val() para ese propósito como ya te ha explicado el compañero @Engel Lex, aunque lo cierto es que no es la solución más estable si por descuido tu programa permite evaluar cualquier string que no sea numérico y no controlas ese escenario de error, y también por que el tipo de retorno si no recuerdo mal en VB6 era Double... lo cual no es el más adecuado (aunque cumpla su funcionalidad igualmente).

Saludos.
« Última modificación: 12 Marzo 2018, 17:21 pm por Eleкtro » En línea



RiasChan

Desconectado Desconectado

Mensajes: 59

RiasChan BNS!


Ver Perfil
Re: Anda mal el IF, o estoy haciendo algo mal? Visual 6.0
« Respuesta #4 en: 12 Marzo 2018, 17:30 pm »

Hola, justamente por eso último que dices bloquié en el txt cualquier ingreso de palabras, puntos o simbolos, sólo dejé la coma y numeros. Pero me surigó otro problema, y cree el otro topic, tal vez puedas ayudarme ahi tambien, gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿ Que estoy haciendo mal ? « 1 2 »
Programación Visual Basic
Mr.Know 13 6,044 Último mensaje 15 Junio 2010, 12:16 pm
por Psyke1
Buscador que estoy haciendo falla en algo
PHP
z3nth10n 2 1,894 Último mensaje 12 Noviembre 2013, 16:56 pm
por z3nth10n
Que estoy haciendo mal---> C#??
.NET (C#, VB.NET, ASP)
Ila26 2 2,514 Último mensaje 6 Agosto 2014, 00:55 am
por DarK_FirefoX
Python: algo estoy haciendo mal
Ejercicios
Astergoth 8 5,482 Último mensaje 27 Mayo 2017, 02:15 am
por Astergoth
Ayuda, algo anda mal con mi programa batch
Programación General
Baphomet2204 0 2,260 Último mensaje 1 Marzo 2019, 18:10 pm
por Baphomet2204
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines