[Aportes indexados] // Eventos y IF En VB

Estado
Cerrado para nuevas respuestas.

Dj Mixer

Destructor Lvl 1
[Manual Basico]// Eventos y IF En VB

Para que quede claro :D... no estamos trabajando en Argentum Online.. Argentum Online es programado en VB pero no es lo mismo..
Bueno vamos a hacernos un proyectito temporal para aprender un cacho.
Abrimos el VB y vamos a Exe Standart. Luego vemos un Form.
Vamos a hacerle doble click al form ( al cuadradito gris )... Al Hacerle doble click vemos que
estamos sobre una parte blanca y que dice:
Private Sub Form_Load()
(CURSOR)
End Sub
Vamos a ver mas de cerca que significa "Form_Load". Form, que es formulario, es el lugar donde
vos estas trabajando.. vos estas trabajando en un Form.. Pero y el "_Load"? Eso significa el EVENTO
Entonces Form_Load ( si sabes ingles ) significa "Cuando se carga el Formulario" o algo asi =)
Entonces volvamos:

Private Sub Form_Load()

End Sub

Ahi vemos el Sub ( luego indico que es ) Form_Load ().. Bueno pero hasta ahora no hemos echo nada
Escuchad bien.. Todas las instrucciones que le das a la maquina para que haga cuando se carga el Form
Van entre el Private Sub form_load() y el END SUB.
End Sub ( si sabes ingles ) significa Final del Sub
Bueno hagamos algo para repasar esto...
Abran el proyecto y Trabajaremos en el Form_load()
Hagamos que diga tu nombre, ok?
Entonces cuando se carga el form, va a pasar lo siguiente :

Show
MiNombre = "TU NOMBRE AQUI ENTRE COMILLAS"
Print MiNombre

Imaginas como quedaria? piensa.. esta en el evento Load del Form... Quedaria algo asi

Sub Form_Load()
Show
MiNombre = "TU NOMBRE AQUI ENTRE COMILLAS"
Print MiNombre
End Sub

Ahora probemoslo!.. Apreta F5 o el Play que esta en la barra de arriba

Terminastes? Viste que arriba a la isquierda estaba escrito tu nombre?
Quieres saber porque?
Bueno mira.. Se carga el form. ( EL VB LEE DE ARRIBA ISKIERDA PARA ABAJO DERECHA.. Osea igual que nosotros )
Entonces Mira donde dice Show.. Porque puse show? (En ingles "Mostrar") Porque sino no funcionaria el Print
Bueno Sigamos.. VB Mira donde dice MiNombre. Dice que es un objeto ( Variable ) y lee = "Tu nombre entre comillas"
Dice Bueno MiNombre es Igual que decir mi nombre :D ( leean el codigo, Leeanlo )
Bueno Despues lee Print.. Que en ingles es Impresión.. Bueno VB dice "Pucha tengo que mostrar algo" y sige leyendo
VB ve Print Minombre.. Se acuerda aver leido antes que MiNombre es igual a "Tu Nombre entre comillas" Entonces dice.. "Bueno
Si es lo que tanto queres" y te muestra MiNombre en la pantalla ( MiNombre = A tu nombre :D )

Tambien podrias haber echo:

Private Sub Form_Load()
Show
Print "TU NOMBRE AQUI ENTRE COMILLAS"
End Sub

Viste? exactamente Igual, solo que es mas facil poder hacer esto :

Private Sub Form_Load()
Show
A = 10
Print A + 1
End Sub

NO corras diciendo que es re dificil.. porque te lo explico!.. Mira A = 10 no? entonces cuanto sera 10 + 1 ( osea A + 1 )
Empiesa con 1 y termina con 1 ( 11 XD )
Proba mi ultimo codigo ( A + 1 ) y fijate que te impresa :D

Si no entendiste algo, relee con cuidado.

Empesemos con los IF
Bueno IF en ingles es? :D ::. If en ingles es SI
Combinado con el Then ( entonces ) y el Else ( Sino ) y el End If ( Termino del IF - Osea SI en ingles )
quedaria algo asi

IF DATOTULLO = A ALGO Then
DATOTULLO2
END IF

Vamos a pensar ( si vithe ;D ).. Ahi dice Si Datotullo es igual a algo entonces se ejecuta el datotullo2.. despues de terminar
con datotullo2 se termina la cosa......
Te lo explico Asi...
Yo tengo 12 Manzanas.. Cada 6 Manzanas me dan 1 Kiwi
Entonces

Si tengo 6 manzanas entonces
me dan un kiwi
listo

jajaj te engañe! traduscamos lo anterior...

If Manzanas = 6 then
Kiwi = 1
End If

OOoPa!!!!
y si le quiero decir a la pc que si tenes 12 te de 2 ?

If Manzanas = 12 Then
Kiwi = 2
End If

Parece que gusto no?.. es una de las funciones mas usadas en VB
Repasemos esto.. Nuestro viejo proyecto se viene denuevo
pongamos esto en el evento load del form

Private Sub Form_Load()
Show

A = 10
B = 5

If A + B = 15 Then
Print "Estas aprendiendo wachiN!!!"
End If
End Sub

Ahora veamos que pasa si no da 15!!!!
VOlvamos con Else ( Sino )

Private Sub Form_Load()
Show

A = 8
B = 5

If A + B = 15 Then
Print "REsultado imposible no?"
Else
Print "8 + 5 da 13 !!"
End If
End Sub

Fijate que te dice "8 + 5 da 13 !!" Porque? porque si el numero no daba 15 de una te saltaba ese mensaje
Es muy facil el else por eso lo doy que quedo claro
Ahora vamos a ver que pasa si A + B da Menos que 15 y que pasa si da igual o mas de 15

Veamos

Private Sub Form_Load()
Show

A = 8
B = 5

If A + B = 15 Then
Print "Obio q da mas o igual de quince"
Else
Print "Que paso??!! XD"
End If
End Sub

Eva.. Fijate ">= 15" ( mayor o igual a 15 )

SEGUIRA!

ESTOY HACIENDO UN SUPERMANUAL

Atte
Dj Mixer

SIGUE!!

Vamos a hacer unos programas
Les explico brevemente esta barrita



Bueno ahora abrimos el vb y nos creamos un programita..
Paso 1
Metan 1 caja de texto ( TEXTBOX ) de cualquier diametro ( No muy chico!! ) en donde quieran...
Tambien Metan un label de cualquier diametro ( No muy chico!! )
Despues metan un Boton (Command BUtton) en donde quieran...
Ahora haganle doble click al boton ( en modo de diseño y no en ejecucion )
hasta q les aparesca donde va todo el codigo... Y aparesca algo asi

Private Sub Command1_Click()

End Sub

Bueno que quede asi..

Private Sub Command1_Click()
If not Text1.text = "" then
MiNombre = text1.text
Label1.caption = "Hola " & MiNombre & ", Sos Groxo sabelo"
end If
End Sub

Acabamos de ver cosas nunca antes vistas!!!

Miren Fijense que dice Fijense en el IF NOT
Piensen que seria en castellano.. Seria SI NO.. Traduciendo diria: Si Text1.text no es igual a "" (Osea nada) entonces...
Vale aclarar que Text1 es la caja de texto ( textbox ).. Pero que pasa con el .text?!?!?!?
Bueno el punto le dijo a vb que se iba a concentrar en UNA PROPIEDAD del TEXTBOX.. Cual es esa propiedad ??? Bueno la PROPIEDAD es EL TEXTO QUE TIENE ADENTRO ( Osea .TEXT )
Entonces ahi le esta diciendo que se fije en el contenido del textbox..
Sigamos
Decia:

If not Text1.text = "" then
MiNombre = text1.text
Label1.caption = "Hola " & MiNombre & ", Sos Groxo sabelo"
end If

Si Hay contenido en el textbox ( osea que no es igual a nada ) VB puede seguir leyendo.. En caso de que el contenido sea "" osea NADA el vb no sigue leyendo y corta ahi sin mensajes de alerta ni nada..
Sigamos leyendo

MiNombre = text1.text
Label1.caption = "Hola " & MiNombre & ", Sos Groxo sabelo"
end If

Entonces Le dice a VB que Minombre es igual al contenido del TextBox!! Osea que si pusiste tu nombre en el TextBox te va a salir bien!

Despues sige

Label1.caption = "Hola " & MiNombre & ", Sos Groxo sabelo"

Ahi le dice a VB que nos vamos a fijar en la PROPIEDAD ".CAPTION" del Label que insertamos antes.
Pero.. Que es el Caption???!?!?! Bueno el Caption es el contenido del label ( EN un label la data de adentro no se puede modificar.. por eso no es .TEXT, que solo se usa en los TextBox)

Bueno Perfecto nos fijamos en el contenido del label ¿Pero despues?

Label1.caption = "Hola " & MiNombre & ", Sos Groxo sabelo"

Dice que el contenido del label sea "Hola" ( Va entre comillas porque es una palabra, todas las palabras van entre comillas.. Luego lo explico )
Pero despues?.. y esa cosa??! ese &??? bueno le dice a VB que el mensaje sea
"Hola MINOMBRE"
osea fijate que deje un espacio despues del "Hola".. Porque? porque sino quedaria
"HolaMINOMBRE"
Muy sencillo
Sigamos

Label1.caption = "Hola " & MiNombre & ", Sos Groxo sabelo"

Como vimos antes ese Unidor de palabras "&" :p por no definirlo mejor... une Palabras (KUACK:D).. Bueno hasta ahora el contenido del label es :
Hola MINOMBRE.. ( EN MINOMBRE sale el nombre que pusiste en el TextBox ).. Pero despues pone el & ", Sos groxo sabelo" Bueno ahi une toda la oracion.. Osea une ",sos groxo sabelo" con "Hola " & MiNombre
Si No lo entendiste, ejecuta el programa y pone tu nombre en el TextBox y apreta el boton :D...
Fijate que dice Hola TUNOMBRE, Sos groxo sabelo... Porque? porque estan todas unidas las palabras con ese unidor ( & )...

& es AND en ingles.. AND en ingles es Y

---
Si No te funciono comunicate conmigo

Seguimos con IF? :D

Bueno Vamos a ver que pasa si pongo

If Manzanas = 6 And Kiwi = 1 then
Banana = 1
End If

Se dan cuenta que hise?.. MIren el
Fijate que puse "Si Manzanas es igual a 6 y Kiwi es igual a 1 entonces"
Entonces que haria?.. Lo que hace es cada 6 manzanas y 1 kiwi te da 1 banana :D JAJAJA:D Viste q loco! Piensa en todas las posibilidades que podes hacer..
( EN AO q cada 3 echis te den 1 item con ese simple codigo :D)
 
Estado
Cerrado para nuevas respuestas.
Arriba