Tecnológico de Computación Desde 1992
Ubicado en Boulevard Suyapa, 2 locales a la par del Hotel Alameda, Frente a la gasolinera Esso on the run Teléfono: 239-8945 – 239-8841 Correo: tecnologico@gmail.com
A continuación le presentamos una información recopilada a base de una gran investigación en el campo informático, atraves de la cual usted podrá entender ciertos aspectos referentes al mundo de la computación. Con el objetivo de hacer que usted asimile detalladamente el funcionamiento de una computadora y todo lo que esta le puede ofrecer, debido a que este aparato antes mencionado no solamente sirve para funcionamientos de poco provecho como el jugar o escuchar música ya que este nos puede ofrecer mucho en el campo educativo y laboral, este es el propósito enseñar a sacarle todo el provecho posible.
En esta serie de manuales nos hemos dado la tarea de estructurarlos en módulos; básico, redes, diseño grafico, reparación de pc’s y programación. Teniendo por satisfacción que el usuario al terminar la lectura de estos manuales quedara preparado para enfrentar un mundo informático. Agradeciendo al lector Atte.
Tecnológico de computación
Manual de Visual Basic Breve Historia: El programa original que dio paso a VB se llamaba BASIC (Beginer Aplication, Simbolic Instruction Codes), era un compilador, después basic evoluciono a Turbo Basic el cual integraba un editor de texto y el compilador en una sola aplicación, luego se introdujo en la versión de DOS 5.x las versiones de QuickBasic, Hasta este momento Basic y sus derivaciones era una programación tipo código fuente y tiene una interfase de video tipo texto para DOS.
VISUAL BASIC
Objetos o Controles
Programación Orientada a objetos, propiedades y eventos.
Propiedades:
Generalidades
Un objeto tiene diferentes características o propiedades, si tenemos dos rótulos diferentes, puede ser que uno tenga las letras mas grandes que el otro, o que uno tenga un recuadro y el otro no, etc. Así con las propiedades podemos controlar las características originales de cada control.
Visual Basic es un implementación del lenguaje original, tiene una interfase de video tipo grafica para ambiente Windows, También a reemplazado la programación en base a un código fuente por una programación orientada a objetos, propiedades y eventos. Haciéndola realmente fácil, podemos orientar a VB en una generación de 4to. Nivel. Mientras mas bajo el nivel mas complicado es de entender para el programador, si decimos que lenguaje “C” es de 2da. Generación o (nivel) significa que es mas difícil de aprender que un lenguaje de 3era. Generación. A continuación (generación).
mostramos
1ra. Generación: 2da. Generación: 3ra. Generación: 4ta. Generación: Pos 4ta. Generación:
algunos
lenguajes
indicando
Lenguaje Ensamblador Lenguaje “C” Basic, Pascal, Cobol, Clipper, FoxPro Visual Basic, Genexus Magic
su
nivel
Un objeto es un elemento que sirve para diseñar una pantalla, a los objetos también se les llama controles, estos se seleccionan de una ventana donde se encuentra los objetos mas usados, y se ponen en un formulario, la cual dará paso a la ventana que se desea elaborar, por ejemplo si deseamos hacer una ventana que tenga un titulo que diga Tecnológico de Computación, entonces debemos usar un objeto llamado Label, el cual nos permite escribir rótulos, si deseamos poner un dibujo como el logotipo del T.C. entonces debemos usar un objeto llamado Picture y así sucesivamente. Los objetos están en forma de Iconos. Eventos: La computadora puede desarrollar diferentes acciones en un objeto, puede ser que al momento que el cursor llega al control la PC desarrolle un evento y al momento de abandonar el control desarrolle otro evento diferente. Desarrollar los eventos para los controles es el verdadero reto de VB, ya que es lo único parecido a la antigua programación orientada a un código fuente, Aquí intervienen las estructuras for, if, case, etc.
VISUAL BASIC
Descripción de la pantalla
Algunos términos nuevos: Proyecto: Es la aplicación en si, Si se nos pide desarrollar un programa para llevar el control de las fichas del personal de una determinada empresa, todo lo que hagamos para desarrollar dicha aplicación se reconocerá como un Proyecto. Ventana del Explorador Del Proyecto
Forma o Formulario Es donde se desarrolla la pantalla Ventana de los Objetos mas Usados Ventana de Propiedades
Formulario: Todo proyecto debe contener por lo menos una forma, que es donde se desarrolla la pantalla de trabajo. La forma es un control especial, en realidad es un contenedor de controles, ya que en el control forma se ponen los demás controles que usara la pantalla de trabajo. Es obligatoria usarla, un proyecto puede tener varias formas. Ventana de Código: Es donde se desarrolla la programación en sí, aquí se programa los diferentes EVENTOS que se ejecutaran para cada control usado en el control forma. Cada forma tiene su propia ventana de códigos. Si un proyecto tiene dos formularios, cada uno tendrá su propia ventana de códigos. Modulo: Un modulo es un archivo con extensión *.BAS donde se desarrolla una programación en base a códigos fuentes, que puede ser usada por cualquier proyecto.
VISUAL BASIC
Ejemplo: Si se desarrolla un proyecto en el cual hay varios formularios y se necesita un mismo proceso en cada formulario, en vez de escribir ese proceso en cada formulario se podría escribirlo una sola vez dentro de un modulo y llamarlo en cada formulario (desde la venta de códigos de ese formulario) como si se hubiera creado allí. Proyecto (Empleados)
Formulario 1 (Pantalla de trabajo 1)
Ventana de Codigos del Formulario 1 Exclusivos para este formulario
Formulario 2 (Pantalla de trabajo 2)
Ventana de Codigos del Formulario 2 Exclusivos para este formulario
Formulario 3 (Pantalla de trabajo 3)
Ventana de Codigos del Formulario 2 Exclusivos para este formulario
Modulo 1 (*.bas) Los codigos aquí escritos pueden servir para cualquera de los 3 formularios.
VISUAL BASIC
Controles y Propiedades.
FORM: Un formulario es el control principal porque en el se pegan los demás controles, convirtiéndose así en un contenedor de controles, se puede hacer más grande usando los puntos de tamaño que están alrededor del él, los puntos que se miran adentro solo sirven de guía para ubicar otros controles en posiciones relativas, pero no aparecen cuando se ejecuta el proyecto. En la parte superior aparece la barra de titulo del formulario, que puede contener un texto, inicialmente dice FORM1 pero se puede cambiar seleccionando en la ventana de propiedades la propiedad CAPTION y escribiendo un nuevo texto.
A continuación se explicara la función de los controles mas comunes.
POINTER: (puntero) Sirve para seleccionar controles que se han pegado en formulario, simplemente presione un click del mouse sobre el objeto que desee seleccionar e inmediatamente aparecerán 8 puntos al contorno del objeto.
FRAME: Hace un marco, en el cual se pondrán otros controles, todos los controles que estén dentro de este marco se moverán al mismo tiempo que se mueva el marco, al eliminar el marco se eliminan los controles que tiene adentro. Seleccionar la propiedad CAPTION y escribir un titulo para el marco, inicialmente dirá Frame1 LABEL: Sirve para poner todo tipo de rótulos en el formulario, seleccionarlo de la ventana de controles y luego trazar con el mouse un cuadro dentro del formulario, seleccionar la propiedad CAPTION y escribir el rotulo que deseamos. TEXBOX: (Recuadro de texto) Este control sirve para hacer entrada de datos, es del mayor uso. Seleccionarlo de la ventana de controles, hacer un recuadro en el formulario. Seleccionar la propiedad TEXT y borrar el texto predeterminado (text1) COMMAND BUTTOM: (botón de comandos) Inserta botones de comandos que posteriormente se programaran, tales como ACEPTAR, CANCELAR, SALIR, etc.
VISUAL BASIC
Propiedades: Según el control que usted selecciones, este podrá presentar algunas propiedades, mientras otro tipo de control mostrara otro tipos de propiedades, hay algunas propiedades que son comunes: Name: Permite ponerle un nombre definido por el usuario al control, por ejemplo si coloca un control textbox para introducir un código en el formulario, el nombre que tendrá por definición será “text1” pero Ud. Le puede poner otro nombre como txbCodigo. Se acostumbra a usar las tres primeras letras como un identificador del tipo de control, así si tiene un control de command buttom llamado código le pondrá cmdCodigo, algunas de las abreviaciones más comunes son: Cmd
Command Buttom Txb TextBox Lbl Label Frm Frame For Forma Cmb ComboBox Chb Chekbox
Aligment: Determina la alineación del control (izq, der, centrado) BackColor: Cambia el color del fondo BorderStyle: Cambia el estilo del borde del control: 3d o Sencillo BackColor: Cambia el color del fondo BorderStyle: Cambia el estilo del borde del control: 3d o Sencillo Top: Establece la distancia del margen superior del control que lo contiene ToolTipTex: Muestra un mensaje de ayuda, cuando el puntero del mouse se detiene sobre el control. TabStop: Indica si el cursor se detendrá en ese control (TextBox, ComboBox, ChekList) TabIndex: Indica cual es el orden del acceso a ese control para el cursor, cada vez que se presione la tecla TAB. No todos los controles tiene una parada de tabulador, por ejemplo en un Frame o picture no tiene porque detenerse el cursor
Caption: Cambia el nombre del titulo del control (formas y frames) Enable: Desactiva el control, mostrando en color gris, indicando que en ese momento no esta disponible Font: Permite cambiar el tipo, tamaño y estilo de la fuente que contiene dicho control Heiht: Permite especificar cual es la altura del control (pixel) Left: Especifica cual es la posición del control, con relación al margen izq. del control que lo contiene. Los únicos controles que son contenedores de otros controles son frame y formulario MouseIcon: Establece si el puntero del mouse debe cambiar por algún otro icono cuando llegue al control, se debe seleccionar un archivo con extensión *.ico que son los archivos que contienen las imagen de punteros de mouse. MousePointer: Establece las diferentes opciones para representar los punteros del mouse, se desea usar la propiedad MouseIcon, entonces MousePointer debe de estar en la opción 99 Custom (personalizado) MaxButtom: Si esta Propiedad esta en True entonces mostrara el botón de maximizar (formularios) MinButtom: Permite mostrar o no el botón minimizar (formularios) Moveable: Si esta en true entonces el usuario podrá mover el control con el mouse cuando el proyecto se este ejecutando (formularios) Picture: Permite establecer un dibujo en el control (picture, formularios) StartUpPosition: Indica cual será la posición inicial en que deberá aparecer el control al ejecutar el programa (formularios)
VISUAL BASIC
Ejercicios: Desarrolle el siguiente Formulario, con ayuda del instructor pruebe los diferentes propiedades (tabindex, visible, picture, etc.) Grabar el proyecto: Archivo/guardar proyecto: VB le preguntara un nombre para la o los formularios que tiene su proyecto, las cuales se guardaran en archivos con extensión *.frm.
Eventos más comunes: Change (): Lo que se escriba en un evento change se realizara cuando el contenido de dicho control cambie. GotFocus (): La acción se realizara inmediatamente antes que el cursor llegue al control.
Luego le preguntara un nombre para todo el proyecto, el cual se grabara con extensión *.VBP (visual basic proyect)
LostFocus (): Se activa cuando el cursor abandona el control.
Correr un proyecto:
KeyPress () : Se activa cuando se presiona una tecla en un control
Seleccionar RUN / STAR (correr / comenzar), también puede presionar la tecla F5 o el triangulo en la barra de iconos que significa Play.
KeyUp (): se activa cuando se suelta una tecla que ha sido presionada.
Para detenerlos RUN / END (correr/ finalizar), o puede seleccionar el cuadrado en la barra de iconos que significa stop
Ventana de Códigos. En esta ventana se pueden desarrollar 3 tipos rutinas: 1 La rutina Form_ Load (): Es una rutina especial, lo que este programado en ella sera lo primero que se ejecutara cada vez que se corra el proyecto. Por lo general se usa para definir variables que se usaran en el resto de las sub rutinas. Si tenemos una sub rutina llamada CargarDatos y creamos una variable llamada Sueldo, esta variable solo va a existir mientras VB este ejecutando CargarDatos, al salirse de ella la variable y su contenido se destruirán, a este tipo de variable se les llama variables Privadas. Para que la variable le Sueldo no se destruya al salirse de CargarDatos entonces la definimos en Form_load como una variable Publica.
Click (): cuando se da un click del mouse (en los botones de comnados) Los eventos se programan en la ventana de códigos, para entrar a dicha ventana solamente se da doble click del mouse en el control cuando estamos diseñando el formulario. Para salirse se presiona el botón derecho del mouse y se selecciona la opción HIDE.
Ejemplos: Private sub Form_Load() Limpiadatos Codigo.Setfocus End Sub
Ejecuta la sub rutina Limpiar Datos y luego establece el enfoque en el control codigo, esto se hara cada vez que se corra el programa
Private Sub nombre_lostfocus() nombre = UCase(nombre) End Sub
VB indica que cuando el cursor abandone el control nombre, este debe pasar a mayusculas lo que sen encuenra escrito en el.
Private Sub nombre_GotFocus() If codigo = Empty Then codigo.SetFocus End If End Sub
VB indica que antes que el cursor llege al control nombre, este debe verificar el control codigo, y si este se encuentra vacio entonces debe volver a codigo
Private Sub LimpiaDatos() Nombre = Empty Edad = Empty Tel = Empty End Sub
Limpia el valor actual de las variables Nombre, edad y telefono igualandolas a empty (vacio)
En este ejemplo tenemos cuatro sub rutinas : 1 es el procedimiento Form_load(), hay dos eventos del control nombre, uno es el evento LostFocus y el otro el evento GotFocus y por ultimo tenemos una rutina definida por el usuario (limpiadatos). Observe que un solo control puede tener varias eventos programados. COMNADOS DE VB. IF: se usa para tomar una decisión u otra en base a una condición (pregunta) If condición then Instrucción que se ejecutaran si la condición o pregunta es verdadera Else Instrucción que se ejecutaran si la condición o pregunta es falsa End if If sueldo >= 2500 then : Es el sueldo mayor de 2500 Bono = 200 si lo anterior es verdadera entonces el bono será 200 Else pero si no lo es Bono = 100 el bono será de 100 End if fin del if Ubicado en Boulevard Suyapa, 2 locales a la par del Hotel Alameda, Frente a la gasolinera Esso on the run Teléfono: 239-8945 – 239-8841 Correo: tecnologico.hn@gmail.com
IsNumeric: Verifica si una variable es numérica. IsNumeric(Nombre) En este caso IsNumeric tomara un valor de Falso IsNumeric(sueldo) En este caso tomara un valor de Verdadero. * Por lo general se usa con la orden IF. InStr: Verifica si en una cadena de caracteres se encuentra una sub cadena. Suponga que desea buscar la palabra “Loarque” en la variable dirección. InStr (1,Dirección,”Loarque”) Aquí se dice que busque desde la posición 1 de la variable dirección la palabra Loarque. Si la encuentra inStr tendrá un valor mayor de 0, y si no la encuentra instr tendrá un valor de 0. KeyAscii: Verifica cual es el valor numérico según la tabla ascii de la ultima tecla presionada. Si usted presiona la letra A(mayúscula) keyAscii valdrá 65. También se puede asignar otro valor a la tecla presionada. If keyascii = 65 then KeyAscii = 67 End IF Ucase: Convierte a mayúscula la variable especificada. Ucase(nombre) Chr: Retoma el carácter del numero especificado: chr (65) Es igual a la letra A. Val: Convierte a valor numérico una variable que contiene números pero es carácter. Empty: Verifica si una variable esta vacía o la estable como vacía. If codigo = empty then Nombre = empty
: Verifica si código esta vació : Establece que nombre quede vació.
MsgBox: permite poner un mensaje de advertencia. MsgBox (Mensaje que vera el usuario, modalidad de msgbox, titulo de la ventana) MsgBox (“Debe introducir un código”, VBCritical, “Error del sistema”) También se puede hacer preguntas como Si o no If MsgBox("¿Eliminar registro?", vbQuestion + vbYesNo, "Eliminacion") = vbYes then Ubicado en Boulevard Suyapa, 2 locales a la par del Hotel Alameda, Frente a la gasolinera Esso on the run Teléfono: 239-8945 – 239-8841 Correo: tecnologico.hn@gmail.com
Modalidades de MsgBox VbCritical Vbinformation VbOkonly
VBQuestion VbExclamation VBYesNo VbYesNoCancel VbOkCancel
Programación de Algunos Eventos: Suponer que existe los siguientes controles de texto : Nombre , código, sueldo y fechaNac. Letras solo en Mayúscula La siguiente sub rutina hace capturas solo en letra mayúscula para controles de texto: Private Sub Nombre_CHANGE() Nombre = ucase(nombre) End sub Entrada de solo números Private Sub codigo_KeyPress(KeyAscii As Integer) If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0 End If End Sub KeyPress establece automáticamente la variable KeyAscii. Interpretando la línea completa seria: Es NO numérico el carácter ascii presionado, si la respuesta es si, entonces se ejecutara la orden keyAscii =0, el carácter 0 es un carácter Nulo, por lo tanto no será representado, Prueba de escritorio: Si cuando el cursor estaba en Código, Ud presiono la tecla “N” entonces la variable KeyAscii quedo con valor de 78, al escribir CHR(KeyAscii) estamos volviendo a convertir el 78 al carácter N.
[chr(78)]
Luego la oración IsNumeric (chr(keyascii)) [IsNumeric(“N”)] tiene una respuesta de falso, pero al antecederle NOT, entonces NOT falso es Verdadero y por lo tanto se ejecutara lo que este después del Then.
Ubicado en Boulevard Suyapa, 2 locales a la par del Hotel Alameda, Frente a la gasolinera Esso on the run Teléfono: 239-8945 – 239-8841 Correo: tecnologico.hn@gmail.com
Validar Entradas numéricas con un punto decimal. Para validar que una variable sea numérica y que acepte el punto decimal (como en el caso de la variable Precio), procedimiento de entradas numérica, solo que se agrega la rutina de validación del punto. 1 2 3 4 5 6 7 8 9
se debe hacer el mismo
If Not IsNumeric(Chr(KeyAscii)) Then If Chr(KeyAscii) = "." Then If InStr(1, costo, ".") > 0 Then KeyAscii = 0 End If Else KeyAscii = 0 End If End If
Línea 1: Verifica si el carácter presionado es no numérico, si es no numérico hará las siguientes líneas. Línea 2: Si el Carácter presionado es el Punto, si es verdadero verificara si ya hay otro punto en precio, si lo hay entonces no lo aceptara. Línea 3: Verifica con la orden instr() si el punto ya existe en la cadena, si no existe inStr tendrá un valor de 0 y si existe un valor mayor que 0. Línea 4: Nulifica la tecla que se presiono. Línea 5: fin si Línea 6: Else de la línea 2 (If Chr(KeyAscii) = "." ), si el carácter presionado no es el punto no lo aceptara. Línea 7: Nulifica el carácter presionado. Línea 8: y línea 9: fin si.
Desarrollo de eventos de cálculos Los eventos de cálculos se pueden desarrollar cuando se presione algún botón o cuando se abandone algún control con el evento lostfocus() Private sub CmbCalculos_click() If sueldo >= 2500 then Bono = 200 Else Bono = 100 Endif Comision = vendido * 0.05 SueldoBruto = Sueldo + comision + bono If sueldoBruto >= 600 then Ihss = 21 Else Ihss = sueldoBruto * 0.035 Endif Ubicado en Boulevard Suyapa, 2 locales a la par del Hotel Alameda, Frente a la gasolinera Esso on the run Teléfono: 239-8945 – 239-8841 Correo: tecnologico.hn@gmail.com
Cooperativa = sueldoBruto * 0.02 Deducciones = ihss + cooperativa + adelantos Sueldototal = sueldoBruto – deducciones Total.text = sueldototal End sub Rutinas personales: Ud. puede crear rutinas personales por ejemplo para limpiar variables u ocultar datos. Private sub Limpia() Nombre = empty Sueldo = empty Edad =empty Vendido = empty End Sub Private sub OcultarCampos() Nombre.visible = false Sueldo.visible = false Edad.visible = false Vendido.visible = false End sub Cada vez que se corre un programa la primera rutina que se ejecuta es Form_load(), en esta rutina ponemos lo que deseamos que el programa haga antes de cualquier otro evento. Private sub Form_Load() Limpia() OcultarCampos() Codigo.setfocus End if Private Sub codigo_KeyUp (KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then Muestracampos() End if End Sub Nota: Los controles tienen diferentes propiedades, para modificarlas desde el ambiente de programación, se deberá poner primero el nombre del control luego un punto y luego la propiedad ej: Mensaje.text = “Introduzca el nombre completo” Mensaje.visible = false Mensaje.setfocus
Archivos VB no crea base de datos, sino que usa las bases de datos creados en otras aplicaciones tales como: FoxPro, Ms-Access, Excel, Oracle, infomix, SQL, etc. Hay dos estructuras de bases de datos: 1) Una base de datos es un solo archivo de datos, como en el caso de FoxPro. Si Ud. desea tener información sobre clientes, productos y proveedores necesitaria 3 archivos de bases de datos. 2) Una base de datos está formada por varias “Tablas”, cada tabla almacena diferente información, así la información sobre clientes, productos y proveedores se podría tener en una sola base de datos y cada una seria una tabla. Como en el caso de excel o access.
Ubicado en Boulevard Suyapa, 2 locales a la par del Hotel Alameda, Frente a la gasolinera Esso on the run Teléfono: 239-8945 – 239-8841 Correo: tecnologico.hn@gmail.com