Vous êtes sur la page 1sur 44

INGENIERIA CIVIL

CURSO INFORMATICA

NDICE DE CONTENIDO
INTRODUCCIN
1. MICROSOFT VISUAL BASIC
QU ES VISUAL BASIC?
QUE ES UN OBJETO?
QUE ES UN PROYECTO?
EL ENTORNO DE PROGRAMACIN DE VISUAL BASIC
CREACIN DE UNA APLICACIN
2. FUNDAMENTOS DE PROGRAMACIN
COMENTARIOS
VARIABLES Y CONSTANTES
DECLARACIN DE VARIABLES
TIPOS DE DATOS
DECLARACIN EXPLCITA
MBITO DE LAS VARIABLES
OPERADORES
ESTRUCTURAS DE CONTROL
3. PRACTICA N 1
4. PRACTICA N 2
5. PRACTICA N 3
6. PRACTICA N 4
7. PRACTICA N 5
8. PRACTICA N 6
9. PRACTICA N 7
10. PRACTICA N 8

PROFESOR EDIDSON FUENTES

2014

PAGINA 1

INGENIERIA CIVIL

CURSO INFORMATICA

Microsoft Visual Basic


QU ES VISUAL BASIC?
Microsoft Visual Basic es un lenguaje de programacin, diseado especialmente para
desarrollar aplicaciones grficas de manera rpida y eficiente.

QUE ES UN OBJETO?
Los elementos bsicos (formularios y controles) de construccin de una aplicacin con
Visual Basic son los objetos. Cada objeto tiene un conjunto de caractersticas y un
comportamiento definido (propiedades, mtodos y eventos) que lo diferencian de otros
objetos y hacen que cumpla con una funcin determinada en una aplicacin. Los objetos
pueden moverse, variar de tamao y personalizarse mediante la asignacin de propiedades
en tiempo de diseo o en tiempo de ejecucin.

PROPIEDADES
Al conjunto de datos que describen las caractersticas de un objeto se le conoce como
sus propiedades. Estas propiedades pueden establecerse en tiempo de diseo,
utilizando la ventana de Propiedades, o durante la ejecucin del programa, mediante el
uso de sentencias en el cdigo del mismo. La sintaxis para asignar valor a una propiedad
es:
Objeto.Propiedad=Valor
Donde:
Objeto: Es el nombre del objeto cuya propiedad se desea establecer.
Propiedad: Es la caracterstica que deseamos modificar.
Valor: Es el nuevo valor asignado a dicha propiedad.
Ejemplo:
Label1.Caption = Ingrese cdigo de acceso

MTODOS
Un mtodo es una sentencia especial que realiza una accin o un servicio para un objeto
en concreto dentro del programa. La sintaxis para utilizar un mtodo es:
Objeto.Mtodo Valor
Donde:
Objeto: Es el nombre del objeto que deseamos modificar.
Mtodo: Es la orden que queremos utilizar para modificar el objeto.
Valor: Es un argumento opcional que utilizar el mtodo. Por ejemplo, la sentencia.
Ejemplo:
List1.AddItem Per

EVENTOS

PROFESOR EDIDSON FUENTES

2014

PAGINA 2

INGENIERIA CIVIL

CURSO INFORMATICA

Hechos que son desencadenados en los formularios y controles por la accin del
usuario. A cada evento se puede asociar un procedimiento que responda
adecuadamente a la accin desencadenada. Los sucesos son los mensajes o solicitudes
que se envan a los objetos de Visual Basic.

QUE ES UN PROYECTO?
Un proyecto es una serie de archivos (mdulos, formularios, etc) que integran en su
conjunto una aplicacin completa.
Un proyecto consta de los siguientes archivos:
Archivo

Un archivo de proyecto que realiza el seguimiento de todos los


componentes de la aplicacin.
Un archivo para cada formulario
Un archivo de datos binario para cada formulario
Un archivo para cada mdulo de clase (opcional)
Un archivo para cada mdulo de estndar (opcional)
Uno o ms archivos con controles Active X
Un nico archivo de recursos

Extensin
.vbp

.frm
.frx
.cls
.bas
.ocx
.res

EL ENTORNO DE PROGRAMACIN DE VISUAL BASIC


El entorno de programacin de Visual Basic contiene todas las herramientas
necesarias para desarrollar programas para Windows, de una manera rpida y sencilla. Para
iniciar Visual Basic, siga los siguientes pasos:
1.
2.
3.
4.

Site el puntero del mouse sobre el botn Inicio y haga clic.


En el men que se despliega, site el puntero del mouse sobre la opcin Programas
Site el puntero del mouse en el grupo de programas Microsoft Visual Studio 6.0.
Finalmente, haga clic en el icono de Visual Basic 6.0.

Al hacer clic en el icono de Visual Basic, aparece el cuadro de dilogo Nuevo


proyecto. Este cuadro de dilogo le solicita que seleccione el tipo de proyecto de
programacin que desea crear. Haga clic en el botn Abrir para aceptar el nuevo proyecto
propuesto por defecto, una aplicacin estndar de 32 bits para Visual Basic. En el entorno de
programacin de Visual Basic se abrir un proyecto nuevo, junto con algunas de las
ventanas y herramientas que se muestran en Fig. 1.1
LA BARRA DE MENUS
Muestra una lista con todos los mens (Archivo, Edicin, Ver, Proyecto, Formato,
Depuracin, Ejecutar, Herramientas, Complementos, Ventana y Ayuda) que le permitirn
acceder a la mayora de los comandos que controlan el entorno de programacin. Los
mens y los comandos funcionan segn una serie de reglas estndar utilizadas en todos
los programas basados en Windows; y podr acceder a ellos utilizando el teclado o el
mouse.

PROFESOR EDIDSON FUENTES

2014

PAGINA 3

INGENIERIA CIVIL

CURSO INFORMATICA

Barra de Men

Barra de herramientas Estndar

Explorador de
proyectos

Formulario

Cuadro de
herramientas
Ventana Propiedades

Ventana de posicin
del formulario

Fig. 1.1. Pantalla Principal de Visual Basic

LA BARRA DE HERRAMIENTAS ESTNDAR


Esta barra contiene una serie de botones que le permitirn un acceso rpido a los
comandos de men usados frecuentemente. Si hace clic en uno de los botones de la
barra de herramientas, se ejecutar la accin representada por ese botn.
Agregar proyecto de EXE estndar
Agregar formulario
Editor de mens
Abrir proyecto
Guardar proyecto

Visual Component Manager


Ventana de la vista de Datos
Cuadro de Herramientas
Examinador de objetos
Ventana posicin del formulario

Rehacer
Ventana Propiedades
Deshacer
Explorador de proyectos
Buscar
Terminar
Pegar
Interrumpir
Copiar
Iniciar
Cortar
Fig. 1.2. La Barra de Herramientas Estndar

PROFESOR EDIDSON FUENTES

2014

PAGINA 4

INGENIERIA CIVIL

CURSO INFORMATICA

EL CUADRO DE HERRAMIENTAS
Proporciona una serie de iconos, cada uno de los cuales representan un determinado
control que se puede colocar en un formulario. Si no est visible, haga clic en el botn
Cuadro de Herramientas

.
El Puntero: Este elemento
se utiliza para seleccionar,
mover y ajustar el tamao de
los
controles
existentes
sobre el formulario.
PictureBox (Cuadro de
dibujo): Se utiliza para
visualizar imgenes grficas
(iconos,bitmaps,mefafiles
)
Label (Etiqueta): Se utiliza
para mostrar texto. El texto
de este control se define en
la propiedad Caption.
TextBox (Cuadro de texto):
Este control es un pequeo
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.

Puntero

PictureBox

Label

TextBox

Frame

CommandButton

CheckBox

OptionButton

ComboBox

ListBox

HSCrollBar

VScrollBar

Timer

DriveListBox

DirListBox

FileListBox

Shape

Line

Image

Data

Fig. 1.3 Cuadro de Herramientas

Frame (Marco): Se utiliza para agrupar objetos relacionados entre si. para agrupar
controles, dibuje primero el marco y despus dibuje los controles dentro del marco.
CommandButton (Botn de comando): Crea un botn en el que el usuario puede
hacer clic para ejecutar un comando.
CheckBox (Casilla de activacin): Este control presenta mltiples opciones de las
que el usuario puede elegir ms de una.
OptionButton (Botn de opcin): Este control muestra mltiples opciones de las
que el usuario puede elegir una.
ComboBox (Cuadro combinado): Este control es una combinacin 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.
Timer (Reloj): Permite activar procesos a intervalos regulares de tiempo.
ListBox (Cuadro de lista): Se utiliza para mostrar una lista de elementos de los que
el usuario puede seleccionar uno. A diferencia de un grupo de casillas de activacin o
botones de opcin, el control ListBox puede contener varias lneas, y el usuario
puede desplazarse por la lista para localizar una entrada determinada.
HScrollBar (Barra de desplazamiento horizontal): Se utiliza para desplazar la
informacin de una caja hacia la izquierda o hacia la derecha.
VScrollBar (Barra de desplazamiento vertical): Se utiliza para desplazar la
informacin de una caja hacia arriba o hacia abajo.
DriveListBox (Cuadro de lista de unidades): Se utiliza para visualizar una lista de
las unidades de disco disponibles para que el usuario pueda seleccionar una.
DirListBox (Cuadro de lista de directorios): Se utiliza para visualizar una lista de
carpetas de un dispositivo seleccionado en los que el usuario puede moverse.
FileListBox (Cuadro de lista de archivos): Se utiliza para visualizar una lista de
archivos contenidos en la carpeta seleccionada a los que el usuario puede acceder.

PROFESOR EDIDSON FUENTES

2014

PAGINA 5

INGENIERIA CIVIL

CURSO INFORMATICA

Shape (Forma): Permite dibujar rectngulos, cuadrados, elipses o crculos en el


formulario.
Line (Lnea): Se utiliza para dibujar una gran variedad de estilos de lnea en el
formulario.
Image (Imagen): Se utiliza para mostrar en el formulario una imagen grfica de un
mapa de bits, un icono o un metarchivo.
Data (Datos): Este control proporciona acceso a una base de datos existente y
visualizar su informacin en el formulario.

LA VENTANA DE PROPIEDADES
Permite modificar las propiedades de los elementos dentro de un formulario. Una
propiedad es una caracterstica de un objeto o control, como su tamao, ttulo, color, etc.
Una lista diferente aparece en la ventana Propiedades cada vez que selecciona un
control (o al formulario) en el formulario.
Cuadro de lista de controles
Lista de Propiedades

Ver Cdigo
Ver Objeto

Fig. 1.5 Explorador de proyectos


Fig. 1.4 Ventana de Propiedades

EL EXPLORADOR DE PROYECTOS
Esta ventana despliega en forma de rbol los formularios y mdulos (archivos que
contienen cdigo) de la aplicacin, facilitndonos la tarea de pasar de unos archivos a
otros durante la creacin de un proyecto. Cualquier cambio realizado en un proyecto se
refleja de manera automtica en el Explorador de proyectos.
CREACIN DE UNA APLICACIN
En general, para construir una aplicacin con Visual Basic, siga estos tres pasos
fundamentales:
1. Disee la interfaz de usuario (medio de comunicacin entre el usuario y la aplicacin)
utilizando los controles del cuadro de herramientas.
2. Establezca las propiedades de los elementos (formularios y controles) de la interfaz de
usuario.
3. Escriba el cdigo de programa para cada uno de los elementos de la interfaz de usuario.
Desarrollemos nuestra primera aplicacin. Esta tendr un formulario, un cuadro de
texto y dos botones de comando. En esta aplicacin, cuando el usuario haga clic en el botn
Mensaje, en el cuadro de texto deber aparecer el texto BIENVENIDO A MICROSOFT
VISUAL BASIC y cuando haga clic en el botn Salir, la aplicacin debe finalizar. Siga estos
pasos:

PROFESOR EDIDSON FUENTES

2014

PAGINA 6

INGENIERIA CIVIL

CURSO INFORMATICA

1. Dirjase al men Archivo y all seleccione Nuevo proyecto.


2. En la ventana Nuevo proyecto que se muestra, haga clic en Aceptar. Entonces se le
mostrar un nuevo formulario.
DISEO DE LA INTERFAZ DEL USUARIO
3. En el cuadro de herramientas, haga clic sobre el control TextBox
para seleccionarlo.
4. Con el control TextBox seleccionado, dirjase cerca de la esquina superior izquierda haga
clic sin soltar y luego arrastre hacia abajo y la derecha de tal manera que se dibuje un
cuadro de texto. Suelte el clic cuando desee terminar.
5. Modifique el tamao del objeto. Para ello, haga clic sin soltar sobre uno de los puntos de
control y arrastre en la direccin adecuada hasta que el objeto adopte el tamao
deseado.
6. Mueva el objeto hacia la derecha, para
ello haga clic sin soltar sobre el objeto y
luego arrstrelo ligeramente hacia la
derecha.
7. En el cuadro de herramientas, haga
doble
clic
sobre
el
control
CommandButton
. El control aparece
en el centro del formulario. Modifique su
tamao y posicin.
8. Vuelva a hacer doble clic sobre el control
ComandButton.
En
el
formulario,
modifique el tamao y posicin de este
control.
Finalmente, la interfaz del usuario debe tener
un aspecto similar al de Fig.1.6

Fig. 1.6 Interfaz del Usuario

ESTABLECIMIENTO DE PROPIEDADES
Luego de disear la interfaz de usuario, el siguiente paso consiste en establecer las
propiedades de los elementos incluidos en el formulario. Para ello, es necesario utilizar la
ventana Propiedades. Si no est visible, presione F4.
Por defecto, Visual Basic asigna un nombre a cada uno de los controles dibujados en el
formulario y al mismo formulario (Text1, Command1, Command2 y Form1). El nombre de un
control nos permite asociarlo con un procedimiento y referirnos a l dentro del cdigo de un
programa para modificar algunas de sus propiedades.
Modifiquemos las propiedades del control TextBox (Text1)
9. En el formulario, haga un clic sobre el cuadro de texto (Text1). Observe que ahora la
ventana de Propiedades lista todas las propiedades de este control).
10. En la ventana de Propiedades, arrastre la barra de desplazamiento hacia abajo hasta
visualizar la propiedad Text y borre el texto (Text1) que por defecto tiene esta propiedad.
Modifiquemos las propiedades del botn de comando Command1
11. En el formulario, haga un clic sobre el botn de comando Command1 para seleccionarlo.
12. En la ventana de propiedades, ingrese el texto &Mensaje en la propiedad Caption.

PROFESOR EDIDSON FUENTES

2014

PAGINA 7

INGENIERIA CIVIL

CURSO INFORMATICA

Modifiquemos las propiedades


del
botn
de
comando
Command2
13. En el formulario, haga un
clic sobre el botn de
comando Command2 para
seleccionarlo.
14. En la propiedad Caption
ingrese el texto &Salir.

Text1

Command2
Command1

Luego de haber establecido las


propiedades de los elementos
del formulario, este tendr un
aspecto similar al de Fig. 1.7
Fig. 1.7 Interfaz del Usuario

CODIFICACIN
Diseada la interfaz de usuario y establecida las propiedades de los elementos de la interfaz,
lo siguiente consiste en unir cdigo a cada uno de los controles de la aplicacin.
Veamos los pasos que debemos seguir para unir un procedimiento al botn de comando
Mensaje accionado por el evento click. Cuando el usuario haga clic en este botn, en el
cuadro de texto Text1 debe aparecer el mensaje BIENVENIDO A MICROSOFT VISUAL
BASIC.
Objeto

15. En el formulario, haga doble


clic sobre el botn de
comando Mensaje. Visual
Basic muestra la ventana de
cdigo
en
la
cual
introduciremos y editaremos
sentencias de programa de
Visual Basic. Vea Fig. 1.8.
La ventana de cdigo
muestra las sentencias de
programa que marcan el
inicio y el final de un
procedimiento en Visual
Basic.

Evento

Fig. 1.8 Ventana de Cdigo de Visual Basic

El cuerpo principal de un procedimiento siempre debe encontrarse situada entre estas


dos sentencias
Private Sub Command1_Click()
End Sub
16. Escriba la siguiente lnea de programa entre las dos sentencias indicadas anteriormente:
Text1.Text=BIENVENIDO A MICROSOFT VISUAL BASIC
Ahora asociemos un procedimiento al botn de comando Salir accionado por el evento
Click. Cuando el usuario haga clic en este botn, la ejecucin del programa debe
finalizar.

PROFESOR EDIDSON FUENTES

2014

PAGINA 8

INGENIERIA CIVIL

CURSO INFORMATICA

17. En el formulario haga


doble clic sobre el botn
de comando Salir. Visual
Basic muestra la ventana
de cdigo.
18. Escriba la sentencia End
entre
las
sentencias
Private
Sub
Command2_Click() y End
Sub.
Cuando haya culminado la
ventana de cdigo tendr el
aspecto de Fig. 1.9.

Fig. 1.9 Ventana de Cdigo de Visual Basic

CMO ALMACENAR EL PROGRAMA?


Ahora que ya hemos terminado el programa, guarde el formulario con el nombre Mensaje.frm
y el proyecto con el nombre Mensaje.vbp. Para ello siga los siguientes pasos:
1. En el men Archivo haga clic en Guardar proyecto.
2. En la ventana que se muestra Guardar archivo como, en Guardar en, seleccione la
unidad y carpeta en la que desea guardar el archivo.
3. En el cuadro de texto Nombre de archivo escriba Mensaje y haga clic en Guardar.
Visual Basic guardar el formulario con el nombre Mensaje.frm
4. A continuacin aparecer el cuadro de dilogo Guardar proyecto como. En el cuadro
de texto Nombre de archivo escriba Mensaje y haga clic en Guardar. El proyecto se
guardar con el nombre Mensaje.vbp
EJECUCIN DEL PROGRAMA
de la barra de herramientas
Para ejecutar el programa haga clic en el botn Iniciar
Estndar o presione la tecla F5. El programa se ejecutar y aparecer la interfaz de usuario
tal y como fue diseada.
Haga clic en el botn Mensaje y en el cuadro de texto aparecer el mensaje BIENVENIDO A
MICROSOFT VISUAL BASIC.

PROFESOR EDIDSON FUENTES

2014

PAGINA 9

INGENIERIA CIVIL

CURSO INFORMATICA

Fundamentos de Programacin
COMENTARIOS
Microsoft Visual Basic interpreta que todo lo que est a la derecha del carcter () en
una lnea cualquiera de programa es un comentario y no ejecuta accin alguna. Por ejemplo:
Suma de los nmeros pares
CuentaPares=0 Se inicializar contador CuentaPares a 0
Los comentarios son de mucha utilidad para poder entender el cdigo del programa
utilizado. En programas con pocas lneas de cdigo puede no parecer importante, pero
cuando se trata de proyectos realmente complejos, o desarrollados por varios
programadores su importancia se hace evidente. En el caso de que el cdigo no est
comentado, el trabajo de actualizacin y revisin puede ser una tarea difcil.

VARIABLES Y CONSTANTES
Las variables se utilizan para almacenar valores temporalmente durante la ejecucin
del programa. Por ejemplo:
TotalParcial = 34
Asigna el valor 34 a la variable TotalParcial. Observe que el signo igual del ejemplo es
un operador de asignacin, no es un operador de igualdad. El valor de una variable puede
modificarse a lo largo de la ejecucin del programa.
Las variables tienen un nombre, un tipo de dato y un mbito. El nombre se utiliza para
identificar a la variable en el programa, debe ser corto y fcil de recordar. El nombre de una
variable debe comenzar con una letra, no puede incluir un punto, no debe exceder de los
255 caracteres de longitud y debe ser nica en el mismo alcance, que es el intervalo desde
el que se puede hacer referencia a la variable: un procedimiento, un formulario, etc. Los
caracteres de una variable pueden ser letras, dgitos, el carcter subrayado (_) y los
caracteres de declaracin del tipo de la variable (%,&,#,@ y $). El nombre de una variable
no puede ser una palabra reservada del lenguaje (For, If, Loop, Next, Val, Hide, Caption,
And, etc.)
Una constante es un valor que no cambia durante la ejecucin del programa. El
tratamiento y tipos de datos es igual al de las variables. Para declarar un dato como
constante se utiliza la palabra Const en la declaracin de la variable. Si durante la ejecucin
se intenta cambiar su valor se producir un error. Ejemplos.
Las constantes son privadas por defecto
Const constante1=100

PROFESOR EDIDSON FUENTES

2014

PAGINA 10

INGENIERIA CIVIL

CURSO INFORMATICA
Declaracin de una constante pblica
Public Const mensaje=Falta Informacin
Declaracin de un entero constante
Private Const ancho as Integer = 50

DECLARACIN DE VARIABLES
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 qu tipos de datos deber guardar dicha variable. Por ejemplo, la siguiente sentencia
crea espacio de memoria para una variable llamada Altura
Dim Altura As Integer
Despus del nombre de la variable especifique el tipo de la misma. Por ejemplo, la
variable Altura ha sido declarada del tipo Integer (entero).
TIPOS DE DATOS
Visual Basic dispone de varios tipos de datos, aplicables tanto para constantes como
para variables. La siguiente tabla muestra los tipos de datos disponibles en Visual Basic.
Tipo
Boolean
Byte
Integer
Long
Single
Double
Currency
String
Date
Variant

Descripcin
Binario
Entero corto
Entero (2 bytes)
Entero largo (4 bytes)
Real simple (precisin 4 bytes)
Real doble (precisin 8 bytes)
Nmero con punto (decimal fijo
(8 bytes)
Cadena de caracteres (4 bytes +
1 byte/car. Hasta 64K)
Fecha

Rango
True o False
0 a 255
-32768 a 32767
-2147483648 a 2147483647
-3.40E+38 a 3.40E+38 a
-1.79D+308 a 1.79D+308
-9.22E+14 a 9.22E+14
0 a 65500 caracteres

1 enero de 100 a 31 de diciembre de


9999. Indica tambin la hora, desde
0:00:00 a 23:59:59
Fecha/hora; nmeros (ninguno) F/h: como Date: nmeros: mismo rango
enteros, reales o caracteres (16 que el tipo de valor almacenado.
bytes + 1 byte/car, en cadenas
de caracteres).

Si una variable no es declarada, se asume que es de tipo Variant.


DECLARACIN EXPLCITA
En Visual Basic no es necesario declarar una variable antes de utilizarla. Sin embargo,
puede ocurrir que durante la programacin se escriba mal el nombre de una variable y ello
genere un error. Para evitar este tipo de errores, se utiliza la sentencia Option Explicit en la

PROFESOR EDIDSON FUENTES

2014

PAGINA 11

INGENIERIA CIVIL

CURSO INFORMATICA

seccin de declaraciones del formulario y del mdulo, Option Explicit genera un mensaje de
error si encuentra una variable no declarada explcitamente.
Option Explicit opera slo en el formulario o en el mdulo donde se haya puesto. Para
tener esta opcin activa para todo el cdigo de una aplicacin, haga clic en el comando
Opciones del men Herramientas. En el cuadro de dilogo Opciones, habilite la casilla
Requerir declaracin de variables.

MBITO DE LAS VARIABLES


Se entiende por mbito de una variable al espacio de la aplicacin donde la variable
es reconocida y por lo tanto se puede utilizar.
VARIABLES LOCALES
Una variable local es reconocida solamente en el procedimiento en el que ha sido declarada.
Fuera de ese procedimiento, la variable no es conocida. Utilice la sentencia Dim o Static
para declarar una variable local a un procedimiento.
En el procedimiento Command1_Click(), las variables A, B, Suma y Resta son locales.

Private Sub Command1_Click()


Dim A, B, Suma, Resta As Integer
A=Val(Text1)
B=Val(Text2)
Suma=A+B
Resta=A-B
Text3=Suma
Text4=Resta
End Sub

VARIABLES ESTTICAS
Una variable local se reinicializa cada vez que se entra en el procedimiento o funcin en el
que se crea y al terminar se destruye. En otras palabras, una variable local no conserva su
valor entre una llamada al procedimiento y la siguiente. Para hacer que una variable
conserve su valor entre una llamada a otra, hay que declararla esttica utilizando la palabra
reservada Static. Visual Basic reinicializa una variable esttica solamente la primera vez
que se llama al procedimiento. Por ejemplo:
Static Intento As Integer
Declara la variable intento de tipo entero. Esta variable conservar su valor entre llamadas
en el procedimiento y se destruir slo cuando el programa termine.

PROFESOR EDIDSON FUENTES

2014

PAGINA 12

INGENIERIA CIVIL

CURSO INFORMATICA

VARIABLES A NIVEL DE FORMULARIO


Una variable declarada a nivel de formulario puede ser compartida por todos los
procedimientos de ese formulario. Para declarar una variable a nivel del formulario, haga
doble clic sobre uno de los objetos contenidos en el formulario y, en la ventana de cdigo,
seleccione (General) del cuadro de lista Objetos y (Declaraciones) del cuadro de lista
Procedimientos. Vea Fig. 2.1

Fig. 2.1 Cuadro de Lista Objetos con la Opcin General

El punto de insercin aparece en la seccin de declaraciones del formulario. Es en esta


seccin donde la variable debe ser declarada.

Punto de
Insercin

Fig. 2.2 Punto de Insercin de Variables a Nivel de Formulario

VARIABLES A NIVEL DE MDULO


Para compartir una variable entre todos los formularios y procedimientos contenidos en un
proyecto, necesitar declararla en un mdulo de dicho proyecto. Para crear un nuevo
mdulo, haga clic, en el comando Agregar mdulo del men Proyecto. Seleccione el botn
Abrir y Visual Basic aadir un nuevo mdulo estndar denominado Module1 en su
proyecto:
Por defecto, una variable que se declara a nivel de mdulo est disponible para todos los
procedimientos del mdulo, pero no para el cdigo de otros mdulos. Una variable que se
declara a nivel de mdulo es por defecto esttica.

PROFESOR EDIDSON FUENTES

2014

PAGINA 13

INGENIERIA CIVIL

CURSO INFORMATICA

Fig. 2.3 Declaracin de una Variable a Nivel de Mdulo

OPERADORES
Un operador es un smbolo o palabra que ejecuta una operacin matemtica o maneja
la informacin. La siguiente tabla muestra el conjunto de operadores que soporta Visual
Basic.
Tipo

Aritmtico

Concatenacin
Relacional
Lgico
.

Operacin
Exponenciacin
Cambio de signo
Multiplicacin y divisin
Divisin entera
Resto de una divisin entera
Suma y resta
Concatenar o enlazar
Igual, distinto, menor, mayor
Negacin
And
Or inclusiva
Or exclusiva
Equivalencia (opuesto a Xor)
Implicacin

Operador
^
*,/
\
Mod
+,&
=,<>,<,>,<=,>=
Not
And
Or
Xor
Eqv
Imp

ESTRUCTURAS DE CONTROL
Las estructuras de control permiten tomar decisiones y realizar un proceso repetidas
veces. Visual Basic proporciona dos tipos de estructuras de control que permiten controlar el
flujo de ejecucin del programa.
ESTRUCTURAS DE DECISIN
Una aplicacin debe ser capaz de comprobar condiciones y, dependiendo de los resultados,
realizar diferentes acciones. Entre las estructuras de decisin que proporciona Visual Basic
tenemos:
If Then
La estructura If Then comprueba una condicin especfica y, si es verdadera, ejecuta
una o ms sentencias. Puede utilizar la sintaxis de una lnea o de varias lneas:
If condicin Then Sentencias

PROFESOR EDIDSON FUENTES

2014

PAGINA 14

INGENIERIA CIVIL

CURSO INFORMATICA

If condicin Then
Sentencias
End If
La condicin generalmente es una expresin booleana, pero puede ser cualquier
expresin que de como resultado un valor numrico. Visual Basic interpreta un valor
numrico cero como False y cualquier valor numrico distinto de cero como True.
Ejemplos:
If Minutos >60 Then Minutos = Minutos - 60
Observe que la sintaxis de una lnea no utiliza la instruccin End If. Si desea ejecutar
ms de una sentencia, deber utilizar la sintaxis de varias lneas If Then End If
If Minutos >60 Then
Minutos = Minutos 60
MsgBox(Ha empezado un Nuevo minuto)
End If

If Then Else
Esta estructura evala la condicin y, si es True (verdadera), ejecuta el primer bloque de
sentencias y luego salta a las sentencias que hay despus de End If. Si la condicin es
False (falsa), ejecuta el segundo bloque de sentencias, es decir, las que hay a
continuacin de la palabra clave Else
If Condicin Then
[Bloque de sentencias 1]
Else
[Bloque de sentencias 2]
End If
Ejemplo:
If Val(Text1)Mod 2 == 0 Then
MsgBox(Es un nmero par)
Else
MsgBox(Es un nmero impar)
End If

Select Case
Select Case ofrece posibilidades similares a la estructura If Then Else, pero hace
que el cdigo sea ms legible cuando hay varias opciones. La estructura Select Case
comprueba una nica expresin, que se evala una sola vez al principio de la estructura.
El resultado de esta comprobacin 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.
Select Case expresin_prueba
[Case lista de expresiones1]
[bloque de sentencias 1]
[Case lista de expresiones2]
[bloque de sentencias 2]

PROFESOR EDIDSON FUENTES

2014

PAGINA 15

INGENIERIA CIVIL

CURSO INFORMATICA

.
.
.
[Case Else
[bloque de sentencias n]]
End Select
Cada lista de expresiones es una lista de uno o ms valores. Si hay ms de un valor en
una lista, se separan los valores con comas. Si ms de un Case coincide con la
expresin de prueba, solo se ejecutar el bloque de sentencias asociado con la primera
coincidencia. Visual Basic ejecutar las sentencias de la clusula opcional Case Else sin
ningn valor de la lista de expresiones coincide con la expresin de prueba.
Ejemplo:
Select Case Index
Case 0
Boton(0).Visible
=
Case 1
Boton(1).Visible
=
Case 2
Boton(2).Visible
=
Case 3
Boton(3).Visible
=
Case Else
Exit Sub
End Select

True
True
True
True

ESTRUCTURAS DE BUCLE O REPETITIVAS


Las estructuras de bucle permiten repetir la ejecucin de una o ms lneas de cdigo
mientras una condicin sea verdadera o hasta que una condicin sea verdadera. Visual
Basic tiene las siguientes estructuras de bucle.
Do Loop
Utilice el bucle DoLoop para ejecutar un bloque de cdigo un nmero indefinido de
veces. Hay algunas variantes en la sentencia Do Loop pero cada uno evala la
condicin para determinar si contina la ejecucin de un bloque de sentencias.
Do While Loop
Utilice el bucle Do While Loop para repetir la ejecucin de un bloque de sentencias
mientras una condicin sea True (verdadera), o dicho de otra forma hasta que la
condicin sea False (falsa).
Sintaxis:
Do While condicin
Sentencias
Loop

PROFESOR EDIDSON FUENTES

2014

PAGINA 16

INGENIERIA
CIVIL
Universidad
Jos
Carlos Maritegui

CURSO INFORMATICA

Cuando Visual Basic ejecuta este bucle Do, primero evala la condicin. Si condicin
es False, se salta todas las sentencias; si es True, ejecuta las sentencias, vuelve a Do
While y evala la condicin otra vez. Por tanto, el bucle se puede ejecutar cualquier
nmero de veces, siempre y cuando la condicin sea verdadera. Nunca se ejecutarn
las sentencias si la condicin es False inicialmente.
El siguiente procedimiento imprimir el cuadrado de los nmeros enteros menores o
iguales a 20 cuando el usuario haga clic sobre el botn Command1

Private Sub Command1_Click()


Dim C, cuadrado As Integer
=
C 1
Do While C<=20
Cuadrado
= C*C
=
C C+1
Print Cuadrado
Loop
End Sub

Do While Loop
La variante Do Loop While ejecuta las sentencias primero y prueba la condicin
despus de cada ejecucin. Esta variante garantiza al menos una ejecucin de las
sentencias.
Sintaxis:
Do

Sentencias
Loop While condicin
Hay dos variantes anlogas a las dos anteriores, excepto en que repiten el bucle
siempre y cuando la condicin sea False en vez de True.
Ejecuta el bucle cero o ms veces
Do Until condicin
Sentencias
Loop
Ejecuta el bucle al menos una vez
Do
Sentencias
Loop Until
Este procedimiento muestra el mismo resultado que el anterior.
Private Sub Command1_Click()
Dim C, cuadrad o As Integer
=
C 1
Do Until C>20
Cuadrado
= C*C
C=C+1

PROFESOR EDIDSON FUENTES

2014

PAGINA 17

INGENIERIA CIVIL

CURSO INFORMATICA

For Next
Los bucles Do se utilizan cuando no se sabe cuntas veces se necesitar ejecutar las
sentencias del bucle. Sin embargo, cuando se sabe cuntas veces se van a ejecutar las
sentencias, es mejor utilizar el bucle For Next
Sintaxis:
For contador = inicio To fin [Step incremento]
Next [contador]
Los argumentos contador, iniciar, finalizar e incremento son todos numricos.
La variable contador incrementa o reduce su valor en cada repeticin del bucle. El
argumento incremento puede ser positivo o negativo. Si incremento es positivo inicio
debe ser menor o igual que fin para que se ejecute el cuerpo del bucle. Si no se
establece Step, el valor predeterminado de incremento es 1.
El procedimiento siguiente mostrar la suma de los nmeros 1, 2, 3, , 50 cuando haga
clic en el botn Command1.
Private Sub Command1_Click()
Dim C, Sumador As Integer
Sumador = 0
For C=1 To 50
Sumador
= Sumador+C
Next
Print Sumador
End Sub

El siguiente procedimiento mostrar la suma de los nmeros pares contenidos entre 2 y


50, incluido ambos.

PROFESOR EDIDSON FUENTES

2014

PAGINA 18

INGENIERIA CIVIL

CURSO INFORMATICA

Private Sub Command1_Click()


Dim C, Sumador As Integer
Sumador = 0
For C=2 To 50 Step 2
Sumador
= Sumador+C
Next
Print Sumador
End Sub

PROFESOR EDIDSON FUENTES

2014

PAGINA 19

INGENIERIA CIVIL

CURSO INFORMATICA

Practica N 1
1. EJERCICIOS
1.1 Disee un formulario que permite ingresar dos nmeros y calcule la suma de
ambos.
a) DISEO DEL FORMULARIO

Etiquetas
(Labels)

Cuadros de
texto
(Textboxes)

Botones de comando
(CommandButtons)

a.1 Para escribir los textos Valor A:, Valor B:, y Respuesta: en las etiquetas
respectivamente, seleccione la etiqueta, luego vaya a la ventana Propiedades
y en la propiedad Caption escriba el valor correspondiente.
a.2 Para eliminar los textos: Text1, Text2 y Text3 de los cuadros de texto,
seleccione el cuadro de texto, luego vaya a la ventana Propiedades y en la
propiedad Text, elimine el texto existente.
a.3 Para escribir los textos Calcular, Nuevo y Salir, seleccione el botn de
comando y luego vaya a la ventana Propiedades y en la propiedad Caption
escriba por ejemplo: &Calcular para el primer botn de comando.
b) CODIFICACIN: Para empezar a escribir el cdigo haga doble clic sobre el
botn de comando Calcular (Command1), entonces aparecer la siguiente
ventana:

PROFESOR EDIDSON FUENTES

2014

PAGINA 20

INGENIERIA CIVIL

CURSO INFORMATICA

Objeto

Evento o
Procedimiento

Las sentencias Private Sub Command1_Click() y End Sub indican el inicio y fin
del procedimiento.
Escriba las siguientes lneas de programa entre las sentencias mencionadas
anteriormente:

Contine escribiendo el cdigo de los dems objetos como se muestra a


continuacin:

PROFESOR EDIDSON FUENTES

2014

PAGINA 21

INGENIERIA CIVIL

CURSO INFORMATICA

c) Ejecucin: Para ejecutar el programa presione la tecla F5. Deber aparecer la


ventana del formulario con el cursor ubicado sobre el primer cuadro de texto
(Text1) pidiendo el ingreso del valor de A, ingrese un valor y presione Enter, el
enfoque pasar al cuadro de texto Text2, ingrese un valor y presione Enter, el
enfoque pasar al botn de comando Calcular (Command1= , presione Enter o
haga clic sobre este, entonces se ejecutar el procedimiento que calcula la suma
de los valores ingresados en Text1 y Text2. Haga clic en Nuevo para empezar
nuevamente o en Salir para terminar el programa.
1.2 Disee un formulario que permite sumar, restar, multiplicar y dividir dos
nmeros.
a) Diseo del formulario:
Etiquetas
(Labels)

Marco
(Frame)

Cuadros de
texto
(Textboxes)

Botones de Opcin
(OptionButtons)

Botones de comando
(CommandButtons)

Para cambiar el ttulo para cada botn de opcin, simplemente haga un clic para
seleccionar el botn de opcin y luego en la ventana de propiedades dirjase a la
propiedad Caption y establezca el valor correspondiente.
b) Codificacin
Private Sub Command1_Click()
Calculando la suma de los dos nmeros
If Option1.Value = True Then
Text3 = Val(Text1) + Val(Text2)
End If
Calculando la diferencia de los dos nmeros
If Option2.Value = True Then

PROFESOR EDIDSON FUENTES

2014

PAGINA 22

INGENIERIA CIVIL

CURSO INFORMATICA

Text3 = Val(Text1) - Val(Text2)


End If
Calculando el producto de los dos nmeros
If Option3.Value = True Then
Text3 = Val(Text1) * Val(Text2)
End If
Calculando la division de los dos nmeros
If Option4.Value = True Then
Text3 = Val(Text1) / Val(Text2)
End If
If Text3= Then
MsgBox "Por favor selecciona la operacin a realizar"
End If
End Sub
Private Sub Command2_Click()
Option1.Value = False
Option2.Value = False
Option3.Value = False
Option4.Value = False
Text1 = ""
Text2 = ""
Text3 = ""
Text1.SetFocus
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Form_Activate()
Option1.Value = False
Option2.Value = False
Option3.Value = False
Option4.Value = False
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text2.SetFocus
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Command1.SetFocus
End If
End Sub

2. EJERCICIOS PROPUESTOS
3.1 Disear un formulario que determine el mayor de 3 nmeros A, B, C.
3.2 Disee un formulario para resolver la ecuacin de segundo grado.
3.3 Disee un formulario que de acuerdo a la tabla siguiente calcule el sueldo del
trabajador:
CATEGORA
A
B
C
D

PROFESOR EDIDSON FUENTES

SUELDO S/.
2000
1600
1000
750

2014

BONIFICACIN (%)
20
15
10
5

PAGINA 23

INGENIERIA CIVIL

CURSO INFORMATICA

PRACTICA N 2
1. BASES TERICAS:
a) CONTROLES:
ListBox (Cuadros de Lista): Este control pone a disposicin del usuario un conjunto
de elementos, de los cuales puede elegir uno. Si el nmero de elementos supera el
nmero de los que pueden ser visualizados simultneamente en la lista, aparecer
automticamente una barra de desplazamiento vertical para que el usuario pueda
desplazar los elementos de la lista hacia arriba o hacia abajo.
b) PROPIEDADES
b.1 List: Devuelve o establece los elementos contenidos en la parte de lista de un
control.
Sintaxis:
objeto.List(ndice) [= cadena]
La sintaxis de la propiedad List consta de las siguientes partes:
Parte
Objeto
ndice
cadena

Descripcin
Una expresin que especifica un objeto particular.
El nmero de un elemento especfico de la lista.
Una expresin de cadena que especifica el elemento de la
lista.

Ejemplo:
List1.List(2) = Text2
Se asigna al elemento 2 del cuadro de lista List1 el contenido del cuadro de
texto Text2.
b.2 ListCount
Devuelve el nmero de elementos de la parte de lista de un control.
Sintaxis:
objeto.ListCount
objeto es una expresin que especifica un objeto particular.
Ejemplo:
n = List1.ListCount
Suponiendo que List1 contiene los elementos que se muestran a la
izquierda, entonces en la expresin anterior n = 5

b.3 ListIndex
Devuelve o establece el ndice del elemento seleccionado actualmente en el
control. No est disponible en tiempo de diseo.
Sintaxis:
objeto.ListIndex [= ndice]
La sintaxis de la propiedad ListIndex consta de las siguientes partes:

PROFESOR EDIDSON FUENTES

2014

PAGINA 24

INGENIERIA CIVIL
Parte
Objeto
ndice
Ejemplo:

CURSO INFORMATICA
Descripcin
Una expresin que especifica un objeto particular.
Una expresin numrica que especifica el ndice del elemento
actual.
i = List2.ListIndex
Suponiendo que List2 contiene los elementos que se muestran a
la izquierda, entonces en la expresin anterior i = 3, ya que el
ndice del primer elemento de la lista es 0, entonces el ndice del
cuarto elemento es 3.

Comentarios:
La expresin List(List1.ListIndex) devuelve la cadena correspondiente al
elemento seleccionado actualmente.
El primer elemento de la lista corresponde a ListIndex = 0 y ListCount es
siempre una unidad mayor que el valor mximo de ListIndex.
Para los controles en los que el usuario puede realizar selecciones mltiples, el
comportamiento de esta propiedad depende del nmero de elementos
seleccionado. Si se selecciona un nico elemento, ListIndex devuelve el ndice
de ese elemento. Cuando hay una seleccin mltiple, ListIndex devuelve el
ndice del elemento contenido en el rectngulo de enfoque, est seleccionado o
no.
c) MTODOS:
c.1 AddItem
Agrega un elemento a un control ListBox o ComboBox, o agrega una fila a un
control MSFlexGrid.
Sintaxis:
objeto.AddItem elemento, ndice
La sintaxis del mtodo AddItem consta de las siguientes partes:
Parte
objeto
elemento
ndice

Descripcin
Requerido. Una expresin que especifica un objeto particular.
Requerido. Una expresin de cadena que especifica el elemento
que se va a agregar al objeto.
Opcional. Un entero que especifica la posicin dentro del objeto
donde se insertan el elemento o la fila nuevos. Para el primer
elemento de un control ListBox o ComboBox, o para la primera
fila de un control MSFlexGrid, ndice es 0.

Ejemplo:
List1.Additem Text2
Aade al cuadro de lista List1 el contenido del cuadro de texto Text2
c.2 RemoveItem
Quita un elemento de un control ListBox o ComboBox, o una fila de un control
MSFlexGrid.
Sintaxis:
objeto.RemoveItem ndice
La sintaxis del mtodo RemoveItem consta de las siguientes partes:
Parte
objeto
ndice

Descripcin
Requerido. Una expresin que especifica un objeto particular.
Requerido. Un entero que especifica la posicin dentro del objeto
del elemento o la fila que se va a quitar. Para los primeros
elementos de los controles ListBox o ComboBox, o para la
primera fila de un control MSFlexGrid, ndice es 0.

Ejemplo:

PROFESOR EDIDSON FUENTES

2014

PAGINA 25

INGENIERIA CIVIL

CURSO INFORMATICA

List2.RemoveItem i
Elimina el elemento i del cuadro de lista List2.
c.3 Clear
Borra el contenido de los controles ListBox o ComboBox, o del Portapapeles
del sistema.
Sintaxis:
objeto.Clear
objeto es una expresin que especifica un objeto particular.
Ejemplo:
List1.Clear
Elimina todos los elementos del cuadro de lista List1.

2. EJERCICIOS
2.1 Disee un formulario que permita ingresar una lista de n nmeros, y que
genere una nueva lista con las races cuadradas de cada elemento de la lista
anterior.
a) DISEO DEL FORMULARIO:

Cuadros de lista
(Listboxes)

b) CODIFICACIN: La codificacin para cada uno de los objetos es la siguiente:


Private Sub Command1_Click()
n = List1.ListCount - 1
For i = 0 To n
List2.List(i)
=
Sqr(Val(List1.List(i)))
Next i
End Sub

Private Sub Command3_Click()


Unload Me
End Sub
Private Sub Text1_KeyPress(KeyAscii As
Integer)
If KeyAscii = 13 Then
List1.AddItem (Text1)
Text1 = ""
End If
End Sub

Private Sub Command2_Click()


Text1 = ""
List1.Clear
List2.Clear
Text1.SetFocus
End Sub

c) EJECUCIN: Para ejecutar el programa presione la tecla F5.


2.2 Disee un formulario que permita ingresar n nmeros, y que almacene los
nmeros pares en una lista y los impares en otra, luego que determine el
nmero y la suma de los elementos de cada lista.

PROFESOR EDIDSON FUENTES

2014

PAGINA 26

INGENIERIA CIVIL

CURSO INFORMATICA

a) DISEO DEL FORMULARIO:

b) CODIFICACIN
Text5 = ""
List1.Clear
List2.Clear
Text1.setfocus
End Sub

Private Sub Command1_Click()


np = List1.ListCount
ni = List2.ListCount
sp = 0
si = 0
For i = 0 To np - 1
sp = sp + List1.List(i)
Next i
For i = 0 To ni - 1
si = si + List2.List(i)
Next i
Text2 = np
Text3 = sp
Text4 = ni
Text5 = si
End Sub

Private Sub Command3_Click()


Unload Me
End Sub
Private Sub Text1_KeyPress(KeyAscii As
Integer)
If KeyAscii = 13 Then
If Val(Text1) Mod 2 = 0 Then
List1.AddItem (Text1)
Else
List2.AddItem (Text1)
End If
End If
End Sub

Private Sub Command2_Click()


Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text1 = ""

c) EJECUCIN: Presione la tecla F5.

3. EJERCICIOS PROPUESTOS

3.1 Disee un formulario que permita ingresar una lista de n elementos y que determine
el mayor y el menor.
3.2 Disee un formulario que permita ingresar un nmero n y que genere una lista con
los nmeros pares menores o iguales que n y otra para los impares.
3.3 Disee un formulario que permita ingresar un nmero n y que genere una lista con
los nmeros menores o iguales a n, luego calcule el cuadrado y la raz para cada
elemento de la lista anterior y los almacene en dos nuevas listas.

PROFESOR EDIDSON FUENTES

2014

PAGINA 27

INGENIERIA CIVIL

CURSO INFORMATICA

PRACTICA N 3
1. BASES TERICAS:
a) CONTROLES:
ComboBox (Cuadro Combinado): Este control es una combinacin del control
TextBox (cuadro de texto) y un control ListBox (cuadro de lista). Este control permite
que el usuario seleccione un elemento; para ello, escriba el texto en el cuadro de
texto o seleccione un elemento en la lista.
b) PROPIEDADES
b.1 Selected: Devuelve o establece el estado de seleccin de un elemento de un
control FileListBox o ListBox. Esta propiedad es una matriz de valores
booleanos con el mismo nmero de elementos que la propiedad List. No est
disponible en tiempo de diseo.
Sintaxis:
objeto.Selected(ndice) [= booleano]
La sintaxis de la propiedad Selected consta de las siguientes partes:
Parte
Descripcin
objeto
Una expresin que especifica un objeto particular.
ndice
El nmero de ndice del elemento en el control.
booleano
Una expresin de tipo Boolean que especifica si el
elemento est seleccionado, como se describe en
Valores.
Valores
Los valores admitidos para booleano son:
Valor
True
False

Descripcin
El elemento est seleccionado.
(Predeterminado) El elemento no est seleccionado.

2. EJERCICIOS
2.1 Disee un formulario para el ingreso de registros de datos, deber implementar
las operaciones de: grabar, eliminar, nuevo, modificar y salir.
a) DISEO
DEL
FORMULARIO:

PROFESOR EDIDSON FUENTES

2014

PAGINA 28

INGENIERIA CIVIL

CURSO INFORMATICA

b) CODIFICACIN: La codificacin para cada uno de los objetos es la siguiente:


General Declaraciones
Dim x As Integer
Private Sub Command1_Click()
If x = 1 Then
List1.AddItem Text1
List2.AddItem Text2
List3.AddItem Text3
List4.AddItem Text4
End If
If x = 2 Then
n = List1.ListIndex
List1.List(n) = Text1
List2.List(n) = Text2
List3.List(n) = Text3
List4.List(n) = Text4
End If
End Sub
Private Sub Command2_Click()
If List1.ListIndex = -1 Then
MsgBox "No existe ningn elemento
seleccionado"
Else
n = List1.ListIndex
List1.RemoveItem (n)
List2.RemoveItem (n)
List3.RemoveItem (n)
List4.RemoveItem (n)
End If
End Sub
Private Sub Command3_Click()
x=1
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text1.SetFocus
End Sub
Private Sub Command4_Click()
x=2
If List1.ListIndex = -1 Then
MsgBox "No existe ningn elemento
seleccionado"
Else
n = List1.ListIndex
Text1 = List1.List(n)
Text2 = List2.List(n)
Text3 = List3.List(n)
Text4 = List4.List(n)
Text1.SetFocus
End If
End Sub

Private Sub List1_Click()


n = List1.ListIndex
List2.Selected(n) = True
List3.Selected(n) = True
List4.Selected(n) = True
End Sub
Private Sub List2_Click()
n = List2.ListIndex
List1.Selected(n) = True
List3.Selected(n) = True
List4.Selected(n) = True
End Sub
Private Sub List3_Click()
n = List3.ListIndex
List1.Selected(n) = True
List2.Selected(n) = True
List4.Selected(n) = True
End Sub
Private Sub List4_Click()
n = List4.ListIndex
List1.Selected(n) = True
List2.Selected(n) = True
List3.Selected(n) = True
End Sub
Private Sub Text1_KeyPress(KeyAscii As
Integer)
If KeyAscii = 13 Then
Text2.SetFocus
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As
Integer)
If KeyAscii = 13 Then
Text3.SetFocus
End If
End Sub
Private Sub Text3_KeyPress(KeyAscii As
Integer)
If KeyAscii = 13 Then
Text4.SetFocus
End If
End Sub
Private Sub Text4_KeyPress(KeyAscii As
Integer)
If KeyAscii = 13 Then
Command1.SetFocus
End If
End Sub

Private Sub Command5_Click()


Unload Me
End Sub
Private Sub Form_Activate()
x=1
End Sub

c) EJECUCIN: Presione F5

PROFESOR EDIDSON FUENTES

2014

PAGINA 29

INGENIERIA CIVIL

CURSO INFORMATICA

PRACTICA N 4
1. BASES TERICAS:
a) CONTROLES:
a.1 Timer: Un control Timer puede ejecutar cdigo a intervalos peridicos produciendo un
evento Timer.
Sintaxis:
Timer
Comentarios: El control Timer, invisible para el usuario, resulta til para el
procesamiento de fondo. Para el control de eventos por tiempo.
b) PROPIEDADES
Devuelve o establece el nmero de milisegundos entre las llamadas al evento Timer de un
control Timer.
Sintaxis
objeto.Interval [= milisegundos]
La sintaxis de la propiedad Interval consta de las siguientes partes:
Parte
Objeto
Milisegundos

Descripcin
Una expresin que especifica un objeto particular.
Una expresin numrica que especifica el nmero de milisegundos,
segn se indica en Valores.

Valores
Los valores admitidos para milisegundos son:
Valor
Descripcin
0
(Predeterminado) Desactiva el control Timer.
1 a 65.535
Establece un intervalo (en milisegundos) que se hace efectivo
cuando se establece True en la propiedad Enabled de un control
Timer. Por ejemplo, un valor 10.000 equivale a 10 segundos. El
mximo, 65.535 milisegundos, equivale a poco ms de un minuto.
c) EVENTOS
Timer (Evento)
Ocurre cuando ha transcurrido un intervalo preestablecido para un control Timer. La
frecuencia del intervalo se almacena en la propiedad Interval del control, que especifica
el tiempo en milisegundos.

2. EJERCICIOS
2.1 Disee un formulario que permita mover un objeto Label1 de izquierda a derecha y
viceversa.
a) DISEO DEL FORMULARIO:

b) CODIFICACIN: La codificacin para los objetos es la siguiente:

PROFESOR EDIDSON FUENTES

2014

PAGINA 30

INGENIERIA CIVIL

CURSO INFORMATICA

General Declaraciones
Dim a, r As Integer
Private Sub Form_Activate()
Timer1.Interval = 100
End Sub
Private Sub Timer1_Timer()
If Label1.Left = 0 Then
r=0
End If
If Label1.Left >= 3600 Then
r=1
End If
If r = 0 Then
a = a + 200
Label1.Left = a
End If
If r = 1 Then
a = a - 50
Label1.Left = a
End If
End Sub

c) EJECUCIN: Presione F5.

3. EJERCICIOS PROPUESTOS
3.1 Disee un formulario para animar un botn de comando alrededor del formulario
3.2 Disee un formulario para animar una etiqueta (Label) en zigzag tal como se
muestra en el siguiente smbolo: \/\/\/\/

PROFESOR EDIDSON FUENTES

2014

PAGINA 31

INGENIERIA CIVIL

CURSO INFORMATICA

PRACTICA N 5
1. BASES TERICAS:
a) FUNCIONES:
Funciones Matemticas
Abs(): Devuelve el valor absoluto de un nmero
Sintaxis: Abs(nmero)
Donde, el argumento nmero puede ser cualquier expresin numrica vlida.
Cos(): Devuelve en radianes el coseno de un ngulo.
Sintaxis: Cos(nmero)
Donde, el argumento nmero es un tipo Double o cualquier expresin numrica vlida que
expresa un ngulo en radianes.
Exp(): Devuelve e (la base de los logaritmos naturales) elevado a una potencia.
Sintaxis: Exp(nmero)
Donde, el argumento nmero es un tipo Double o cualquier expresin numrica vlida.
Sin(): Devuelve en radianes el seno de un ngulo.
Sintaxis: Sin(nmero)
Donde, el argumento nmero es un tipo Double o cualquier expresin numrica vlida que
expresa un ngulo en radianes.
Sqr(): Devuelve la raz cuadrada de un nmero
Sintaxis: Sqr(nmero)
Donde nmero es un tipo Double o cualquier expresin numrica vlida mayor o igual a
cero.
Funciones de Conversin de Cadena
Chr(): Esta funcin devuelve un tipo String que contiene el carcter asociado con el
cdigo de carcter especificado.
Sintaxis: Chr(cdigocar)
Donde cdigocar es un tipo Long que identifica a un carcter.
LCase(): Convierte una cadena a minsculas.
Sintaxis: LCase(cadena)
El argumento cadena es cualquier expresin de cadena vlida. Slo se convierten a
minsculas las letras maysculas.
Left(): Devuelve un nmero especificado de caracteres del lado izquierdo de una cadena.
Sintaxis: Left(string, lenght)
Donde: String: Expresin de cadena de la cual se devuelven los caracteres que estn
ms a la izquierda.
Length: Expresin numrica que indica cuntos caracteres se van a devolver.
Len(): Devuelve el nmero de caracteres en una cadena o el nmero de bytes necesarios
para almacenar una variable.
Sintaxis: Len(cadena|nombrevar)
Donde: cadena:
Cualquier expresin de cadena vlida.
nombrevar: Cualquier nombre de variable vlido.
Se deben especificar uno (y slo uno) de los dos argumentos posibles.
Mid(): Devuelve un nmero especificado de caracteres de una cadena.
Sintaxis: Mid(string, Start[, lenght])
Donde: String:
Expresin de cadena de la cual se devuelven los caracteres.
Start:
Posicin de carcter en string en la cual comienza la parte que se
quiere tomar.
Length:
Es opcional. Es el nmero de caracteres que se van a devolver.
LTrim(), RTrim() y Trim(): Devuelve una copia de cadena determinada sin espacios a la
izquierda (LTrim), 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)
Left(): Devuelve un nmero especificado de caracteres del lado derecho de una cadena.
Sintaxis: Rigth(string, lenght)

PROFESOR EDIDSON FUENTES

2014

PAGINA 32

INGENIERIA CIVIL

CURSO INFORMATICA

Donde: String: Expresin de cadena de la cual se devuelven los caracteres que estn ms a
la derecha.

Length: Expresin numrica que indica cuntos caracteres se van a devolver.


Str(): Esta funcin convierte un nmero a cadena
Sintaxis: Str(nmero)
Donde numero es un tipo Long que contiene una expresin numrica vlida. Al convertir
un nmero a cadena, siempre se reserva un espacio a la izquierda para el signo del
nmero.
UCase(): Convierte una cadena de caracteres a maysculas.
Sintaxis: Ucase(cadena)
Slo se convierten a maysculas las letras minsculas.
Space(): Genera una cadena de espacios.
Sintaxis: Space(nmero)
Donde nmero es el nmero de espacios que se desea incluir en la cadena.
Val(): Esta funcin devuelve los nmeros contenidos en una cadena como una valor
numrico del tipo adecuado.
Sintaxis: Val(cadena)
Donde cadena es cualquier expresin de cadena vlida.

2. EJERCICIOS:
2.1 Disear un formulario para calcular el cdigo de una persona a partir de las
siguientes reglas:
1er y 2do carcter
3er carcter

4 carcter

5, 6 y 7 carcter

Dos ltimos caracteres del ao


Primer carcter del apellido paterno
Primer carcter del apellido materno
nmero autogenerado de 3 caracteres.

a) DISEO DEL FORMULARIO:

PROFESOR EDIDSON FUENTES

2014

PAGINA 33

INGENIERIA CIVIL

CURSO INFORMATICA

b) CODIFICACIN: La codificacin para los objetos es la siguiente:


Private Sub Command1_Click()
Dim A(50) As String

Private Sub Command2_Click()


Text1 = ""
Text2 = ""
Text3 = ""
Text1.SetFocus
End Sub

'calcula el primer y segundo carcter

cod1 = Right(Text3, 2)

'calcula el tercer carcter

cod2 = Left(Text2, 1)

'calcula el cuarto carcter

lon = Len(Text2)
For i = 0 To lon - 1
A(i) = Mid(Text2, i + 1, 1)
Next i
For i = 0 To lon - 1
If A(i) = " " Then
cod3 = A(i + 1)
Exit For
End If
Next i

Private Sub Command3_Click()


Unload Me
End Sub
Private Sub Form_Activate()
Command1.Enabled = False
End Sub
Private Sub Text1_KeyPress(KeyAscii As
Integer)

'calcula el 5, 6 y 7 carcter

n = List1.ListCount
If n = 0 Then
cod4 = "001"
Else
valor = Val(Right(List1.List(n - 1), 3))
If valor < 9 Then
cod4 = "00" + Trim(Str(valor + 1))
Else
If valor < 99 Then
cod4 = "0" + Trim(Str(valor + 1))
Else
cod4 = Str(Trim(valor + 1))
End If
End If
End If
'une todas las partes del cdigo
codigo = cod1 + cod2 + cod3 + cod4
List1.AddItem (codigo)
List2.AddItem (Text1)
List3.AddItem (Text2)
List4.AddItem (Text3)
Command1.Enabled = False
End Sub

If KeyAscii = 13 Then
If Text1 = "" Then
MsgBox "Ingrese los Nombres"
Else
Text2.SetFocus
End If
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As
Integer)
If KeyAscii = 13 Then
If Text2 = "" Then
MsgBox "Ingrese los Apellidos"
Else
Text3 = Date
Command1.Enabled = True
Command1.SetFocus
End If
End If
End Sub

3. PROBLEMAS PROPUESTOS:
3.1 El CUCS UJCM esta implementando un sistema de matrcula, dentro del cual se
encuentra el mdulo de ingreso de alumnos, para el cual se desea implementar un
cdigo autogenerado de acuerdo a lo siguiente.
1er y Segundo carcter

3 y 4 carcter
5, 6 y 7 carcter

PROFESOR EDIDSON FUENTES

Iniciales de la carrera
AS para Analista de Sistemas Informticos
CC para Contabilidad Computarizada
SE para Secretariado Ejecutivo Bilinge Computarizado
DG para Diseo Grfico Publicitario
EC para Ensamblaje, Mantenimiento y Repar. de
Computadoras
IB para informtica Bsica
CL para Cursos Libres
Dos ltimos caracteres del ao
Un nmero autogenerado

2014

PAGINA 34

INGENIERIA CIVIL

CURSO INFORMATICA

PRACTICA N 6
1. BASES TERICAS:
a) EL CONTROL MSFLEXGRID:
Introduccin de Datos
La interseccin de una fila y una columna conforman una celda. Para introducir un
valor en una celda utilice la propiedad TextMatrix. Por ejemplo, para introducir la
palabra Prstamo en la celda 0,2 (fila 0, columna 2) escriba la siguiente instruccin
de programa:
MSFlexGrid1.TextMatrix(0,2) = Prstamo
Para introducir el nmero 3250 en la celda 3,2 (fila 3, columna 2) escriba la siguiente
instruccin:
MSFlexGrid1.TextMatrix(3,2) = 3250
Seleccin de Celdas
Para realizar modificaciones en una celda o en un rango de celdas, lo primero que
debemos hacer es seleccionarlas utilizando cdigo de programa. Para seleccionar
una nica celda utilice las propiedades Row y Col. En la propiedad Row asigne el
nmero de la fila y en la propiedad Col, el nmero de la columna. La celda
seleccionada ser la interseccin de la fila y de la columna especificadas. Por
ejemplo, para seleccionar la celda 3,2 utilice estas instrucciones:
MSFlexGrid1.Row = 3
MSFlexGrid1.Col = 2
Para seleccionar un rango de celdas, primero especifique las coordenadas de la
celda superior izquierda utilizando las propiedades Row y Col. Luego, especifique las
coordenadas de la celda inferior derecha del rango utilizando las propiedades
RowSel y ColSel. Por ejemplo, las siguientes instrucciones seleccionarn un rango
de 8 celdas (celda 3,2 a celda 6,3):
MSFlexGrid1.Row = 3
MSFlexGrid1.Col = 2
MSFlexGrid1.RowSel = 6
MSFlexGrid1.ColSel = 3

2. EJERCICIOS:
2.1 Disee un formulario que permita ingresar lo siguiente:

Enero
Febrero
Marzo
Abril
Total
Producto
vendido

VENTAS PRIMER TRIMESTRE


Producto A
Producto B
Producto C

Producto D

ms

Se deber calcular el total de ventas de cada producto y adems el producto


que ms se vendi.

PROFESOR EDIDSON FUENTES

2014

PAGINA 35

INGENIERIA CIVIL

CURSO INFORMATICA

DISEO DEL FORMULARIO:

Codificacin:
Private Sub Command2_Click()
Text1 = ""
Text1.SetFocus
MSFlexGrid1.Clear
x=1
y=1
End Sub

Declaraciones Generales
Dim x, y As Integer
Private Sub Command1_Click()
For j = 2 To 5
s=0
For i = 1 To 4
s = s + Val(MSFlexGrid1.TextMatrix(i, j))
Next i
MSFlexGrid1.TextMatrix(5, j) = s
Next j

Private Sub Form_Activate()


MSFlexGrid1.ColWidth(1) = 1000
MSFlexGrid1.TextMatrix(1, 1) = "Enero"
MSFlexGrid1.TextMatrix(2, 1) = "Febrero"
MSFlexGrid1.TextMatrix(3, 1) = "Marzo"
MSFlexGrid1.TextMatrix(4, 1) = "Abril"
MSFlexGrid1.TextMatrix(5, 1) = "Total"
x=1
y=1
End Sub
Private
Sub
Text1_KeyPress(KeyAscii
Integer)
If KeyAscii = 13 Then
y=y+1
If y = 6 Then
x=x+1
y=2
End If
If x = 5 Then
Command1.SetFocus
Else
MSFlexGrid1.TextMatrix(x, y) = Text1
Text1 = ""
End If
End If
End Sub

MSFlexGrid1.TextMatrix(6, 1) = "Producto mas vendido"

mayor = Val(MSFlexGrid1.TextMatrix(5, 2))


k=2
For i = 3 To 5
If mayor < Val(MSFlexGrid1.TextMatrix(5, i))
Then
mayor = Val(MSFlexGrid1.TextMatrix(5, i))
k=i
End If
Next i
Select Case k
Case 2
MSFlexGrid1.TextMatrix(6, 2) = "Producto A"
Case 3
MSFlexGrid1.TextMatrix(6, 2) = "Producto B"
Case 4
MSFlexGrid1.TextMatrix(6, 2) = "Producto C"
Case 5
MSFlexGrid1.TextMatrix(6, 2) = "Producto D"
End Select
End Sub

As

2.2 Disee un formulario para ingresar las notas de n alumnos y calcular los promedios
finales, adems se deber determinar el nmero de aprobados y desaprobados..
a) DISEO DEL FORMULARIO:

PROFESOR EDIDSON FUENTES

2014

PAGINA 36

INGENIERIA CIVIL

CURSO INFORMATICA

b) CODIFICACIN: La codificacin para los objetos es la siguiente:


x=0
y=0
n=0
End Sub

Declaraciones Generales
Dim x, y, n As Integer
Private Sub Command1_Click()
na = 0
nd = 0
For i = 1 To n
s=0
For j = 2 To 4
s = s + Val(MSFlexGrid1.TextMatrix(i, j))
Next j
promedio = s / 3

MSFlexGrid1.TextMatrix(i, 5) = Format(promedio, "#")

If promedio < 10.5 Then


nd = nd + 1
Else
na = na + 1
End If
Next i
MSFlexGrid1.TextMatrix(n + 1, 1) = "N Aprobados"
MSFlexGrid1.TextMatrix(n + 2, 1) = "N Desaprobados"

MSFlexGrid1.TextMatrix(n + 1, 2) = na
MSFlexGrid1.TextMatrix(n + 2, 2) = nd
End Sub
Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Text1.SetFocus
MSFlexGrid1.Clear

Private
Sub
Text1_KeyPress(KeyAscii
Integer)
If KeyAscii = 13 Then
x=x+1
MSFlexGrid1.TextMatrix(x, 1) = Text1
Text2.SetFocus
n=n+1
y=1
End If
End Sub

As

Private
Sub
Text2_KeyPress(KeyAscii
Integer)
If KeyAscii = 13 Then
If y = 4 Then
Text1 = ""
Text1.SetFocus
Else
y=y+1
MSFlexGrid1.TextMatrix(x, y) = Text2
Text2 = ""
End If
End If
End Sub

As

3. PROBLEMAS PROPUESTOS:
3.1 Modifique el problema 2.1, de tal manera que se considere lo siguiente para obtener los
promedios de acuerdo a lo siguiente:
Promedio = 0.2 (Proyectos) + 0.3 (Practicas) + 0.5 (Parcial)

PROFESOR EDIDSON FUENTES

2014

PAGINA 37

INGENIERIA CIVIL

CURSO INFORMATICA

PRACTICA N 7
1. BASES TERICAS:
a) ARRAYS DE CONTROLES:
a.1 Concepto: Un array de controles es un conjunto de controles del mismo tipo y con el
mismo nombre. La utilidad de un array de controles se hace evidente cuando
queremos manipular las propiedades de un conjunto de controles. Por ejemplo, en
lugar de utilizar ocho cuadros de texto de diferentes nombres, puede crear un array de
ocho cuadros de texto en el formulario, distinguir cada elemento mediante un subndice
y modificar una de sus propiedades.
Para crear un array de controles es suficiente asignar el mismo nombre a dos o ms
controles (propiedad Name) durante el diseo de una aplicacin. Tan pronto como
asigne a un control un nombre ya asignado a otro control del mismo tipo, Visual Basic
le enva el mensaje de: Ya existe un control llamado...Desea crear una
matriz de controles?. Haga clic en Si y Visual Basic crear un array de controles,
asignando por defecto los ndices 0,1, a cada uno de los elementos del array. Esta
operacin slo puede realizarse durante el diseo.
Los elementos de un array de controles, comparten los mismos procedimientos
conducidos por sucesos.

2. EJERCICIOS:
2.1 Disee un formulario que permita ingresar los datos de un alumno y calcular el monto que
adeuda de acuerdo a la carrera en la que se inscribe. Considere la siguiente tabla.
Carrera

Costo
1200
1080
1140

Analista de Sistemas
Contabilidad Computarizada
Diseo Grfico Publicitario

N de
Cuotas
12
12
12

Costo
Cuota
100
90
95

DISEO DEL FORMULARIO

PROFESOR EDIDSON FUENTES

2014

PAGINA 38

INGENIERIA CIVIL

CURSO INFORMATICA
<

CODIFICACIN:
Next i
End Sub

Private Sub Command2_Click()


Option1.Value = False
Option2.Value = False
Option3.Value = False
For i = 0 To 11
Check1(i).Value = False
Next i
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text1.SetFocus
End Sub

Private Sub Option3_Click()


Text3 = 1140
Text4 = 1140
For i = 0 To 11
Check1(i).Value = False
Next i
End Sub
Private Sub Text1_KeyPress(KeyAscii As
Integer)
If KeyAscii = 13 Then
If Text1 = "" Then
MsgBox "No puede omitir este dato"
Else
Text2.SetFocus
End If
End If
End Sub

Private Sub Check1_Click(Index As Integer)


i = Index
deb = Val(Text4)
If Option1.Value = True Then
If Check1(i).Value = 0 Then
Text4 = deb + 100
Else
Text4 = deb - 100
End If
End If
If Option2.Value = True Then
If Check1(i).Value = 0 Then
Text4 = deb + 90
Else
Text4 = deb - 90
End If
End If
If Option3.Value = True Then
If Check1(i).Value = 0 Then
Text4 = deb + 95
Else
Text4 = deb - 95
End If
End If
End Sub

Private Sub Text2_KeyPress(KeyAscii As


Integer)
If KeyAscii = 13 Then
If Text2 = "" Then
MsgBox "No puede omitir este dato"
Else
Text3.SetFocus
End If
End If
End Sub
Private Sub Text3_GotFocus()
MsgBox "Seleccione una carrera"
End Sub

Private Sub Form_Activate()


Option1.Value = False
Option2.Value = False
Option3.Value = False
Command2.SetFocus
End Sub
Private Sub Option1_Click()
Text3 = 1200
Text4 = 1200
For i = 0 To 11
Check1(i).Value = False
Next i
End Sub
Private Sub Option2_Click()
Text3 = 1080
Text4 = 1080
For i = 0 To 11
Check1(i).Value = False

PROFESOR EDIDSON FUENTES

2014

PAGINA 39

INGENIERIA CIVIL

CURSO INFORMATICA

PRACTICA N 8
1. BASES TERICAS:
a) ARCHIVOS:
a.1 Archivos Aleatorios: Un archivo aleatorio conocido tambin como archivo de
acceso directo consiste en un conjunto de registros de la misma longitud, cada
uno de ellos identificado por un nico nmero lo que permite un acceso directo al
registro.
Los pasos a seguir para la manipulacin de archivos aleatorios son:
- Definicin de la longitud del registro.
- Apertura del archivo.
- Proceso de los datos.
- Cierre del archivo.
Cmo crear un archivo aleatorio?
Para crear un archivo aleatorio siga estos pasos:
1. Defina los campos del registro, indicando el tipo de dato y longitud.
2. Declare las variables tipo registro.
3. Abra el archivo en modo de acceso aleatorio y especifique la longitud del
registro (Sentencia Open)
4. Lea los datos del registro y grabe el contenido en el archivo (Sentencia Put).
5. Cierre el archivo (Sentencia Close).
Definicin de un registro
Para definir un registro con la siguiente estructura:
Campos
Tipo
Longitud
6
String
Codigo
50
String
Apellidos
50
String
Nombres
50
String
Direccin
7
String
Telfono
Utilice el siguiente cdigo:
Type Registro
Codigo As String * 6
Apellidos As String * 50
Nombres As String * 50
Direccin As String * 50
Telfono As String * 50
End Type
Luego declaramos la variable con la que vamos a trabajar como de tipo Registro.
Por ejemplo:
Global Clientes As Registro.
Apertura de Archivos Aleatorios
Para abrir un archivo aleatorio utilice la sentencia Open. La sintaxis de la
sentencia Open es la siguiente:
Open nombrearch For Random As #n-arch Len = Longitud reg
Donde:
nombrearch Es el nombre del archive (puede incluir la ruta).
n-arch
Es un nmero entre 1-255 para referenciar el archivo.
Longitud reg Es una expresin entera que indica la longitud de cada uno de los
registros.
Ejemplo:
Open C:\Clientes.dat For Random As #1 Len=Len(Amigos)

PROFESOR EDIDSON FUENTES

2014

PAGINA 40

INGENIERIA CIVIL

CURSO INFORMATICA

Si abre un archivo aleatorio no existente, Open lo crea y si existe simplemente lo


abre.
Escritura de una Archivo Aleatorio
Para escribir o grabar datos en un archivo aleatorio utilice la sentencia Put, cuya
sintaxis es la siguiente:
Put [#] n-arch, [n-registro], variable
Donde:
n-arch
Es el nmero con el que se abri el archivo
n-registro Es el nmero del registro. Si se omite se toma el nmero siguiente al
utilizado en la ltima sentencia Put.
variable
Contiene la informacin a escribir en el archivo.
Ejemplo: Put #1, K, Clientes
Lectura de un Archivo Aleatorio
Para la lectura de un archivo aleatorio utilice la sentencia Get. Tiene esta
sintaxis:
Get [#]n-arch, [n-registro], variable
Donde:
n-arch
Es el nmero con el que se abri el archivo
n-registro Es el nmero de registro. Si se omite se toma el nmero siguiente al
utilizado en la ltima sentencia Get.
variable
Esta variable almacena los datos del registro ledo del archivo.
Ejemplo:
Get #1, K, Clientes

2. EJERCICIOS:
2.1 Disee un formulario que permita ingresar los datos de un alumno y los almacene en
un registro. Implemente las opciones Grabar, Nuevo, Modificar, Eliminar y Salir:
DISEO DEL FORMULARIO:

PROFESOR EDIDSON FUENTES

2014

PAGINA 41

INGENIERIA CIVIL

CURSO INFORMATICA

CODIFICACIN:
Modulo
Type Registro
Codigo As String * 3
Apellidos As String * 50
Nombres As String * 50
Direccion As String * 50
Telefono As String * 50
Eliminado As String * 1
End Type
Global Alumnos As Registro
Declaraciones Generales
Dim x, numreg, pos As Integer
Private Sub Command1_Click()
If x = 1 Then
Alumnos.Codigo = Text1
Alumnos.Apellidos = Text2
Alumnos.Nombres = Text3
Alumnos.Direccion = Text4
Alumnos.Telefono = Text5
Alumnos.Eliminado = "1"
numreg = LOF(1) / Len(Alumnos)
Put #1, numreg + 1, Alumnos
Command1.Enabled = False
End If
If x = 2 Then
Alumnos.Codigo = Text1
Alumnos.Apellidos = Text2
Alumnos.Nombres = Text3
Alumnos.Direccion = Text4
Alumnos.Telefono = Text5
Alumnos.Eliminado = "1"
Put #1, pos, Alumnos
Command1.Enabled = False
End If
If x = 3 Then

resp = MsgBox("Desea Eliminar el registro", 4 + 64)

If resp = 6 Then
Get #1, pos, Alumnos
Alumnos.Eliminado = "0"
Put #1, pos, Alumnos
limpiar
End If
End If
x=0
End Sub

Private Sub Command2_Click()


x=1
limpiar
Command1.Caption = "&Grabar"
numreg = LOF(1) / Len(Alumnos)
If numreg = 0 Then
Text1 = "001"
Else
Get #1, numreg, Alumnos
c = Val(Alumnos.Codigo)
If c < 9 Then
Text1 = "00" + Trim(c + 1)
Else

PROFESOR EDIDSON FUENTES

2014

PAGINA 42

INGENIERIA CIVIL

CURSO INFORMATICA

If c < 99 Then
Text1 = "0" + Trim(c + 1)
Else
Text1 = c + 1
End If
End If
End If
Text2.SetFocus
End Sub
Private Sub Command3_Click()
x=2
limpiar
Text1.SetFocus
Command1.Caption = "&Grabar"
End Sub
Private Sub Command4_Click()
x=3
limpiar
Text1.SetFocus
Command1.Caption = "&Aceptar"
End Sub
Private Sub Form_Activate()
x=1
Command1.Enabled = False
Command2.SetFocus
End Sub
Private Sub Form_Load()

Open "C:\VB\Archivos\Alumnos.dat" For Random As #1 Len = Len(Alumnos)

End Sub

Sub limpiar()

Text1 = "": Text2 = "": Text3 = "": Text4 = "": Text5 = ""

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)


If KeyAscii = 13 Then
numreg = LOF(1) / Len(Alumnos)
pos = 0
If numreg = 0 Then
MsgBox "No existe ningn registro"
Else
For i = 1 To numreg
Get #1, i, Alumnos
If Alumnos.Eliminado = "1" Then
If Text1 = Alumnos.Codigo Then
Text2 = Alumnos.Apellidos
Text3 = Alumnos.Nombres
Text4 = Alumnos.Direccion
Text5 = Alumnos.Telefono
pos = i
Text2.SetFocus
Exit For
End If
End If
Next i
End If
If pos = 0 Then
MsgBox "Este cdigo no existe"
Text1 = ""
End If
End If
End Sub

PROFESOR EDIDSON FUENTES

2014

PAGINA 43

INGENIERIA CIVIL

CURSO INFORMATICA

Private Sub Text2_KeyPress(KeyAscii As Integer)


If KeyAscii = 13 Then
If Text2 = "" Then
MsgBox "Ingrese los Apellidos del Alumno"
Else
Text3.SetFocus
End If
End If
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Text3 = "" Then
MsgBox "Ingrese los Nombres del Alumno"
Else
Text4.SetFocus
End If
End If
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Text4 = "" Then
MsgBox "Ingrese la Direccin del Alumno"
Else
Text5.SetFocus
End If
End If
End Sub
Private Sub Text5_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Text5 = "" Then
MsgBox "Ingrese el Telfono del Alumno"
Else
Command1.Enabled = True
Command1.SetFocus
End If
End If
End Sub

3. PROBLEMAS PROPUESTOS
3.1 Implemente un botn de comando Recuperar que permita recuperar
registros eliminados accidentalmente.

PROFESOR EDIDSON FUENTES

2014

PAGINA 44

Vous aimerez peut-être aussi