guia de visual basic
TRANSCRIPT
TEXTO: LABORATORIO DE VISUAL BASIC .
LABORATORIO DE COMPUTACION PARA INGENIERIA (MATERIA CIV 275)
ASIGNATURA: LAB CIV 275: Laboratorio Computación para Ingeniería
LEGUAJE DE PROGRAMACIONLenguaje de Alto Nivel: Visual Basic
OBJETIVOS DEL PROYECTO: Desarrollar esquemas normalmente aceptables para representar procesos como
procedimientos lógicos. Programar computadoras a través de un lenguaje de programación (Visual Basic) para
procesos técnicos-científico. Desarrollar un proyecto (Software) de aplicación para Ingeniería Civil con propósitos
académicos. Incorporar cálculos numéricos y lógicos para elaborar algoritmos computacionales.
ALCANCE TEMATICO DEL PROYECTO:Tema 1. Entorno del Visual BasicTema 2. Introducción a la programaciónTema 3. Fundamentos de la ProgramaciónTema 4. Estructuras de decisión If..Then…ElseTema 5. Estructura de decisión Select CaseTema 6. Estructuras de BucleTema 7. Matrices- ArraysTema 8. Procedimiento función-subTema 9. Base de datos y Archivos
MAGNITUD DEL PROYECTO:Desarrollar Software aplicado a la ingeniería Civil aplicando los temas desarrollados en laboratorio de computación
VALORACION DEL PROYECTO: Examen escrito por capítulos 30%
Practicas en laboratorio por capítulos 30%Practicas de aplicación a la ingeniería 30%Asistencia 10% Total 100%
MsC. Ing. Adhemar Pasten Gironda
Nota: Mayor a dos inasistencias y la falta de entrega de las practicas de aplicación a la ingeniería representa la reprobación de la materia
MSc. Ing. ADEMAR PASTEN GIRONDA1
TEXTO: LABORATORIO DE VISUAL BASIC .
TEMA IMANEJO DEL ENTORNO DE PROGRAMACION DEL
VISUAL BASIC
1. Ingresar al Visual Basic. Desde el escritorio del Windows, se debe seguir los siguientes pasos:
Al hacer clic en el icono de Visual Basic 6.0, aparece el cuadro de dialogo Nuevo proyecto. Este cuadro de diálogo le solicita que seleccione el tipo de proyecto de programación que desea crear. Haga clic en el botón Abrir para aceptar el nuevo proyecto propuesto por defecto, una aplicación estándar de 32 bits para Visual Basic.
En el entorno de programación de Visual Basic se abrirá un proyecto nuevo, junto con algunas de las ventajas y herramientas que se muestra en la siguiente ilustración:
MSc. Ing. ADEMAR PASTEN GIRONDA
Inicio
…………………………………………………………Microsoft Visual Basic 6.0……………………………
…………………………………………………………………………………………………………………….……………………………Microsoft Visual Studio 6.0…………………………………………………………..…………………………….
2
TEXTO: LABORATORIO DE VISUAL BASIC .
Barra de herramientas estándar Explorador de Proyecto Barra de menús
Herramientas o Controles Propiedades Formulario Posición de Formulario
2. Diseño de la interfaz de usuario. Al Formulario se transfieren los comandos que uno requiere de la ventana de herramientas.
Algunos de los Controles o herramientas se puede ver en el cuadro 1.1.
MSc. Ing. ADEMAR PASTEN GIRONDA3
TEXTO: LABORATORIO DE VISUAL BASIC .
Cuadro 1.1. Controles o HerramientasControl Definicion
Label Se utiliza para mostrar texto. Puede ser transparente, de forma que el texto parece que forma parte del formulario. El texto de este control se define en la propiedad Caption
TextBox Este control es un pequeño editor de texto y su propiedad principal es Text, con la que se puede poner un texto fijo en el control o leer el texto que introduzca el usuario
Frame Se utiliza para agrupar objetos relacionados entre si. Para agrupar controles, dibuje primero el marco y después dibuje los controles dentro del marco
Commandulton Crea un botón en el que el usuario puede hacer clic para ejecutar un comando.
CheckBox Este control presenta múltiples opciones de las que el usuario puede elegir más de una
OptionButon Este control muestra múltiples opciones de las que el usuario solo puede elegir una
ComboBox Este control es una combinación de un cuadro de texto y un cuadro de lista. El usuario puede seleccionar un elemento de la lista o escribir un valor en el cuadro de texto.
ListBox Se utiliza para mostrar una lista de elementos de los que el usuario puede seleccionar uno
Hscrollbar Se utiliza para desplazar la información de una caja hacia la izquierda o hacia la derecha
VscrollBar Se utiliza para desplazar la información de una caja hacia arriba o hacia abajo
Timer Permite activar procesos a intervalos regulares de tiempo.DriveListBox Se utiliza para visualizar una lista de las unidades de disco
disponibles para que el usuario pueda seleccionar una.DirListBox Se utiliza para visualizar una lista de carpetas de un
dispositivo seleccionado en los que el usuario puede moverse
FileListBox Se utiliza para visualizar una lista de archivos contenidos en la carpeta seleccionada a los que el usuario puede acceder
Shape Permite dibujar rectángulos, cuadrados, elipses o círculos en el formulario
Line Se utiliza para dibujar una gran variedad de estilos de linea en el formulario
Image Se utiliza para mostrar en el formulario una imagen grafica de un mapa de bits, un icono o un archivo
Data Este control proporciona acceso a una base de datos existente y visualizar su información en el formulario
MSc. Ing. ADEMAR PASTEN GIRONDA4
TEXTO: LABORATORIO DE VISUAL BASIC .
Cuando no se puede ver en el cuadro de herramientas un control se puede incrementar, colocando el puntero en la ventana de herramientas y pulsando el boton derecho del maus.Nos mostrara el siguiente menú
ComponentesAgregar FichaAcopleOcultar
Del cual elegimos Componentes que nos mostrara la siguiente pantalla:
Por ejemplo en esta ventana se marca el componente Microsoft FlexGrid Control 6.0 (sps) y se digita aceptar. Esto nos muestra en la ventana de herramientas el icono MSflexGrid que nos permitirá diseñar el siguiente formulario:
MSc. Ing. ADEMAR PASTEN GIRONDA5
TEXTO: LABORATORIO DE VISUAL BASIC .
3. Asignación de propiedades a los controles. En la ventana de propiedades se asigna a cada control sus propiedades requeridas.
Algunas propiedades se muestran en el cuadro 1.2.
Cuadro 1.2. PropiedadesPropiedades Descripción
Alignment Determinar si el mensaje aparece alineado a la izquierda a la derecha o al centro de la etiqueta
Autosize Determina si la etiqueta cambia de tamaño de manera automática para mostrar todo el mensaje
Backcolor Devuelve o establece el color de fondoBackStyle Determina si el color de fondo es transparente u opaco
Si se elige 0-Transparent se vera lo que esta detrás de la etiqueta
BorderStyle Devuelve o establece el estilo de borde Elija 1-FixedSingle y una línea bordeara la etiqueta
Cancel Establece si el botón de comando se comportara como el botón cancelar en el formulario
Caption Contiene el mensaje que aparece en la etiquetaColumns Devuelve o establece un valor que determina si un control
LisBox se desplaza verticalmente en una única columna (valor 0) u horizontalmente en columnas periodísticas (valores mayores que 0)
Default Establece si el botón será activado con la tecla Enter
MSc. Ing. ADEMAR PASTEN GIRONDA6
TEXTO: LABORATORIO DE VISUAL BASIC .
Propiedades DescripciónEnabled Determina si la etiqueta estará activa. Cambie esta
propiedad en tiempo de ejecución para que la etiqueta no responda a eventos generados por el usuario
Font Muestra el cuadro de dialogo Fuente en el que se establece el nombre, el estilo y tamaño de la fuente usada en el mensaje
Forecolor Devuelve o establece el color del mensajeHeight Devuelve o establece la altura de la etiquetaLeft Establece la distancia entre el borde izquierdo de la
etiqueta y el borde izquierdo del formularioList Es un arreglo que contiene los elementos de la lista
comienza con índice 0.List Index Contiene el índice del elemento seleccionado, el cual es un
numero entre 0 (primer elemento) y el numero total de elementos en la lista -1 (ListCount -1)
List Count Numero total de elementos de la listaLocked Determina si el usuario puede editar el texto
MaxLength Especifica el numero máximo de caracteres que se puede escribir en un cuadro de texto
Mouse Pointer Determina la forma del puntero del mouse al pasar el puntero sobre la etiqueta.
Multi Line Permite que el cuadro de texto acepte múltiples líneas de texto
MultiSelect Determina como puede seleccionar el usuario los elementos de la lista
NewIndex Contiene el índice del ultimo elemento añadido a la listaName Nombre usado en el código para identificar a la etiquetaPasswor Char Determina el carácter que aparece cuando el usuario
introduce una contraseñaScroll Bars Determina si la caja de texto tendrá barra de
desplazamiento vertical horizontal o ambasSelected Arreglo de valores lógicos paralelo y del mismo tamaño al
arreglo List, indica que elementos han sido seleccionado establecemos la propiedad Multiselect en 1 o 2
Sorted True/false. Ordena alfabéticamente los elementos de la lista
Style Establece el comportamiento del control ComboBox.Puede tomar los siguientes valores
TabInex Devuelve o establece el orden de tabulación del objetoTabStop Determina si el cuadro de texto puede recibir el enfoque.Text Contiene el texto del cuadro
MSc. Ing. ADEMAR PASTEN GIRONDA7
TEXTO: LABORATORIO DE VISUAL BASIC .
Propiedades DescripciónTool Tiptexl Devuelve o establece el texto mostrado cuando el puntero
del mouse se sitúa sobre el controlTop Devuelve o establece la distancia entre el borde superior de
la etiqueta y el borde superior del contenedorValue Indica si el botón de opcion esta activada, desactivada.
Cuando esta activada, Value se establece a true.Visible Determina si la etiqueta estará visible u ocultaWidth Devuelve o establece el echo de la etiquetaWordWrap Determina si la etiqueta se expande para ajustarse al textoTagInterval
4). Codificación en la ventana de código. Para que se pueda ver la ventana de código se hace doble Chick en el control elegido. En la ventana de códigos se transcribe la codificación del control elegido.
Por defecto muestra el encabezamiento Private Sub Nombre del control_Click ( ) y pie de codificación End Sub
MSc. Ing. ADEMAR PASTEN GIRONDA8
TEXTO: LABORATORIO DE VISUAL BASIC .
5. Gravar en el Visual Basic. Digitar en la barra de menús la instrucción “Archivo” y seguir los siguientes pasos:
.
6. Corrida y corrección del programa. Digitar ► en la barra de herramientas. Estándar con el Mouse
Introducimos los datos que nos pide el programa por ejemplo en la pantalla anterior se ingresa Apellidos y nombres
MSc. Ing. ADEMAR PASTEN GIRONDA
Guardar proyecto como
Guardar en : Disco A:Nombre (*. Frm: formulario 1Nombre (*.Frm): formulario 2Nombre (*.Frm): formulario 3………………………………GUARDAR
Nombre (*.vbp): Ejemplo1GUARDAR
9
TEXTO: LABORATORIO DE VISUAL BASIC .
7. Salir del Visual Basic. Digitar en la barra de menús la instrucción “Archivo” y seguir los siguientes pasos:
.
MSc. Ing. ADEMAR PASTEN GIRONDA
Quitar proyecto
Salir
10
TEXTO: LABORATORIO DE VISUAL BASIC .
TEMA 2PROGRAMACION
1. Programación
La programación se podría considera como el conjunto de actividades y operaciones tendente a instruir a la máquina para que pueda realizar la funciones previstas en el algoritmo.
La programación se comienza antes de que la codificación es hecha, y continua un extenso proceso hasta que el programa quede terminado, este proceso es continuo y se lo conoce como ciclo de vida del programa.
Los pasos empleados para crear y usar un programa son:
Dependiendo del caso, puede omitirse algún paso, o añadir otros adicionales.
MSc. Ing. ADEMAR PASTEN GIRONDA
PLANIFICACION DEL PROYECTODiseño de pantalla
ESPECIFICACIONES DEL PROYECTODefinir el Algoritmo (Diagrama de flujo)
BASE DE DATOS Datos para prueba de escritorio
CODIFICACION DEL PROYECTOCodificar en lenguaje Visual Basic
EDICION DEPURACION Y VERIFICACION DEL PROYECTOTrabajo en computadora
DOCUMENTACION DEL PROYECTOArchivar en disco el programa Fuente y Objeto
MANTENIMIENTO DEL PROYECTOActualizar el programa en diferentes versiones
Trabajo de escritorio
Trabajo en computadora
11
TEXTO: LABORATORIO DE VISUAL BASIC .
La palabra “programación se emplea con múltiples significados. Puede significar escribir un programa sobre papel, o acompasar todas las fases necesarias para diseñar un programa y conseguir que pueda ser ejecutado correctamente. Debido a que la programación habitualmente incluye el proceso completo, la segunda definición es más empleada. Nosotros llamaremos a la escritura de un programa sobre papel diseño de programa que comprende la planificación, especificaciones, prueba de escritorio y codificación del programa. Es esta una de las fases más importantes durante el proceso de programación.
Veamos, a continuación, la fase de diseño del programa .Cuando se muestra la solución a un problema, o describe la secuencia de acciones a ejecutar, se debería especificar primero un algoritmo y después debería crearse una estructura de datos (para ser manipulados por el algoritmo). Más tarde, el algoritmo puede ser traducido a programa, empleando un lenguaje de programación como puede ser el Visual Basic.
En este punto, se escribe un programa en un papel. Si es posible, cada programa escrito sobre papel debe ser comprobado para verificar su validez. En particular, es altamente recomendable que el programador compruebe, calculando los valores manuales, la validez del programa escrito sobre papel en unos cuantos casos. Es habitual el caso de que, en la secuencia completa de programación, la fase que más tiempo requiere es la de depuración que consiste en identificar y corregir los errores. Usando los pasos de diseño adecuados y comprobando el programa manuscrito, el programador puede a menudo ahorrar una gran cantidad de tiempo en la fase de depuración.
Una vez Diseñado el programa o el programa manuscrito ha sido comprobado manualmente, se introduce en el sistema del ordenador.
El programa debe ser introducido en el sistema del ordenador como archivo. El programa que permite la conveniente escritura de texto en un archivo se llama Editor. El editor es un programa especial diseñado para la entrada de texto. Permite usar o borra caracteres o palabras, añadir o insertar texto, sustituir letras y palabras y buscar combinaciones de caracteres datos. Cuanto más potente sea el editor, más sencilla es la fase de introducción del programa. Una posibilidad útil que ofrece el editor, de especial importancia, es la indentación o sangrado. Estos constituyen un aspecto importante de la legibilidad de los programas en Visual Basic.
Una vez que el programa escrito a mano se ha introducido en el sistema del ordenador, con ayuda del programa editor, se almacena normalmente como un archivo. El siguiente paso es examinar el archivo para asegurarse de que no se han cometido errores durante la operación de inserción. El programa debe ser listado.
El programa guardado como archivo debe ser listado ahora en la impresora. Esta función la realiza el sistema de archivo, un programa que es parte del sistema operativo. Aquel permite la transferencia de un archivo del disco a la impresora, así como de un disco a otro. Además, provee facilidades que se pueden emplear para cambiar los nombres de los ficheros y especificar varios atributos.
MSc. Ing. ADEMAR PASTEN GIRONDA12
TEXTO: LABORATORIO DE VISUAL BASIC .
Si no se dispone de impresora para el listado de archivo, éste puede verse en la pantalla del terminal para cotejarlo con el archivo escrito a mano. En la práctica, el listado es muy conveniente, pues facilita la legibilidad del programa y disminuye el riesgo de errores.
El programa ha sido ahora introducido en el ordenador como un archivo que se supone correcto desde todos los puntos de vista. Ahora está preparado para ser ejecutado.La ejecución del programa se lleva a cabo en dos fases una la compilación y la segunda la ejecución propiamente dicha.
Un programa escrito en un lenguaje de alto nivel no puede ser ejecutado directamente por el ordenador, ya que este sólo comprende un conjunto limitado de instrucciones binarias. El programa debe, pues, o bien ser traducido a su forma binarias. O bien decodificado por un intérprete. En el caso del Visual Basic, se usa generalmente un compilador especial (el programa se compila a código objeto).
Las instrucciones de alto nivel (instrucciones Visual Basic) se traducen a un conjunto equivalente al de instrucciones de lenguaje máquina. El programa traducido resultante se denomina archivo de código objeto. Si ese programa contiene errores de sintaxis, el compilador genera diagnósticos o mensajes de error que informa al programador del tipo y localización de los errores.
Una vez traducido, el código objeto esta listo para ser ejecutado. La ejecución la realiza un módulo separado del compilador, denominado módulo de ejecución que termina con la ejecución del programa. Si el programa era correcto, los resultados aparecerán en la pantalla o serán impresos; si era incorrecto, se generarán mensajes de error.
Lo importante aquí es ver que la mayoría de los compiladores trabajan en dos fases: una de traducción y otra de ejecución. Además, algunos compiladores hacen más compacto y aumentan la velocidad del código objeto, optimizando el uso de los registros internos del ordenador y sacando algunas instrucciones fuera de lazos. Un paso de optimización como éste es importante para la velocidad de ejecución, pero costoso de implementar y por ello poco usual.
Para comprobar el programa, este debe ser ejecutado tantas veces como sea posible con diferentes datos, de forma que se pueda comprobar el correcto funcionamiento. Para facilitar esta tarea, puede existir un programa depurador (ebugger),
La función de un programa depurador es facilitar esta tarea. La principal posibilidad de este es el establecimiento de “punto de ruptura”. Estos son mandatos especiales que se pueden usar para detener la ejecución del programa en un punto determinado. Siendo capaz de parar en programa, el programador puede examinar los valores de las variables y contenidos de memoria. Luego, es posible comprobar la correcta operación del programa en puntos de ruptura determinados. Si no se dispone de programa de comprobación, es necesario buscar otros métodos de comprobación.
El desarrollo de un programa debe ser documentado, para lo cual dividiremos en la documentación del programa fuente y objeto:
MSc. Ing. ADEMAR PASTEN GIRONDA13
TEXTO: LABORATORIO DE VISUAL BASIC .
La documentación del programa fuente se encuentra detallado la descripción, análisis, algoritmos y codificación del programa. Mientras que la documentación del programa fuente se explica el funcionamiento del programa mediante un manual desde su ingreso hasta su salida. Este documento se conoce como el manual del programa.
Una vez terminada, presentada y aceptada el programa habrá una gran tendencia a modificar (mejoras no consideradas, sin embargo se tendrá una gran sorpresa cuando se descubra que el mantenimiento y codificación de un programa puede constar de 2 a 4 veces el programa original. Una primera categoría involucra a las correcciones que se desean cuando el usuario emplea comandos que no se han tomado en cuenta. Otra motivación para modificar el programa son las mejoras ya mencionadas, sin embargo para estas mejoras es posible que sean requeridas muchas modificaciones además del deseo de incorporar el sistema a ambientes para los cuales no ha sido diseñado, situación típicas en el momento de aceptación. Además de las anteriores están los cambios de adaptación posiblemente debido a mejoras tanto en Hardware como en Software externo.
2. Ejemplo de programación
Planificación del proyecto
Diseño de dos pantalla. En una hoja cuadriculada los siguientes formularios.En el formulario 1 muestra la hora que corre el programaEn el formulario 2 solo visualiza una viga que tiene una carga distribuida cuando se le indique mediante el control ver carga.
Formulario1 Formulario 2
Especificaciones del proyecto
Definir el Algoritmo. Se desarrolla el diagrama de flujo del control elegido utilizando las normas del Instituto de Normalización Americano (ANSI).
MSc. Ing. ADEMAR PASTEN GIRONDA
LABORATORIO DE COMPUTACION CIV 275 VISUALIZAR UNA CARGA
Apellido PaternoApellido MaternoNombreHora:
VER FORM 1 SALIR VER CARGA RETORNAR
CARGA
14
TEXTO: LABORATORIO DE VISUAL BASIC .
Base de datos- Datos para prueba de escritorio
Para generar una base de datos para la prueba de escritorio se tiene que tener conocimiento del proyecto. Estos datos tienen que ser colocados en una planilla que nos muestre los datos de entrada y resultados esperado:
DATOSDE ENTRADA
RESULTADOSESPERADOS
Largo RaCarga Q Rb
Codificación de proyecto
Antes de codificar se tiene que establecer las propiedades de cada control de la siguiente manera:
Propiedades de los controlesControl Propiedad ValorForm1Label1 Caption MANEJO DE HERRAMIENTAS….Label2 Caption EJEMPLO: VISUALIZAR CARGAFrame1 Caption GraficoLabel3 Name
Caption lblQ“q =”
Label4 NameCaption
LblH“ “
Text1 Name TxtQCommand1 Name
CaptionCmdVerCargaVer Carga
Command2 NameCaption
CmdSalirSalir
MSc. Ing. ADEMAR PASTEN GIRONDA
INICIO Retornar
FIN
SALIR(Digitar Enter )
INICIO Ver Carga
INICIO Salir
INICIOFormulario 1
FIN
FIN FIN
Ir al formulario 2
Desde el Formulario 1
Ir al formulario 1
Desde el Formulario 2
Ver Carga(Distribuida)
15
TEXTO: LABORATORIO DE VISUAL BASIC .
Codificación de control. (Programa Fuente) Se codifica el control elegido de acuerdo al diagrama de flujo y las propiedades de cada control.
Formulario 1Control Tiempo:Private Sub Time_Click()LblH.Caption = TimeEnd SubControl ver formulario1:Private Sub CmdVerform1_Click()Fom2.ShowUnload Form1End SubControl SalirPrivate Sub CmdSalir_Click()EndEnd SubFormulario 2Control Ver Carga:Private Sub CmdVerCarga_Click()LblQ.Visible = TrueTxtQ.Visible = TrueCarga.Visible = TrueTxtQ.SetFocusEnd SubControl Retornar:Private Sub CmdRetornar_Click()Fom1.ShowUnload Form2End Sub
Edición, depuración y verificación del proyecto
Para comprobar que los resultados de la corrida del programa este bien, este debe ser ejecutado tantas veces como sea posible con diferentes datos, de forma que se pueda comprobar el correcto funcionamiento.
MSc. Ing. ADEMAR PASTEN GIRONDA16
TEXTO: LABORATORIO DE VISUAL BASIC .
Una vez que la aplicación tiene el aspecto deseado y que ejecución se realiza correctamente, se puede crear un archivo ejecutable que permita que dicha aplicación se ejecute fuera del entorno de Visual Basic. Para ello, en el menú Archivo, haga clic en la opción Generar ……….exe (Visual Basic añade automáticamente el nombre del programa al nombre del comando). Visual Basic muestra el cuadro dialogo Generar proyecto.
Luego de seleccionar una carpeta y de introducir un nombre, haga clic en el botón Aceptar. Visual Basic creará un programa ejecutable y lo almacenara en la carpeta especificada.
Para ejecutar este archivo desde Windows, localicelo en el explorador de windows y haga doble clic sobre el. También podrá crear un acceso directo para este archivo en la ventana de escritorio. Para ello, en el explorador de Windows, situé el puntero del Mouse sobre el archivo ejecutable, presione el botón derecho del Mouse y manténgalo así mientras lo arrastra hacia el escritorio de Windows. Suelte el botón del Mouse y Windows le mostrara un menú contextual.
MSc. Ing. ADEMAR PASTEN GIRONDA
Archivo
Generar ………exe
Seleccionar carpeta
Nombre:
Aceptar
17
TEXTO: LABORATORIO DE VISUAL BASIC .
En este menú seleccione el comando Crear icono de acceso directo aquí. Windows introducirá un icono en el escritorio sobre el que podrá hacer doble clic para ejecutar el archivo ejecutable.
Documentación del proyecto
La documentación del proyecto se divide en las siguientes partes:
Documentación del proyecto fuenteDocumentación del proyecto Objeto (Manual del programa)
a) Documentación del proyecto fuente
La documentación fuente es confidencial, siendo manipulada esta información por el programador o personal con autorización, para la revisión de estos documentos.
Esto se debe a que el programa fuente pude ser modificado y mejorado permanentemente creando mejores versiones, lo que representa un ingreso económico para el programador o la empresa que lo contrato.
La documentación fuente tiene como contenido los siguientes temas:
* Introducción al proyecto* Planificación del proyecto* Especificaciones del proyecto* Base da datos (para la prueba de escritorio)* Codificación del proyecto* Edición depuración y verificación del proyecto* Disco con programa fuente
b) Documentación del proyecto Objeto
La documentación Objeto es conocido como el manual del programa y es accesible a toda persona que quiera adquirir el manual con el disquete que contiene el programa objeto, a un costo determinado.
Este manual explica como se tiene que utilizar el programa desde su prendido hasta su apagado. Para el uso de este manual, no es necesario que el usuario sepa programar, por que este programa explica todas las operaciones que efectuara cada control que muestra la pantalla.
El Manual del programa tiene como mínimo los siguientes temas: * Carátula con el nombre del manual y el nombre del autor
MSc. Ing. ADEMAR PASTEN GIRONDA18
TEXTO: LABORATORIO DE VISUAL BASIC .
* Información sobre la Edición, derechos reservados * Contenido o Índice * Prefacio* Contenido del manual por capítulos* Apéndices* Referencias o bibliografía* Disco con programa Objeto
Mantenimiento del proyecto
El programa puede ser actualizado permanentemente dependiendo de la versión del lenguaje que se utilizan.
También se puede mejorar el programa calculando sus momentos de la viga, la flexión y otros cálculos que se aplica a una viga.
El mantenimiento es conservar y cuidar el programa vigente en el tiempo, consideramos el Software y Hardware.
Con este fin se tiene que definir un mantenimiento del programa a corto, mediano y largo plazo:
Mantenimiento a corto plazo
A medida que el programa es utilizado por el usuario, se tiene que hacer ajustes al programa, para evitar errores de cálculo. Así también efectuar mejoras al programa para facilitar su uso.
Mantenimiento a mediano plazo
El programa requiere crear una página de acceso a datos para ver datos en Microsoft Internet Explorer o usar el Editor de secuencias de comandos de Microsoft para desarrollar código para una paina Web. La mayoría de oficinas actualmente trabajan con ordenadores interconectados, que comparten archivos, programas y periféricos. En estos, casos, se dedica siempre un ordenador (servidor) a almacenar la información y a manejar los periféricos. El resto de los ordenadores (clientes) se conectan a él. De esta manera, con una red que permite compartir los recursos, se ahorra tiempo y material.
Una vez entendido el concepto de red, cabe imaginar muchas redes independientes, cada una con sus respectivos servicios, diseminados por todos los rincones del planeta. Si se conecta entre si (habitualmente a través de línea telefónica), se obtiene la red Internet.
Mantenimiento a largo plazo
MSc. Ing. ADEMAR PASTEN GIRONDA19
TEXTO: LABORATORIO DE VISUAL BASIC .
Debido a su rápida difusión y a su origen estadounidense, el mundo de los ordenadores personales (también conocidos por las siglas PC, personal Computer) han aparecido algunos ordenadores de mejor calidad, obligando al programador a actualizar su programa.
El ordenador, por lo general, esta formado por la caja, que incluye todos los dispositivos internos (disquetes, unidad lectora de CD-ROM, memoria, disco duro, microprocesador, tarjeta de sonido y tarjeta graficadora) y los periféricos (monitor, teclado ratón, micrófono, altavoces e impresora).
Algo que sorprende mucho cuando se habla de ordenadores es la gran cantidad de tareas diferentes que son capaces de hacer. Ordenar y almacenar muchos datos, corregir ortográficamente un texto, o bien permitir realizar increíbles efectos sobre fotografías.
MSc. Ing. ADEMAR PASTEN GIRONDA20
TEXTO: LABORATORIO DE VISUAL BASIC .
TEMA 3FUNDAMENTOS DE LA PROGRAMACIÓN
1. Fundamentos
Los fundamentos del lenguaje de programación utilizado en el sistema de desarrollo para Visual Basic, comprende:
Los ComentariosDeclaración de variablesTipos de datosOperadoresFunciones matemáticas, conversión de cadena, hora-fecha
2. Comentarios
Visual Basic interpreta que todo lo que esta a la derecha del carácter (´) en una línea cualquiera de programa es un comentario y no ejecuta acción alguna. Los comentarios son de mucha utilidad para poder entender el código del programa utilizado.
3. Declaración de variables
Las variables se utilizan para almacenar valores temporalmente durante la ejecución del programa.Antes de utilizar una variable, hay que declarar su tipo. Para ello se utiliza la sentencia Dim. Esta sentencia reserva espacio de memoria para la variable y permite a Visual Basic saber que tipo de datos deberá guardar en dicha variable. Por ejemplo, la siguiente sentencia crea espacio para una variable llamada nLongitud:
Dim nLongitud As Integer
4. Tipos de datos
Visual Basic dispone de varios tipos de datos, aplicables para constantes como para variables, estas pueden ser Bolean, Byte, Integer, Long, single, etc.. Estos tipos de datos disponibles de Visual Basic se pueden ver en el cuadro 1. Si una variable no es declarada, se asume que es de tipo Variant.
5. Operadores
Un operador es un símbolo o palabra que ejecuta una operación matemática o maneja la información. Estos pueden ser Aritméticos ( *, /, +,..) y relaciones lógicas (=, >,<, And….). En el cuadro 2., se muestra el conjunto de operadores que porta Visual Basic.
MSc. Ing. ADEMAR PASTEN GIRONDA21
TEXTO: LABORATORIO DE VISUAL BASIC .
Cuadro 1. Tipo de datosTipo Descripción Rango
Boolean Binario True o FalseByte Entero corto 0 a 255Integer Entero (2 bytes) % -32768 a 32767Long Entero largo (4 bytes) & -2147483648 a 2147483647Single Real simple precisión
(4 bytes)! -3.40E+38 a 3.40E+38
Double Real doble precisión (8 bytes)
# -1.79D+308 a 1.79D+308
Currency
Número con punto decimal fijo (8 bytes) También se usa para valores monetarios
@ -9.22E+14 a 9.22E+14
String Cadena de caracteres (4 bytes + 1 byte/car. hasta 64K)
$ 0 a 65500 caracteres
Date Fecha 1 de enero de 100 a 31 de diciembre de 9999. Indica también la hora desde 0:00:00 a 23:59:59.
Variant Fecha/hora; números enteros, reales, o caracteres (16 bytes + 1 byte/car, en cadenas de caracteres).
(ninguno)
F/h: como Date. Números: mismo rango que el tipo de valor almacenado.
Cuadro 2. OperadoresTipo Operación Operador
Aritmético Exponenciación Cambio de signoMultiplicación y divisiónDivisión enteraResto de una división enteraSuma y resta
^ -* , /\Mod+ , -
Concatenación RelacionalLógico
Concatenar o enlazarIgual, distinto, mayor, menor,…NegaciónAndOr inclusivaOr exclusivaEquivalencia (opuesto a Xor)Implicación
&=,<>, <, >,<=, >=NotAndOrXorEqvImp
MSc. Ing. ADEMAR PASTEN GIRONDA22
TEXTO: LABORATORIO DE VISUAL BASIC .
6. Funciones matemáticas, conversión de cadena y fecha-hora
Visual Basic incluye varias de estas funciones que nos permiten operaciones matemáticas complejas. Las funciones de cadena permiten cambiar la apariencia y el tratamiento de las expresiones de cadena (String) y las funciones de fecha y hora opera la fecha y hora del sistema. En el cuadro 3 se muestra las funciones matemáticas en el cuadro 4., las funciones de conversión de cadena, y en el cuadro 5, las funciones de fecha y hora, junto con una descripción de su contenido.
Cuadro 3. Funciones matemáticaFunció
nDescripción
Abs ( ) Devuelve el valor absoluto de un número. Sintaxis: Abs (número)Cos ( ) Devuelve en radianes el coseno de un ángulo. Sintaxis : Cos (número)Exp ( ) Devuelve e (la base de los logaritmos naturales) elevado a una
potencia. Sintaxis: Exp(número)Int, Fix Devuelve un valor del mismo tipo que el que se pasó como parámetro
y que contiene la parte entera de un número. Sintaxis : Int (número)
Log ( ) Devuelve el logaritmo natural (base e) de un número. Sintaxis: Log (número)
Sin ( ) Devuelve en radianes el seno de un ángulo. Sintaxis: Sin (número)Sgn ( ) Devuelve el signo de un número. Sintaxis: Sgn (numero)Sqr ( ) Devuelve la raíz cuadrada de un número. Sintaxis: Sqr (número)Tan ( ) Devuelve en radianes la tangente de un ángulo. Sintaxis:
Tan (número)
Cuadro 4. Funciones de conversión de cadenaFunción Descripción
Asc ( ) Esta función devuelve el código de carácter correspondiente a la primera letra de una cadena. Sintaxis: Asc (cadena)
Chr ( ) Esta función devuelve un tipo String que contiene el carácter asociado con el código de carácter especificado. Sintaxis: Chr (códigocar)
InStr ( ) Esta función busca una cadena dentro de otra cadena y devuelve un número indicando la posición en la que se encuentra la cadena buscada; en caso de no encontrarse devuelve 0. Sintaxis: InStr( [start, ] string 1, string 2 [, compare ]
L Case ( ) Convierte una cadena a minúsculas. Sintaxis : LCase (cadena)Left ( ) Devuelve un número especificado de caracteres del lado izquierdo
de una cadena. Sintaxis: Left (string, length)Len ( ) Devuelve el número de caracteres en una cadena o el número de
bytes necesarios para almacenar una variable. Sintaxis: Len (cadena | nombrevar)
Mid ( ) Devuelve un número especificado de caracteres de una cadena . Sintaxis: Mid (string, Start [, length ] )
MSc. Ing. ADEMAR PASTEN GIRONDA23
TEXTO: LABORATORIO DE VISUAL BASIC .
Función DescripciónL Trim Rtrimy Trim
Devuelve una copia de una cadena determinada sin espacios a la izquierda (L Trim), sin espacios a la derecha (RTrim) o sin espacios ni a la derecha ni a la izquierda (Trim). Sintaxis: LTrim Cadena) , RTrim (cadena), Trim (cadena)
Right Devuelve un número especificado de caracteres del lado derecho de una cadena. Sintaxis: Right (string, lenght)
Str( ) Esta función convierte un número en cadena. Sintaxis: Str(número)
UCase( ) Convierte una cadena de caracteres a mayúsculas. Sintaxis : UCase(cadena)
Space( ) Genera una cadena de espacios. Sintaxis : Space(número)String( ) Devuelve un tipo Variant (String) que contiene una cadena de
caracteres que se repite de la longitud especificada. Sintaxis: String(number, carácter)
Val ( ) Esta función devuelve los números contenidos en una cadena como un valor numérico del tipo adecuado. Sintaxis: Val(cadena)
5. Funciones de fecha y horaFunción Descripción
Date Devuelve la fecha actual del sistema. Sintaxis: DateDateAdd( )
La función DateAdd devuelve un valor de tipo Variant con una fecha a la que se la ha agregado un intervalo de tiempo especificado. Sintaxis: DateAdd(intervalo, número, fecha)
DateDiff( )
Esta función devuelve el número de intervalos de tiempo entre dos fechas especificadas. Sintaxis: DateDiff(intervalo, fecha1, fecha2 [,1erdíasemana [, 1rasemanaaño ]])
Day La función Day devuelve un número entero entre 1 y 31, inclusive, que representa el día del mes. Sintaxis: Day(fecha)
Month( ) La función Month devuelve un número entero entre 1 y 12, inclusive, que representa el mes del año. Sintaxis: Month(fecha)
Now La función Now devuelve la fecha y la hora actuales de acuerdo a la configuración de la fecha y la hora del sistema de su PC. Sintaxis: Now
WeekDay La función WeekDay devuelve un número entero que representa el día de la semana. Sintaxis : WeekDay(fecha,[día semana])
Year Esta función devuelve un número entero que representa el año. Sintaxis:Year(fecha)
7. Caracteres ASCII
Es el código estándar de conjunto de caracteres que cualquier ordenador puede entender, usado para representar las letras latinas, en mayúsculas, minúsculas, números, puntuación, etc... La tabla básica de caracteres ASCII esta compuesta
MSc. Ing. ADEMAR PASTEN GIRONDA24
TEXTO: LABORATORIO DE VISUAL BASIC .
por 128 caracteres incluyendo símbolos y caracteres de control. Existe una versión extendida de 256. Un operador. Se puede llamar apretando ALT y el numero
Cuadro 6 ASCII
0 43 + 86 V 129 ü 172 ¼ 215 Î1 ☺ 44 , 87 W 130 é 173 ¡ 216 Ï2 ☻ 45 - 88 X 131 â 174 « 217 ┘3 ♥ 46 . 89 Y 132 ä 175 » 218 ┌4 ♦ 47 / 90 Z 133 à 176 ░ 219 █5 ♣ 48 0 91 [ 134 å 177 ▒ 220 ▄6 ♠ 49 1 92 \ 135 ç 178 ▓ 221 7 • 50 2 93 ] 136 ê 179 │ 222 8 ◘ 51 3 94 ^ 137 ë 180 ┤ 223 ▀9 ○ 52 4 95 _ 138 è 181 224
10 ◙ 53 5 96 ` 139 ï 182 225 ß11 ♂ 54 6 97 a 140 î 183 226 12 ♀ 55 7 98 b 141 ì 184 227 13 ♪ 56 8 99 c 142 Ä 185 ╣ 228 14 ♫ 57 9 100 d 143 Å 186 ║ 229 15 ☼ 58 : 101 e 144 É 187 ╗ 230 µ16 ► 59 ; 102 f 145 æ 188 ╝ 231 17 ◄ 60 < 103 g 146 Æ 189 232 18 ↕ 61 = 104 h 147 ô 190 233 19 ‼ 62 > 105 i 148 ö 191 ┐ 234 20 ¶ 63 ? 106 j 149 ò 192 └ 235 21 § 64 @ 107 k 150 û 193 ┴ 236 22 ▬ 65 A 108 l 151 ù 194 ┬ 237 23 ↨ 66 B 109 m 152 195 ├ 238 24 ♣ 67 C 110 n 153 Ö 196 ─ 239 25 → 68 D 111 o 154 Ü 197 ┼ 240 26 → 69 E 112 p 155 ø 198 241 ±27 ← 70 F 113 q 156 199 242 28 ∟ 71 G 114 r 157 200 ╚ 243 29 ↔ 72 H 115 s 158 201 ╔ 244 30 ▲ 73 I 116 t 159 ƒ 202 ╩ 245 31 ▼ 74 J 117 u 160 á 203 ╦ 246 ÷32 75 K 118 v 161 í 204 ╠ 247 33 ! 76 L 119 w 162 ó 205 ═ 248 °34 " 77 M 120 x 163 ú 206 ╬ 249 35 # 78 N 121 y 164 ñ 207 ¤ 250 ·36 $ 79 O 122 z 165 Ñ 208 251 37 % 80 P 123 { 166 ª 209 252 ³38 & 81 Q 124 | 167 º 210 253 ²39 ' 82 R 125 } 168 211 254 ■40 ( 83 S 126 ~ 169 212 255 41 ) 84 T 127 ⌂ 170 ¬ 213 256 42 * 85 U 128 Ç 171 ½ 214 257 ☺
MSc. Ing. ADEMAR PASTEN GIRONDA25
TEXTO: LABORATORIO DE VISUAL BASIC .
Ejemplo de aplicación
Introducir los siguientes valores A, B y θ, a un triangulo (oblicuángulo) y calcular C.Los datos deben ser vistos directamente en el grafico. _______________________ C= √ A2 + B2 - 2 A*B* cos (θ) C B
θ AEn la corrida del programa las letras A, B, C se deben convertir en minúsculas y al pie del triangulo se tiene que ver la fecha de la computadora.
Diseño de pantalla
Propiedades de cada controlControl Propiedad ValorForm1Label1 Caption DECLARA…….Label1 Caption ECUACION DE UN TRIAN.....Label2 Caption ALabel3 Caption BLabel4 Caption ΘLabel5 Caption CLabel6 Caption FechaFrame1 Caption FORMULALabel7 Caption __________________________
C = √(A2 + B2 - 2*A*B*Cos (θ) )
Text1 NameText
TxtA
Text2 Name TxtB
MSc. Ing. ADEMAR PASTEN GIRONDA
0 1000 2000 3000 4000 5000 6000
0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FORMULA . . . . . . . . . 4000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DECLARACION DE VARIABLES, TIPO DATOS ….
EJEMPLO: ECUACION DE UN TRIANGULO OBLICUANGULO
A
B
θ=
CALCULAR
SALIR
C = √(A2 + B2 - 2*A*B*Cos (θ) )
C =
FECHA :
26
TEXTO: LABORATORIO DE VISUAL BASIC .
TextText3 Name
TextTxtAng
Text4 NameText
TxtC
Text5 NameText
TxtL
Command1 NameCaption
CmdCalcularCalcular
Command2 NameCaption
CmdSalirSalir
Codificación en detalle de los controles'==========================Control CalcularPrivate Sub CmdCalcular_Click()Dim A, B As DoubleA = Val(TxtA.Text)B = Val(TxtB.Text)ANG = Val(TxtAng.Text)PI = 3.1416ANG = ANG * PI / 180C = Sqr(A ^ 2 * B ^ 2 + 2 * A * B * Cos(ANG))TxtC.Text = CTxtC.Visible = TrueTxtL.Text = NowLblA.Caption = LCase(LblA.Caption)LblB.Caption = LCase(LblB.Caption)LblC.Caption = LCase(LblC.Caption)End Sub
'=============================Control SalirPrivate Sub CmdSalir_Click()EndEnd Sub
MSc. Ing. ADEMAR PASTEN GIRONDA27
TEXTO: LABORATORIO DE VISUAL BASIC .
TEMA 4 ESTRUCTURA DE DECISIÓN If..Then…Else
1. Definición estructura de decisión If
Esta estructura evalúa la condición y, si es True (verdadera), ejecuta el primer bloque de sentencias y luego salta a las sentencias que hay después de End If. Si la condición es False (falsa), ejecuta el segundo bloque de sentencias, es decir, las que hay a continuación de la palabra clave Else.
2. Algoritmo y codificación
If f v Else Then
End IfIf Condición Then [Bloque de sentencias 1]Else [Bloque de sentencias 2]End If
3. Ejemplo de aplicación
Introducir dos números A y B, si A>=B colocar el rotulo “A es mayor o igual que B”, si B>A colocar el rotulo “B es mayor que A”
Cada campo numérico solo debe permitir el ingreso de dígitos numéricosDespués de ingresar datos a un campo tiene que enfocar automáticamente otro campo. Diseño de pantalla
MSc. Ing. ADEMAR PASTEN GIRONDA
Condición
Bloque de sentencia 1 Bloque de sentencia 2
0 1000 2000 3000 4000 5000 6000
0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . ESTRUCTURAS DE DECISION If.. Then… Else . . . . . . . EJEMPLO: ELECCION DE UN NUMEROMAYOR. . . . 1000 . .Ingresar: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dato A . . . . . . . . . . . . . . . . 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . .Dato B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4000 . . . . . . . . . . . . . . . . . . . . . . . . .
SALIRCALCULAR
28
TEXTO: LABORATORIO DE VISUAL BASIC .
Propiedades de cada controlControl Propiedad ValorForm1Label1 Caption ESTRUCTURA DE DECISIONLabel2 Caption If … Then … ElseLabel3 Caption IngresarLabel2 Caption Dato ALabel3 Caption Dato BLabel4 Name
CaptionLblResultado
Text1 NameText
TxtA
Text2 NameText
TxtB
Command1 NameCaption
CmdCalcularCalcular
Command2 NameCaption
CmdSalirSalir
Codificación en detalle de los controles ==================================Control Calcular
Private Sub CmdCalcular_Click()Dim A, B As DoubleA = Val(TxtA.Text)B = Val(TxtB.Text)If A>=B Then
LblResultado.Caption = Str(A) & " es mayor o igual que " & Str(B) & " Entonces A>=B"ElseLblResultado.Caption = Str(B) & " es mayor que " & Str(A) & " Entonces B>A"
End IfEnd Sub
=====================================Control SalirPrivate Sub CmdSalir_Click()
End 'Finaliza la ejecución del programaEnd Sub
============================Control APrivate Sub TxtA_KeyPress(KeyAscii As Integer)
'Enfoca el botón de comando BIf KeyAscii = 13 ThenTxtB.SetFocusEnd If
MSc. Ing. ADEMAR PASTEN GIRONDA29
TEXTO: LABORATORIO DE VISUAL BASIC .
'Solo permite el ingreso de dígitos en el control.If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" ThenBeep: KeyAscii = 0End If
End Sub
================================Control BPrivate Sub TxtB_KeyPress(KeyAscii As Integer)
'Enfoca el botón de comando CalcularIf KeyAscii = 13 ThenCmdCalcular.SetFocusEnd If
'Solo permite el ingreso de dígitos en el control.If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" ThenBeep: KeyAscii = 0End If
End Sub
MSc. Ing. ADEMAR PASTEN GIRONDA30
TEXTO: LABORATORIO DE VISUAL BASIC .
TEMA 5ESTRUCTURA DE DECISIÓN Select Case
1. Definición estructura de decisión Select..
Select Case ofrece posibilidad similar a la estructura If..Then..Else, pero hace que el código sea más legible cuando hay varias opciones. La estructura Select Case comprueba una única expresión, que se evalúa una sola vez al principio de la estructura. El resultado de esta comprobación se compara con los valores de cada case y, si coincide con uno de ellos, se ejecuta el bloque de sentencias asociado a ese Case.
2. Algoritmo y codificación
Select Case
Case1 Case2
Case Else End Select
Select Case expresión_prueba [Case lista expresionres1][bloque de sentencias 1][Case lista_expresiones2] [bloque de sentencias 2] ……. [Case Else[bloque de sentencias n]End Select
3. Ejemplo de aplicación
Dado un circulo donde se tiene como dato R = Radio, calcular uno de los elementos del siguiente menú: 1.- Diámetro (2*R) 2.- Área (PI*R2 ) 3.- Perímetro (2 * PI*R ) 4.- Salir Dibujar el circulo en pantalla
MSc. Ing. ADEMAR PASTEN GIRONDA
Expresion
Bloque de sentencia 1Bloque de sentencia 2
Bloque de sentencia n
31
TEXTO: LABORATORIO DE VISUAL BASIC .
Cada campo numérico solo debe permitir el ingreso de dígitos numéricosDespués de ingresar datos a un campo tiene que enfocar automáticamente otro campo. Diseño de pantalla
Propiedades de cada controlControl Propiedad ValorForm1Label1 Caption ESTRUCTURA DE DECISIONLabel2 Caption Select Case….. End SelectLabel3 Caption MENULabel4 Caption 1.- Diametro DLabel5 Caption 2.- Area ALabel6 Caption 3.- Perimetro PLabel7 Caption 4.- Salir del programaLabel8 Caption Elegir un numeroLabel9 Caption Ingresar el radioLabel10 Name
CaptionLblResultado
Frame1 Caption MENUFrame2 CalculosText1 Name
TextTxtRadio
Text2 NameText
TxtNumero
Shape1 Name Circulo1Shape2 Name Circulo2Line1 Name Linea1
MSc. Ing. ADEMAR PASTEN GIRONDA
0 1000 2000 3000 4000 5000 6000
0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ESTRUCTURA DE DECISION Select Case
EJEMPLO: CALCULO DE UN CIRCULO
Ingresar el Radio:
1.- Diámetro D
2.- Área A
3.- Perimetro P
4.- Salir programa
Elegir numero
MENU
Resultado :D = 2*R P = 2*Pi*RA= Pi*(R^2) Pi = 3.1416
Calculos
32
TEXTO: LABORATORIO DE VISUAL BASIC .
Codificación en detalle de los controles'===============================TxtNumeroPrivate Sub TxtNumero_KeyPress(KeyAscii As Integer)Dim N As LongIf KeyAscii = 13 Then N = Val(TxtNumero.Text) If N >= 1 And N <= 4 Then If N = 4 Then End Else TxtRadio.SetFocus End If Else TxtNumero.Text = "" TxtNumero.SetFocus End IfEnd If
End Sub
'===============================TxtRadio
Private Sub TxtRadio_KeyPress(KeyAscii As Integer)Dim R, N1 As LongIf KeyAscii = 13 Then R = Val(TxtRadio.Text) N1 = Val(TxtNumero.Text) PI = 3.1416 Linea1.Visible=False Circulo1.Visible=false Circulo2.Visible=False Select Case N1 Case 1 Linea1.Visible=True Circulo1.Visible=True LblResultado.Caption = "Diametro =" & 2 * R Case 2 Circulo1.Visible=True LblResultado.Caption = "Area =" & PI * (R ^ 2) Case 3 Circulo2.Visible=True LblResultado.Caption = "Perimetro =" & 2 * PI * R Case Else Exit Sub End Select End If
MSc. Ing. ADEMAR PASTEN GIRONDA33
TEXTO: LABORATORIO DE VISUAL BASIC .
'Enfoca otro botonIf KeyAscii = 13 Then TxtNumero.Text = "" TxtRadio.Text = "" TxtNumero.SetFocusEnd If
End Sub
MSc. Ing. ADEMAR PASTEN GIRONDA34
TEXTO: LABORATORIO DE VISUAL BASIC .
TEMA 6ESTRUCTURAS DE BUCLE
1. Definición estructura Bucle
Las estructuras de bucle permiten repetir la ejecución de una o más líneas de código mientras una condición sea verdadera o hasta que una condición sea verdadera. Visual Basic dispone de las siguientes estructuras de Bucle:
2. Algoritmo y codificación Do While f v
Loop
Do While conditionSentenciasLoop
Do
Loop While v f
Do Sentencias Loop While condición
For.. to.. Step Next
For contador = iniciar to finalizar [Step
incremento]Sentencias
Next [contador]3. Ejemplo de aplicación Dado un rectángulo donde se tiene conocido A y B, efectuar un programa que calcule el lado C n 2 n
MSc. Ing. ADEMAR PASTEN GIRONDA
Condición
sentencias
Condición
sentencias
sentencias
35
TEXTO: LABORATORIO DE VISUAL BASIC .
C= ∑ B + ∑ (A2 ) A x=1 x=1 B
Donde x= 1,2,3,4,….n C Dibujar el rectángulo en pantalla y que muestre los resultadosCada campo numérico solo debe permitir el ingreso de dígitos numéricosDespués de ingresar datos a un campo tiene que enfocar automáticamente otro campo. Diseño de pantalla
Propiedades de cada controlControl Propiedad ValorForm1Label1 Caption ESTRUCTURA DE BUCLELabel2 Caption Ingrese A=Label3 Caption Ingrese B=Label4 Caption Ingrese n=Label5 Caption A=Label6 Caption B=Label7 Caption C=Label8 Name
CaptionLblA
Label9 NameCaption
LblB
Label10 NameCaption
LblC
Label11 Name LblResultado
MSc. Ing. ADEMAR PASTEN GIRONDA
0 1000 2000 3000 4000 5000 6000
0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ESTRUCTURA DE BUCLE: Do..While..Loop, For..Next
EJEMPLO: CALCULO DE UN CUBO DE LADO C
Ingrese nn
0 Calculo por Do….Loop while
0 Calculo por Do While….. Loop
0 Calculo por For ……Next
0 Salir programa
MENU
Ingrese B:=
C= SQR((Sumatoria B)^2)+(Sumatoria(a^2)))
Formula
Ingrese A=
C = ?
36
TEXTO: LABORATORIO DE VISUAL BASIC .
Label12 Caption C=SQR(((SumatoriaA)^2)+(Sumatoria (B^2)) ; Para x=1,2,3…n
Text1 NameText
TxtA
Text2 NameText
TxtB
Text3 NameText
TxtN
Frame1 Caption Elija un Bucle para calcularFrame2 Caption FormulaOption1 Name
CaptionBoton1Calculo por Do…..Loop While
Option2 NameCaption
Boton2Calculo por Do While…….Loop
Option3 NameCaption
Boton3Calculo por For…….Next
Option4 NameCaption
Boton4Salir
Codificación en detalle de los controles'Boton1==============================ClikPrivate Sub Boton1_Click()Dim A, B, C As DoubleDim N, X As IntegerDim SumaA, SumaB As DoubleA = Val(TxtA.Text)B = Val(TxtB.Text)N = Val(TxtN.Text)X = 0: C = 0SumaA = 0: SumaB = 0Do SumaA = SumaA + A SumaB = SumaB + (B ^ 2) X = X + 1Loop While X <> NC = Sqr(((SumaA) ^ 2) + (SumaB))LblC.Caption = Format(C, "###,##00")End Sub
'Boton2================================ClikPrivate Sub Boton2_Click()Dim A, B, C As DoubleDim N, X As IntegerDim SumaA, SumaB As DoubleA = Val(TxtA.Text)
MSc. Ing. ADEMAR PASTEN GIRONDA37
TEXTO: LABORATORIO DE VISUAL BASIC .
B = Val(TxtB.Text)N = Val(TxtN.Text)X = 0: C = 0SumaA = 0: SumaB = 0Do While X <> N SumaA = SumaA + A SumaB = SumaB + (B ^ 2) X = X + 1LoopC = Sqr(((SumaA) ^ 2) + (SumaB))LblC.Caption = Format(C, "###,##00")End Sub
'Boton3================================ClikPrivate Sub Boton3_Click()Dim A, B, C As DoubleDim N, X As IntegerDim SumaA, SumaB As DoubleA = Val(TxtA.Text)B = Val(TxtB.Text)N = Val(TxtN.Text)C = 0SumaA = 0: SumaB = 0For X = 1 To N Step 1 SumaA = SumaA + A SumaB = SumaB + (B ^ 2)NextC = Sqr(((SumaA) ^ 2) + (SumaB))LblC.Caption = Format(C, "###,##00")End Sub
'Boton4======================================ClikPrivate Sub Boton4_Click()EndEnd Sub
'TxtA=========================================clikPrivate Sub TxtA_KeyPress(KeyAscii As Integer)LblA.Caption = Val(TxtA)'Mueve el puntero a otro cuadroIf KeyAscii = 13 ThenTxtB.SetFocusEnd IfEnd Sub
'TxtB======================================ClikPrivate Sub TxtB_KeyPress(KeyAscii As Integer)
MSc. Ing. ADEMAR PASTEN GIRONDA38
TEXTO: LABORATORIO DE VISUAL BASIC .
LblB.Caption = Val(TxtB)'Mueve el puntero a otro cuadroIf KeyAscii = 13 ThenTxtN.SetFocusEnd IfEnd Sub
'TxtN========================================ClikPrivate Sub TxtN_KeyPress(KeyAscii As Integer)Dim A, B As DoubleA = Val(TxtA.Text)B = Val(TxtB.Text)If (A > 0 And B > 0) Then LblRotulo.Caption = "Puede calcular" Else LblRotulo.Caption = "No puede calcular A,B<0"End IfEnd Sub
MSc. Ing. ADEMAR PASTEN GIRONDA39
TEXTO: LABORATORIO DE VISUAL BASIC .
TEMA 7MATRICES - ARRAYS
1. Definición matrices - Array
Un array es una estructura de datos en la que se almacena una serie de elementos del mismo tipo. Dicho de otro modo, una array es una lista con número finito de n elementos del mismo tipo que se caracteriza por almacenar los elementos del array en posiciones de memoria continua, tener un único nombre de variable que representa a todos los elementos, y éstos a su vez se diferencian por un índice o subíndice.
(i , j) 1 2 … .n 12 A(2,2
)…n
Un array debe declararse con la sentencia Dim seguido por el nombre del array y, entre paréntesis, el valor máximo del índice que emplearemos para acceder a cada elemento
Dim nombre variable ( inicio To fin , inicio To fin ) As Tipo variable Fila Columna
2. Array unidimensionalUn array de una dimensión (unidimensional) es un tipo de datos estructurado compuesto de un número fijo de elementos. Los elementos de array se almacenan en posiciones contiguas de memoria, a cada una de las cuales se puede acceder directamente. A[i] B[i] C[i]
.a1 a2 a3 ; b1 b2 b3 ; c1 c2 c3
Dim A(1 To 3), B(1 To 3), C(1 To 3) As Integer 3. Array Bidimensionales
Un array bidimensional es un array con dos índices. Para localizar o almacenar un valor en el array se deben especificar dos posiciones (dos subíndices), uno para la fila y otro para la columna. A[i,j] B[i,j] C[i,j]
.a11 a12 a13 b11 b12 b13 c11 c12 c13
a21 a22 a23 ; b21 b22 b23 ; c21 c22 c23 a31 a32 a33 b31 b32 b33 c31 c32 c33
MSc. Ing. ADEMAR PASTEN GIRONDA40
TEXTO: LABORATORIO DE VISUAL BASIC .
Dim A(1 To 3, 1 To 3), B(1 To 3, 1 To 3), C(1 To 3, 1 To 3) As Integer
4. Ejemplo de aplicación
Sumar dos matrices A + B, y guardar en una matriz C. .a11 a12 a13 b11 b12 b13 c11 c12 c13
a21 a22 a23 + b21 b22 b23 = c21 c22 c23 a31 a32 a33 b31 b32 b33 c31 c32 c33 Donde: . c11 = a11 + b11 c12 = a12 + b12 c13 = a13 + b13
c21 = a21 + b21 c22 = a22 + b22 c23 = a23 + b23
c31 = a31 + b31 c32 = a32 + b32 c33 = a33 + b33
Diseño de pantalla
Codificación del entornoControl Propiedad ValorForm1Label1 Caption MATRICES = ARRAYSLabel2 Caption Orden MatrizLabel3 Caption Matriz ALabel4 Caption Matriz BLabel5 Caption Matriz CLabel6 Caption Calcular>Text1 Name
TextTxtN
Picture1 NameText
Command1 NameText
Cmdsalir
MSc. Ing. ADEMAR PASTEN GIRONDA
0 1000 2000 3000 4000 5000 6000
0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MATRICES – ARRAYS
Matriz A + Matriz B = Matriz C
1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3
SALIR
Oden:EJEMPLO: CALCULO SUMA DE MATRICES
41
TEXTO: LABORATORIO DE VISUAL BASIC .
Codificación del programa'CmdSalir===================================ClickPrivate Sub CmdSalir_Click()EndEnd Sub
'Picture1==================================ClikPrivate Sub Picture1_Click()Dim A(1 To 30, 1 To 30), B(1 To 30, 1 To 30), C(1 To 30, 1 To 30) As IntegerDim i, j, CodenadaX, CordenadaY As Integer
N = Val(TxtN.Text)
For i = 1 To NFor j = 1 To NA(i, j) = InputBox("Introdusca Matriz A(" & i & "," & j & ")", "lectura")CordenadaX = j * 300CordenadaY = i * 300Picture1.CurrentX = CordenadaXPicture1.CurrentY = CordenadaYPicture1.Print A(i, j)NextNext
For i = 1 To NFor j = 1 To NB(i, j) = InputBox("Introdusca Matriz B(" & i & "," & j & ")", "lectura")CordenadaX = (j * 300) + 1600CordenadaY = i * 300Picture1.CurrentX = CordenadaXPicture1.CurrentY = CordenadaYPicture1.Print B(i, j)NextNext
For i = 1 To NFor j = 1 To NC(i, j) = (1 * A(i, j)) + (1 * B(i, j))NextNext
For i = 1 To NFor j = 1 To NCordenadaX = (j * 300) + 3200CordenadaY = i * 300
MSc. Ing. ADEMAR PASTEN GIRONDA42
TEXTO: LABORATORIO DE VISUAL BASIC .
Picture1.CurrentX = CordenadaXPicture1.CurrentY = CordenadaYPicture1.Print C(i, j)NextNextEnd Sub
MSc. Ing. ADEMAR PASTEN GIRONDA43
TEXTO: LABORATORIO DE VISUAL BASIC .
TEMA 8PROCEDIMIENTO: FUNCTION - SUB
1. Definición procedimiento - funciones
Cuando varios procedimientos conducidos por sucesos necesiten ejecutar una misma rutina, la mejor forma de proceder es colocar el código de esta rutina en un procedimiento general que será invocado desde cada uno de estos procedimientos conducidos por sucesos. De esta manera se evita duplicar código. Un procedimiento general debe ser conciso y debe ejecutar una tarea única. De esta manera, el código del programa será estructurado y fácil de mantener. Un procedimiento general puede escribirse como procedimiento Sub o como procedimiento Función.
2. Algoritmo y codificación
MSc. Ing. ADEMAR PASTEN GIRONDA
INICIO
Sentencias
Nombre Sub
Sentencias
Nombre= nombre función
FIN
Procedimiento Sub
Sentencias
Fin Sub
Procedimiento Función
Sentencias
Fin Function
Sentencias
Nombre = expresión
Sentencias
44
TEXTO: LABORATORIO DE VISUAL BASIC .
Private……..[sentencias]………. Procedimiento Sub[Nombre Sub] ------------- Sub nombre ( )[sentencias] . [sentencias]….. . End Sub ….. ….. Procedimiento Function:[nombre= nombre funcion]-- Fuction nombre ([Argumento]) As [tipo][sentencias] . [sentencias]….. . [nombre=expresión]End Sub. . [sentencias] : End Fuction
3. Ejemplo de aplicación
Ingrese dos números X, Y y calcular las siguientes funciones: Si: f(x) > 0 calcular g(x) = [ ∑X2 + [ ∑Y]2 ] + 1 F(x) = X * Y Si: f(x) = 0 calcular g(x) = [ ∑X2 * [ ∑Y]2 ] + 1 Si: f(x) < 0 calcular g(x) = [ ∑X2 / [ ∑Y]2 ] + 1 Para la sumatoria de i= 1,2,3,4,….N Calcular Z = f(x) + g(x) Diseño de pantalla
Codificación del entornoControl Propiedad ValorForm1Label1 Caption PROCEDIMIENTO FUNSION -SUBLabel2 Caption Ingrese X:Label3 Caption Ingres Y:Label4 Caption Ingres N:
MSc. Ing. ADEMAR PASTEN GIRONDA
0 1000 2000 3000 4000 5000 6000
0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PROCEDIMIENTO: FUNCTION - SUB
DATOS
Ingres X
Ingres YIngrese N CALCULAR
FX =
GX =
RESULTADOS
Formulas: Fx = x * y Si : Fx > o ; Gx = (Sum X² + ( Sum Y² ) + 1 Fx = o ; Gx = (Sum X² * ( Sum Y² ) + 1 Fx < o ; Gx = (Sum X² / ( Sum Y²) + 1 Z = (Fx + Gx) i = 1,2,3,4….N
Z =SALIR
EJEMPLO: CALCULO DE Z= F(x) + G(x)
45
TEXTO: LABORATORIO DE VISUAL BASIC .
Label5 Caption FX =Label6 Caption GX =Label7 Caption Z =Frame1 Caption Formulas:Label8 Caption Fx= X * YLabel9 Caption Fx>0 Gx = (suma X^2+(SumtY)^2)+1Label10 Caption Fx>0 Gx = (suma X^2*(SumtY)^2)+1Label11 Caption Fx>0 Gx = (suma X^2/(SumtY)^2)+1Label12 Caption Z= (Fx + Gx) + 1Label13 Caption I= 1,2,3,4,……NText1 Name TxtXText2 Name TxtYText3 Name TxtNText4 Name TxtFXText5 Name TxtGXText6 Name TxtZCommand1 Name
TextCmdCalcular
Command1 NameText
CmdSalir
Codificación del programa'CmdCalcular==============================ClicPrivate Sub CmdCalcular_Click()Dim X, Y As DoubleDim Fx, Gx, Gxx, Z As Double
X = Val(TxtX.Text)Y = Val(TxtY.Text)
Fx = X * YTxtFX.Text = FxIf Fx > 0 Then GX1If Fx = 0 Then GX2If Fx < 0 Then GX3
Gxx = Val(TxtGX.Text)
TxtZ.Text = Fx + Gxx
End Sub
'GX1======================================ClicSub GX1() Dim X, SX, Gx As Double
MSc. Ing. ADEMAR PASTEN GIRONDA46
TEXTO: LABORATORIO DE VISUAL BASIC .
Dim Y, SY As Double X = Val(TxtX.Text) Y = Val(TxtY.Text) SX = SX1(X) SY = SY1(Y) Gx = (SX + (SY ^ 2)) + 1 TxtGX.Text = GxEnd Sub
'GX2======================================ClicSub GX2() Dim X, SX, Gx As Double Dim Y, SY As Double X = Val(TxtX.Text) Y = Val(TxtY.Text) SX = SX1(X) SY = SY1(Y) Gx = (SX * (SY ^ 2)) + 1 TxtGX.Text = GxEnd Sub
'GX·======================================ClicSub GX3() Dim X, SX, Gx As Double Dim Y, SY As Double X = Val(TxtX.Text) Y = Val(TxtY.Text) SX = SX1(X) SY = SY1(Y) Gx = (SX / (SY ^ 2)) + 1 TxtGX.Text = GxEnd Sub
'SX1======================================ClicFunction SX1(X1) As Double Dim i, N As Long N = Val(TxtN.Text) For i = 1 To N SX1 = SX1 + (X1 ^ 2) NextEnd Function
'SY1======================================ClicFunction SY1(Y1) As Double Dim i, N As Long N = Val(TxtN.Text) For i = 1 To N
MSc. Ing. ADEMAR PASTEN GIRONDA47
TEXTO: LABORATORIO DE VISUAL BASIC .
SY1 = SY1 + Y1 NextEnd Function
'CmdSalir=================================ClicPrivate Sub CmdSalir_Click()EndEnd Sub
'TxtN=====================================ClicPrivate Sub TxtN_KeyPress(KeyAscii As Integer)' Enfoca otro botonIf KeyAscii = 13 ThenCmdCalcular.SetFocusEnd IfEnd Sub
'TxtX=====================================ClicPrivate Sub TxtX_KeyPress(KeyAscii As Integer)' Enfoca otro botonIf KeyAscii = 13 ThenTxtY.SetFocusEnd IfEnd Sub
'TxtY=====================================ClicPrivate Sub TxtY_KeyPress(KeyAscii As Integer)' Enfoca otro botonIf KeyAscii = 13 ThenTxtN.SetFocusEnd IfEnd Sub
MSc. Ing. ADEMAR PASTEN GIRONDA48
TEXTO: LABORATORIO DE VISUAL BASIC .
TEMA 9BASE DE DATOS Y ARCHIVOS
1. Base de datos
La Base de datos es cualquier conjunto de datos organizados para su almacenamiento en la memoria de un ordenador o computadora, diseñado para facilitar su mantenimiento y acceso de una forma estándar.
En Visual Basic un archivo es un conjunto de tablas, estas tablas son un conjunto de registros, y estos registros son un conjunto de campos que pueden ser de diferentes tipos de variables (enteros, reales, alfabéticos, etc..)
Contenido de la Base de datos:
TABLA n TABLA 3
TABLA 2 TABLA 1 Campo 1 Campo 2 Campo 3 ……. Campo n Registro 1 Registro 2 Registro 3
2. Método para el desplazamiento del puntero
El control Data presenta un conjunto de métodos que permite el desplazamiento en la tabla los cuales pasamos a describir brevemente:
MoveFirst Mueve el puntero al primer registroMoveNext Mueve el puntero al siguiente registroMovePrevious: Mueve el puntero al registro anteriorMoveLast: Mueve el puntero al último registro
Estos controles se muestran en los botones Control Data:
Primero Anterior Siguiente UltimoMoveFirst MovePrevious MoveNext MoveLast
MSc. Ing. ADEMAR PASTEN GIRONDA
< < Data1 > >
49
TEXTO: LABORATORIO DE VISUAL BASIC .
3. Método de mantenimiento
a) RecordSet.Addnew:
Addnew nos permite crear un nuevo registro para un objeto RecorSet de tipo Table o Dynaset, con esta opción ingresaremos un espacio en blanco al final de nuestra tabla activa, con lo cual nos permitirá ingresar datos para su posterior almacenamiento.
Utilice el método Addnew para agregar o crear un nuevo registro en nuestro objeto RecordSet.. Este método establece los campos a los valores predeterminados y si no se especifican valores predeterminados, establece la campos a Null ( los valores predeterminado especificados para el recorSet tipo Table)
b) RecordSet.Update (tipo, obligar):
Update nos permitirá guardar el contenido del bufer de copia en un objeto RecorSet de tipo Dynaset o table especifico.
Utilice el método Update para guardar el registro activo y los cambios que se hayan efectuado en el.
c) RecordSet.edit
Edit nos permite Editar el contenido de un registro cualquiera de nuestra Tabla que pertenece a nuestra Base de datos, modificada el registro activo de un objeto RecorSet. Al bufer de copia para una posterior edición.
Una vez que ha sido utilizado el método edit, los cambios que usted haya realizado en los campos del registro que usted creyo conveniente, son almacenados en el búfer de copia. Después de generar todos los cambios deseados, utilizaremos el método Update para actualizar la información de nuestra tabla.
d) RecorSet.delete
Nos permite eliminar registros no deseados o poco inservibles en nuestra base de datos, eliminara el registro activo de nuestro objeto RecordSet o un miembro de una colección, como podría ser una tabla almacenada de una Base de datos, un campo almacenado de una tabla independiente y un índice de una tabla.
MSc. Ing. ADEMAR PASTEN GIRONDA50
TEXTO: LABORATORIO DE VISUAL BASIC .
4. Ejemplo de aplicación
Desarrollar una aplicación que nos permita presentar la información almacenada en la Tabla1 en la Base de datos Base1. La Tabla1 tiene como campos A1 y B1
Pasos para generar una base de datosa) Plantear el problemab) Generar los campos, tablas, archivos en Accesc) Diseñar la pantalla o formulariod) Colocar propiedades a los controlese) Codificar los controles
a) Plantear el problema
Diseñamos nuestra tabla de la siguiente manera:
TABLA
TABLA
TABLA1 A1 B1
100 10 200 20 300 30 400 40 500 50 600 60 700 70 800 80 900 90 1000 100 2000 200
Los Command para mantenimiento son los siguientes:
Para gravar crearemos dos Command Nuevo Grabar
Para borrar crearemos un CommandEliminar
Para cambiar crearemos dos Command Editar Grabar
MSc. Ing. ADEMAR PASTEN GIRONDA51
TEXTO: LABORATORIO DE VISUAL BASIC .
b) Generar los campos , tablas, archivos en Acces
* En el menú principal del Visual Basic digitar Complemento y luego Administrador Visual datos
Nos presentara una nueva ventana donde digitamos Archivo , Nuevo, Microsoft ACCES y MD de la version 2.
MSc. Ing. ADEMAR PASTEN GIRONDA52
TEXTO: LABORATORIO DE VISUAL BASIC .
Presentara una ventana, donde seleccionamos la base de datos del Microsoft Acces que desea crear dandole el nombre
Cuando se de el nombre genera una nueva ventana VISDATA
MSc. Ing. ADEMAR PASTEN GIRONDA53
TEXTO: LABORATORIO DE VISUAL BASIC .
Con el cursor o puntero se coloca en Propiedades y se digita el boton derecho del mause que nos genera un menú, digitamos Nueva tabla
Nos muestra una ventana denominada estructura de tabla donde colocamos el nombre de la tabla, y datos que nos solicitan
MSc. Ing. ADEMAR PASTEN GIRONDA54
TEXTO: LABORATORIO DE VISUAL BASIC .
Luego de llenar los datos podemos agregar campos digitando en Agregar Campos
Luego de llenar los campos digitamos generar tabla
MSc. Ing. ADEMAR PASTEN GIRONDA55
TEXTO: LABORATORIO DE VISUAL BASIC .
Con lo cual se temino de de generar la base de datos
c) Diseñar la pantalla o formulario
Diseñamos el formulario 1
MSc. Ing. ADEMAR PASTEN GIRONDA56
TEXTO: LABORATORIO DE VISUAL BASIC .
Diseñamos el formulario 2
Como en el cuadro de herramientas no se tiene el icono MSFlexFGrid, se puede incrementar, colocando el puntero en la ventana de herramientas y pulsando el boton derecho del maus.
Nos mostrara el siguiente menú
ComponentesAgregar FichaAcopleOcultar
Del cual elegimos Componentes que nos mostrara la siguiente pantalla:
En esta ventana se marca el componente Microsoft FlexGrid Control 6.0 (sps) y se digita aceptar.
Esto nos muestra en la ventana de herramientas el icono MSflexGrid que nos permitira diseñar el siguiente formulario:
MSc. Ing. ADEMAR PASTEN GIRONDA57
TEXTO: LABORATORIO DE VISUAL BASIC .
d) Colocar propiedades a los controles
Control Propiedad ValorFormulario1Command1 Name CmdEditar
Caption EditarCommand1 Name CmdEliminar
Caption EliminarCommand1 Name CmdGrabar
Caption GrabarCommand1 Name CmdNuevo
Caption NuevoCommand1 Name CmdSalir
Caption SalirCommand1 Name CmdVerlistas
Caption VerListaData 1 Name Data1
DataBaseName C:…….BASE1Record Source Tabla1
Text1 Name TxtAData Source Data1Data File A
Text2 Name TxtBData Source Data1
MSc. Ing. ADEMAR PASTEN GIRONDA58
TEXTO: LABORATORIO DE VISUAL BASIC .
Data File BFormulario 2MSFlexGrid1 Name MSFLexGrid1
Data Source Data1File Rows 1File Cols 0Rous 10Cols 2
Command1 Name CmdRetornoCaption Retorno
e) Codificar los controles
Formulario1'-------------------------------------------------------Private Sub CmdEditar_Click()TxtB.SetFocusData1.Recordset.EditCmdGrabar.Enabled = TrueData1.Recordset.UpdateCmdNuevo.Enabled = FalseCmdEliminar.Enabled = FalseEnd Sub'-------------------------------------------------------Private Sub CmdEliminar_Click()If MsgBox("¿Desea eliminar el registro actual?", 4, "Eliminar") = 6 ThenData1.Recordset.DeleteEnd IfData1.Recordset.MoveFirst
End Sub'-------------------------------------------------------Private Sub CmdGrabar_Click()Dim grabar As Integer
MSc. Ing. ADEMAR PASTEN GIRONDA59
TEXTO: LABORATORIO DE VISUAL BASIC .
grabar = MsgBox("¿Desea guardar los ultimos cambios efectuados?", vbYesNo + vbInformation, "Guardando los cambios")If grabar = vbYes ThenData1.RefreshCmdGrabar.Enabled = FalseCmdEliminar.Enabled = TrueCmdEditar.Enabled = TrueCmdNuevo.Enabled = TrueEnd If
If grabar = vbNo ThenCmdGrabar.SetFocusCmdGrabar.Enabled = FalseCmdEliminar.Enabled = TrueCmdEditar.Enabled = TrueCmdNuevo.Enabled = TrueEnd If
CmdGrabar.Enabled = False
End Sub
'-------------------------------------------------------Private Sub CmdNuevo_Click()Data1.Recordset.AddNewTxtA.SetFocusCmdGrabar.Enabled = TrueCmdEliminar.Enabled = FalseCmdEditar.Enabled = FalseEnd Sub'-------------------------------------------------------Private Sub CmdSalir_Click()EndEnd Sub'-------------------------------------------------------Private Sub CmdVerlista_Click()Form2.ShowUnload Form1End Sub
'-------------------------------------------------------Private Sub TxtA_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenTxtB.SetFocusEnd If
MSc. Ing. ADEMAR PASTEN GIRONDA60
TEXTO: LABORATORIO DE VISUAL BASIC .
End Sub
Formulario 2
'-----------------------------------------------------Private Sub CmsRetorno_Click()Form1.ShowUnload Form2End Sub'-----------------------------------------------------
BIBLIOGRAFIA:
Aplicaciones en Visual Basic 6.0; Freddy Suárez Barzola; Editorial Serví libros; Edición 1ra; 2003.
Programación en Visual Basic 6; Rubén Luna Ramírez; Editorial Marco; Edición 2da; 2002
Programación paso a paso en Visual Basic 6.0; Rubén Luna Ramírez; Editorial Macro; Edición 1ra; 2000.
Aprendiendo Visual Basic 5 en 24 hrs.; Grez Perry; Editorial Pentice-Hall; Edición 1ra; 1998.
Problemas de metodología de la programación; Luís Joyanes Aguilar; Editorial McGraw-Hill; edición 1ra; 1996
Microsoft Visual Basic 4.0; Michael Halvorson; Editorial McGraw-Hill; Edition 1ra; 1996.
MSc. Ing. ADEMAR PASTEN GIRONDA61