Introducción
-----------------------------------------------------------------
*Primero q todo este es mi primer curso entonces me disculpan si se me olvida algo o comento algún error. Este curso esta enfatizado para la gente con ganas de aprender.
*Segundo se iran poniendo los temas por ver en cada entrega, como esta es la primera solo se veran estos temas y así vamos agrandando temas y demás
*Tercero para los q le ha gustado esta idea y quieren participar favor hacérmelo saber mi msn es
ruben_molga1@hotmail.com-----------------------------------------------------------------
1.2 Que es Visual Basic
-----------------------------------------------------------------
Visual Basic es un lenguaje de programación de bajo nivel, fácil de usar, práctico este lenguaje se guía por eventos que son las acciones tomadas por sus osarios tales como:
-hacer un clic en un punto determinad o
-oprimir un botón...
Características Generales de Visual-Basic
Visual-Basic es una herramienta de diseño de aplicaciones para Windows, en la que estas se desarrollan en una gran parte a partir del diseño de una interface gráfica. En una aplicación Visual Basic, el programa está formado por una parte de código puro, y otras partes asociadas a los objetos que forman la interface gráfica.
Es por tanto un termino medio entre la programación tradicional, formada por una sucesión lineal de código estructura do, y la programación orientada a objetos. Combina ambas tendencias. Ya que no podemos decir que VB pertenezca por completo a uno de esos dos tipos de programación, debemos inventar una palabra que la defina: PROGRAMACI ON VISUAL.
La creación de un programa bajo Visual Basic lleva los siguientes pasos:
Análisis. Es el estudio de las necesidades s que han dado origen a la creación de ese programa.
Es lo que se llama Análisis de la aplicación. Es la primera fase que debe tener siempre un programa y es también la más olvidada entre los programado res noveles. Una aplicación no se inicia con el teclado, sino sobre un papel.
- Creación de una interfase de usuario. Este interface será la principal vía de comunicación hombre máquina, tanto para salida de datos como para entrada.
Será necesario partir de una o varias ventanas - Formulario s - a las que le iremos añadiendo los controles necesarios.
- Definición de las propiedades de los controles - Se dará la forma,
Posición, y todas las características necesarias a los controles que hayamos colocado en ese formulario. Estas propiedades determinarán la forma estática de los controles, es decir, como son los controles y para qué sirven.
- Generación del código asociado a los eventos que ocurran a estos controles.
A la respuesta a estos eventos (click, doble click, una tecla pulsada, etc.) le llamamos Procedimiento, y deberá generarse de acuerdo a las necesidades del programa.
- Generación del código del programa. Un programa puede hacerse solamente con la programación de Los distintos procedimientos que acompañan a cada objeto.
Sin embargo, VB ofrece la posibilidad de establecer un código de programa separado de estos eventos. Este código puede introducir se en unos bloques llamados Módulos, en otros bloques llamados Funciones, y otros llamados Procedimientos. Estos Procedimientos no responden a un
Evento acaecido a un control o formulario, sino que responden a un evento producido durante la ejecución del programa.
No es necesario entender de momento lo anterior. Visual Basic introduce un concepto nuevo de programación, y es necesario cambiar hasta el argot del programado r. Posiblemente se le habrán
Acumulado demasiados términos de una sola vez. Es normal. A poco que siga leyendo verá las cosas mas claras cuando se explique una por una.
Algunas reglas o Normas para ser un buen Programador
1. Contemplar todas las posibilidades que tiene el usuario
2. Suponer que el usuario intentara hacer fallar el sistema
3. El programa de be ser lo mas sencillo posible para el usuario haci sea muy complicado para el programador
4. Todo programa debe ser agradable a la vista
-----------------------------------------------------------------
2-Estructura de un proyecto
-----------------------------------------------------------------
Aqui veremos los significados de las diferentes estructutar de un proyecto para VB
- Módulos de formulario
Los módulos de formulario tienen la extensión .frm pueden contener declaraciones de formulario de constantes, variables y procedimientos externos, así como procedimientos de evento y procedimientos generales.
-Módulos de clase
Los módulos de clase tienen la extensión .cls son similares a los formulario, excepto en que no tienen interfaz de diseño. La utilidad de este modulo es por ejemplo si necesitan hacer determinada accion en varios formularios y para no alargar todo y copiar esa accion en todos los formularios solo basta con agregar un modulo y poner hay lo q necesiten.
-Módulos estándar
Los módulos estándar tiene la extensión .bas pueden contener declaraciones públicas o a nivel de módulo de tipos, constantes, variables, procedimientos externos y procedimientos públicos.
-----------------------------------------------------------------
3- Variables
-----------------------------------------------------------------
Las variables en Visual Basic se pueden utilizar sin necesidad de declararla s.
Hay dos tipos de variables las LOCALES q son aquellas que unicamente son reconocidas dentro de una funcion o procedimiento
Ejemplo: sub btn_calcular.click()
sp=form1.txt_n1 +form1.txt_n2
end sub
La variable "sp" solo sera reconocida dentro del procedimiento bnt_calcular.click ()
GLOBALES: Este tipo de variables si son reconocida s en cualquier función o dentro de
Cualquier procedimiento.
Estas variables necesitan declaración, para declarar una variable debe especificarse su tipo y su tamaño
El nombre de una variable:
* Debe comenzar con una letra.
* No puede incluir un punto o un carácter de declaración de tipo.
* No debe exceder de 255 caracteres.
* Debe ser única en el mismo alcance, que es el intervalo desde el que se puede hacer
DECLARACIO N DE VARIABLES
DIM
Para declarar una variable por medio de la instrucción Dim:
Esta es la forma mas comun de declarar una variable puede usarse en un Procedimiento, formulario, modulo en una funcion
Sintaxis :
Dim nombrevariable As tipovariable
PRIVATE
Es la forma de declarar un variable como privada, solo se puede usar en un formulario o modulo
Sintaxis:
PRIVATE nombrevariable As tipo
GLOBAL
al declara una variable como Global significa q puede ser usada en todo el programa y solo puede usarse en el modulo
Sintaxis:
Global nombrevariable As tipo
PUBLIC
Puede declarase una variable como publica y se usa en un formulario o mudulo
sintaxis:
PUBLIC nombrevariable As tipo
FORMA DE DECLARA VARIAS VARIABLE AL MISMO TIEMPO
La forma correcta de declara varias variables en una sola linea es asi :
DIM variable1 AS String, variable2 As byte,variable3 AS date ......
-----------------------------------------------------------------
3.1-TIPOS DE VARIABLES
-----------------------------------------------------------------
Las variables pueden ser de los siguientes tipos: (El número indicado en segundo lugar indica el número de Bytes que ocupa en memoria.)
Nombre Bytes Explicacion
Booleana (2) Admite los valores 0 y 1, o True (verdadero)
False (falso)
Byte (1) Números enteros, en el rango de 0 a 255
Integer (2) Números enteros en el rango de -32768 a 32767
Long (4) Números enteros en el rango de -2147483648 a 2147483647
Single (4) Punto flotante, simple precisión
Doble () Punto flotante, doble precisión.
Currency () Entero, con punto decimal fijo(Típico de monedas)
String (*) Cadenas alfanuméricas de longitud variable o fija
Date () Fechas
Objet (4) Referencia a objetos
Variant (**) Otros tipos de datos
(*) Una variable tipo String ocupa el mismo número de bytes que caracteres tenga la cadena.
(**) Una variable tipo Variant ocupa 16 bytes si se trata de un número y 22 bytes + longitud de la cadena si se trata de un dato tipo cadena de caracteres .
-----------------------------------------------------------------
4-Diagramas de flujo
-----------------------------------------------------------------
Los diagramas de flujo son una representacion grafica de una secuencia logica de un proceso que conlleva ala solucion de un problema.
Todo diagrama debe tener un inicio y un final, no puede existir
una salida incompleta
Comparadores
En casi todos los procesos es necesario hacer comparaciones
con los siguientes símbolos :
= igual <,<= menor o igual
> mayor q <> diferencia a
< menor q >,>= mayor o igual
and y or o
TABLA DE LA VERDAD and y or
AND OR
P Q P a Q P Q P v Q
V V = V V V V
V F = F V F V
F V = F F V V
F F = F F F F
CONTADORES Y ACUMULADOR ES
Cuando los diagramas son repetitivo s puede ser necesario el uso
de contadores :
CONT=CONT+1
Todo contador o acumulador debe iniciarse o declararse en "0" cero
-----------------------------------------------------------------
5-SENTENCIAS CONDICIONA LES
-----------------------------------------------------------------
Ahora explicaremos la instruccion IF
la intruccion if hace ciertas acciones dependiendo de la respuesta del caso
SINTAXIS:
IF instruccions THEN
Instrucciones (si es verdadero)
ELSE (si es falso)
instrucciones
End if
en caso opcional de respuesta negativa y se necesita preguntar otra vez en ese mismo IF solo se tendria q utilizar ELSEIF
Ejemplo :
If Form1.Text1 = 1 Then
Form1.Text2 = 2
ElseIf Form1.Text1 = 3 Then
Form1.Text2 = 4
End If
hay se esta diciendo si el textbox1 es "1" entonces en el textbox2 muestre "2" y sino si el textbox1 es "3" entonces muestre "4" en el texbox2
Las cláusulas Else y ElseIf son opcionales. Puede tener en un bloque ElseIf, tantas cláusulas If como desee, pero ninguna puede aparecer después de una cláusula Else. Las instrucciones de bloque If se pueden anidar; es decir, unas pueden contener a otras.
-----------------------------------------------------------------
SELECT CASE
-----------------------------------------------------------------
El CASE permite ejecutar una instruccion de varios grupos, segun la exprecion
Sintaxis:
Case 1
Instrucciones a ejecutar en caso de que variable = 1
Case 2
Instrucciones a ejecutar en caso de que variable = 2
Case 3
Instrucciones a ejecutar en caso de que variable = 3
Case 4
Instrucciones a ejecutar en caso de que variable = 4
Case Else
Instrucciones a ejecutar en caso de que variable sea distinta a los valores anteriores
End Select
-----------------------------------------------------------------
6-SENTENCIAS DE BUCLES
-----------------------------------------------------------------
LOS BUCLES
Es muy común utilizar bucles a lo largo de un programa. Un bucle es una sucesión repetitiva de instrucciones, que se estarán realizando mientras se cumpla una condición o mientras no se cumpla otra condición. Es tan sencillo como esto:
Explicación:
Mientras condición
Instrucciones
Fin del bucle
Existen dos formas de bucle: Una, que realiza un número determinad o de recorridos por el bucle.
Es el denominado bucle por contador. Otra, realiza el bucle hasta que se cumpla (o deje de cumplirse) una condición. Es el llamado bucle por condición.
Bucle por contador
Realiza el bucle tantas veces como le indiquemos. Por ejemplo, en este bucle nos va a presentar las 26 letras mayúsculas del alfabeto inglés
For N=65 To 90
Label1.caption = Chr ( N )
Next N
Este "programa" nos presentará en una caja (Label) los caracteres cuyo número ASCII vaya desde el 65 (A) al 90 (Z) Comenzará presentando el correspondiente al número 65, e irá presentando sucesivamente el 66, el 67, etc., hasta llegar al 90, donde se parará.
Bucles por condición
Ejecuta las instrucciones del bucle mientras se cumple una condición
X = 0
Do While X < 1000
X = X + 1
Loop
El programa toma una variable ( X ) que previamente tuvimos la curiosidad de ponerla a cero, e incrementa su valor una unidad. Analiza si el valor de X es menor que 1000, y si es cierto, vuelve a realizar el bucle. Así hasta que X ya no sea menor que 1000. Al dejar de cumplirse que X sea menor que 1000, sale del bucle. Acabamos de realizar un temporizad or , y también de exponer las sentencias condiciona les y los bucles, inicio de cualquier curso de Basic. Como final de lección, se propone un problema. Con el primer bucle, donde visualizábamos los caracteres A a la Z, posiblemente no nos diese tiempo de ver cada una de las letras que iban apareciendo en la pantalla, en la etiqueta Label1, dado que cambiaría con mucha velocidad, y solamente veríamos la Z, que es donde se detuvo el programa. Podemos poner un temporizad or cada vez que presente una letra, y así nos dará tiempo a verla. Con los dos bucles vistos anteriormente ya podemos hacerlo.
Si lo que queremos es que el programa se ejecute mientras no se cumpla una determinad a condición, la sentencia será:
X = 0
Do Until X > 1000
X = X + 1
Loop
Observe que la diferencia entre una y otra es la condición,
While para indicar Mientras se cumpla que ...
y
Until es para indicar Mientras no se cumpla que ....
Para terminar bien el programa anterior utilizaremos la condición de While (Mientras se cumpla la condición)
For N=65 To 90
Label1.caption = Chr ( N )
Label1.RefreshN ' Refresca la etiqueta
X = 0
Do While X < 1000
X = X + 1
Loop
Next N
-----------------------------------------------------------------
7-Teoria y algunas opciones
-----------------------------------------------------------------
El formulario
Todas las aplicacion para win se basan en ventanas. Si programa en VB, diseñara ventanas y les asignara funciones, Una ventana en fase de diseño en Visual se llama "form" o "formulario ". Para diseñar el formulario es necesario utilizar las herrmienta s q se encuentran a la izq
Iniciar
para hacer correr el programa hay q precionar un boton parecido al de play de una grabadora o con teclado con F5, para detenerlo y volver al metodo diseño solo hay q presionarl e stop
Mayusculas y minusculas
Visual basic no distingue entre mayusculas y minusculas . Puede escribir los comandos como desee, el mismo Visual se encarga de de acomodar todo
Completar automatica mente
Visual Basic tiene la opcion de autocomple tar para ahorar tiempo y para si al escribir en
"form1." el "." se le despliega una lista es porq lo esta haciendo bien y si no sale es por algun error de escritura
Eliminar elementos
No se tal vez no deberia mencionar esto pero es por si alguien no sabe como eliminar un objeto del modo de diseño:
*seleccione el elemento y presione del o supr
*tenga en cuenta q se borra el objeto (ya sea boton, label ..),pero no se borra el codigo de este
Incrustacion de comentarios
la incrustacion de comentarios se usan para dejar notas, explicaciones o alguna cosa para recordar y se hace con el signo ‘ y al poner esto significa q el programa ignora el texto de esa linea y vuelve las letras de verde para diferenciar del resto de codigo.
-----------------------------------------------------------------
8-Practica
-----------------------------------------------------------------
Bueno ya basta de tanta teoria y vamos a la practica y con esto podran entender mas. El programa q vamos a hacer a continuación es algo muy facil donde a mostrar y agregar formularios, hacer varias operaciones, interactuar entre formularios
Empezemos primero hay q abrir un nuevo proyecto,exe estandar
después tenemos q arreglar nuestro diseño agregandole 5 labels, un textbox y un boton (le pondremos de nombre ¡ir”) de las herramientas de la parte izquierda
Figura 1
Figura 2
ueno después vamos para el menú proyecto>agregar formulario y agregamos 4 formularios (como lo ven en la figura 2 en la parte de formularios) y le ponemos lo siguiente
Figura 3
y asi en parecido en todos los demas formularios(los nombres de los botones no se cambian para mayor facilidad) no mas q en el otro en vez de sumar se resta y en otro se multiplica y en otro se divide.
Ya un vez tenido los 5 formularios listos guarden (yo guarde los formularios como el form2:suma y asi el resto (miren la figura 2, haci les debio quedar)
Una vez ya tengamos todos los formularios listo nos vamos para el primer frm y le damos doble clic al boton q creamos con el nombre “ir” e introdcimos el siguiente codigo:
Private Sub ir_Click()
If Form1.txt1 = 1 Then
Form2.Show 1
ElseIf Form1.txt1 = 2 Then
Form3.Show 1
ElseIf Form1.txt1 = 3 Then
Form5.Show 1
ElseIf Form1.txt1 = 4 Then
Form4.Show 1
End If
End Sub
Hay le estamos diciendo q si en el trxt1 (osea el textbox) le dan un 1 entonces muestre el formulario 2 y si le dan un 2 q muestre el formulario 3 y asi sucesivamente. Después de eso probamos haber si nos sirve espichando “F5” lo q hace es q pone en funcionamiento el programa y probamos si muestra los demás formularios.
Boton aceptar
Si nos salio bien entonces podemos seguir para el siguiente paso q es modificar el formulario de suma, le damos doble click al boton de aceptar y le ponemos el siguiente codigo:
Private Sub Command1_Click()
Form2.txt3 = Int(Form2.txt1) + Int(Form2.txt2)
End Sub
“Claro q eso de private sub y end sub no se lo deben poner ya q el visual lo hace automáticamente”
Hay estomos diciendo q en el textbox 3 van a ir los resultados del textb1 y el textb2, el int q se le agrega es para q el resultado lo vuelva en enteros pera poderlos sumar(es muy importante poner el “int” cuando se vayan a hacer operación).
Boton Cancelar
Solo se le tiene q agregar:
Private Sub Command2_Click()
Unload Me ‘o para q se vea mejor solo “end”
End Sub
Esto hara cerrar la ventana
Boton Sumar otro
Si hizo un boton de sumar otro, q lo q hace es borrar los textboxs solo hay q agregarle esto.
Private Sub Command3_Click()
Form2.txt1 = ""
Form2.txt2 = ""
Form2.txt3 = ""
Form2.txt1.SetFocus
End Sub
Después lo probamos si suma y le agregamos lo mismo a los demas formularios no mas q en el boton aceptar en vez del signo “ + ” se le cambia por el de resta o por cualquier operación q se le quiera hacer
Opcional 1
Si queremos agregarle cosas opcionales por lo menos un msgbox ( aunq no lo hemos visto se le puede agregar) para q diga “si desea cerrar el programa” o “si quiere hacer otra operación”
Se pondría haci:
Private Sub Command2_Click()
Unload Me
n = MsgBox("Desea cerrar?", vbOKCancel + vbCritical + vbDefaultButton2)
End Sub
Opcional 2
La opcional 2 es si se quiere al digitar los numeros para hacer la operación se cambien automáticamente de arriba hacia abajo
En el evento keypress del primer textbox se le agrega esto
Private Sub txt1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Form2.txt2.SetFocus
End If
End Sub
Al texbox2 esto
Private Sub txt2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Form2.txt2.SetFocus
End If
End Sub
y listo pruebenlo
espero k les sirva de ayuda