0% encontró este documento útil (0 votos)
75 vistas133 páginas

Programación

Este documento presenta una introducción a la programación en Visual Basic, incluyendo conceptos básicos como programa, lenguaje de programación, y los pasos para crear un programa como análisis del problema, algoritmo, diagrama de flujo, codificación y pruebas. Explica características de un buen programa como funcionalidad, modularidad, legibilidad y claridad. También describe los conceptos clave de algoritmo y sus características fundamentales.

Cargado por

Daknezz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
75 vistas133 páginas

Programación

Este documento presenta una introducción a la programación en Visual Basic, incluyendo conceptos básicos como programa, lenguaje de programación, y los pasos para crear un programa como análisis del problema, algoritmo, diagrama de flujo, codificación y pruebas. Explica características de un buen programa como funcionalidad, modularidad, legibilidad y claridad. También describe los conceptos clave de algoritmo y sus características fundamentales.

Cargado por

Daknezz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 133

Programación II Preparatoria Emiliano Zapata

PREPARATORIA TÉCNICA
“GENERAL EMILIANO ZAPATA”
“CIENCIA, CULTURA Y HUMANISMO”

ANTOLOGIA

PROGRAMACION
II
MICROSOFT VISUAL BASIC
LENGUAJE ORIENTADO A OBJETOS

BACHILLERATO TÉCNICO EN
SISTEMAS COMPUTACIONALES

CUARTO SEMESTRE

Erg221108 Página 1
Programación II Preparatoria Emiliano Zapata

UNIDAD I FUNDAMENTOS DE PROGRAMACIÓN


Conceptos básicos.
Antes de iniciarnos en la construcción y creación de programas en el lenguaje de
programación de tu preferencia, es recomendable conocer, recordar y dominar ciertos
términos, conceptos y técnicas de programación que te ayudarán a la creación y de
programas.

Programa.

Programa es un concepto desarrollado por Von Neumann en 1946, es un conjunto


de instrucciones que sigue la computadora para alcanzar un resultado específico. El
programa se escribe en un lenguaje de programación a partir de un diagrama de flujo
diseñado con anterioridad.

Un lenguaje de programación, por otra parte, está constituido por un conjunto de


reglas sintácticas y semánticas, que hacen posible escribir un programa. La programación
es el área de la computación que integra el conjunto de conocimientos y actividades
tendientes a desarrollar aplicaciones para la solución de problemas o ejecución de tareas
asistidas por la computadora. Programar computadoras resulta una tarea difícil para
algunos, la cual puede ser superada esta dificultad si se siguen las reglas y si se aplican
técnicas adecuadas, considerando que se requiere de aprender la lógica de la programación
para posteriormente aprenderse las reglas de sintaxis y características del lenguaje a
utilizar.

Para llegar a la realización de un programa es necesario seguir una serie de pasos,


los cuales conforme se va adquiriendo experiencia en la elaboración de programas se irán
suprimiendo ciertos pasos, como lo es la realización del algoritmo, más recomendamos
realizar todos y cada uno de los pasos señalados mientras no se adquiera la seguridad,
confianza y experiencia para realizar programas. Algunas de las características que
describen un buen programa son:

 Funcional.
 Modular.
 Legible.
 Claro.

La funcionalidad es la característica mínima en un programa, significa que debe de


proporcionar los resultados esperados, es decir que funcione adecuadamente.

Se dice que un programa es modular cuando este se divide en pequeños programas o


módulos, esto con la finalidad de hacerlo de fácil comprensión.

Erg221108 Página 2
Programación II Preparatoria Emiliano Zapata

La legibilidad es una característica que permite la lectura del programa y se presenta


en el formato del código.

La claridad de un programa puede observarse al estar el programa funcionando y se


hace referencia a los comentarios colocados en el programa para que sirvan de ayuda
durante la codificación.

Los Pasos para realizar un programa son:

1. Análisis del problema


2. Algoritmo.
3. Diagrama de flujo.
4. Prueba de escritorio.
5. Codificación.
6. Depuración.
7. Puesta en marcha.

Análisis del problema. Se requiere que el problema sea definido y


comprendido claramente para que pueda ser analizado con todo detalle.

El propósito del Análisis es ayudar al programador para llegar a tener cierta


comprensión del problema. El problema debe estar bien definido si se desea llegar a una
buena solución. Para poder definir con precisión el problema se requiere que las entradas y
salidas de datos sean descritas con detalle. Una definición del problema, junto con una
descripción detallada de las especificaciones de entrada y salida, son los requisitos más
importantes para llegar a una solución eficaz.

El análisis del problema exige una lectura previa del problema a fin de obtener una
idea general de lo que se solicita. Una segunda lectura es recomendada para responder a las
preguntas que pudiesen surgir, como por ejemplo:

1.- ¿Qué información debe proporcionar la solución del problema?

La respuesta a esta pregunta indicará los resultados deseados o las salidas del
problema.

2.- ¿Qué datos se necesitan para resolver el problema?

La respuesta a esta pregunta indicará que datos se proporcionaran o las entradas del
problema.

Erg221108 Página 3
Programación II Preparatoria Emiliano Zapata

Ejemplo de análisis de problema.

La liebre empieza una carrera en torno a una pista circular de 100 metros de
diámetro, en ese mismo instante el conejo inicia otra sobre una pista cuadrada que limita
exteriormente a la circular. Si la liebre lleva una velocidad de 25.5 m/s y da 12 vueltas;
mientras que el conejo va a una velocidad de 24 m/s y de 10 vueltas, ¿Quién termina
primero?

Considerar que el perímetro de un cuadrado es la suma de las magnitudes de sus lados y el


perímetro del círculo se calcula por medio de la fórmula: P=3.14Xd

Paso 1: Lectura previa.

Paso 2: Información requerida.

¿Quién termina primero? Es decir ¿quien consume menos tiempo?

¿Qué datos se necesitan?

1.- Formula para obtener el perímetro de un cuadrado P=L+L+L+L

2.- Formula obtener el perímetro de un circulo P=3.14xd

3.- Formula para obtener el tiempo V=d/t donde d es la distancia en metros, t es el


tiempo en segundos y V es la velocidad en metros / segundo. Podrás observar que de la
formula anterior se requiere de un despeje, para dejar la formula en función del tiempo,
por tal razón la formula quedaría de la siguiente forma: t=d/V

Paso 3: Manipulación de los datos.

El valor del lado del cuadrado es igual al diámetro del círculo

d
Es decir 100 metros. Por lo tanto el perímetro del cuadrado es
Pcuadrado= 100m + 100m + 100m + 100m = 400m

Y el perímetro del circulo es Pcirculo=3.14x100m=314 m

El perímetro del circulo es la distancia que recorre la liebre en una vuelta, como dio
12 vueltas entonces recorrió en total 3768 metros a una velocidad de 25.5 m/s. al
aplicar los datos en la formula t=d/V se podrá obtener el tiempo consumido por la
liebre en esta carrera.

T=3768 mts/25.5 m/s =147.76 segundos

Erg221108 Página 4
Programación II Preparatoria Emiliano Zapata

Ahora el cuadrado tiene un perímetro de 400 m, el conejo dio 10 vueltas por lo


tanto el conejo corrió una distancia total de 4000 m, a una velocidad de 24 m/s,

Aplicando estos datos a la formula t=d/V obtendremos el tiempo que tardo el conejo
en terminar las 10 vueltas. T=4000m/24m/s =166.66 segundos.

Por lo tanto el que termino primero es la liebre cierto o falso.

En el ejemplo anterior te abras dado cuenta que el análisis del problema te permite
observar un panorama general del problema, ver que datos se requieren para obtener la
información que se pide, también te permite decidir como manipular los datos.

Algoritmo.
Una computadora no tiene la capacidad para resolver un problema por si misma a
no ser que se le proporcionen los pasos que debe de realizar. Estos pasos son las
instrucciones, secuencias, orden y procedimientos a ejecutar por la máquina.

Un algoritmo es compuesto por un métodos y reglas los cuales son utilizados para
resolver un problema, la palabra algoritmo proviene de Mohammed al-Khowarizmi,
matemático persa que vivió durante el siglo IX, la traducción al latín del apellido en la
palabra algoritmus derivó posteriormente en algoritmo.

Un algoritmo es un conjunto ordenado y finito de pasos o instrucciones que nos


permiten obtener la solución de un problema. La naturaleza de los problemas varía con el
ámbito o con el contexto donde están planteados, según esto la naturaleza de los algoritmos
también es variada y no todos pueden ser ejecutados por la computadora. Los algoritmos
computacionales son aquellos que expresan soluciones usando reglas cuantitativas y cuyas
instrucciones pueden ser introducidas a la computadora.

El sistema para describir un algoritmo consiste en realizar una descripción paso a


paso con un lenguaje natural del algoritmo.

En la resolución de un problema con la computadora la parte pensante esta en el


algoritmo y el diseño de la mayoría de los algoritmos requiere creatividad y conocimientos
profundos de la metodología de programación. Así la eficiencia de un programador no esta
en conocer la herramienta de programación, cosa necesaria, sino en saber resolver

Erg221108 Página 5
Programación II Preparatoria Emiliano Zapata

problemas con la computadora para lo cual se requiere conocer la metodología de


programación cuyo eje central es el algoritmo.

Las características fundamentales que debe cumplir todo algoritmo son:

1. Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.


2. Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe
obtener el mismo resultado.
3. Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe de terminar en algún
momento; o sea, debe tener un número finito de pasos.

La realización de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.

Entrada: Todos los datos requeridos por el algoritmo para su solución.


(Ingredientes y utensilios utilizados).

Proceso: La manipulación de los datos (Elaboración de la receta).

Salida: Reporte de la información obtenida en el proceso (Terminación del plato).

Podemos tener cuatro tipos de algoritmos los cuales son:

a) Algoritmos secuénciales
b) Algoritmos Condicionales
c) Algoritmos Cíclicos.
d) Algoritmos de más de dos opciones.

Diseño del Diagrama de flujo.

Este tipo de diagrama representa de manera grafica la solución del problema.


Realizar diagramas de flujo no es más que una de las técnicas utilizadas para la
representación de algoritmos. Un diagrama de flujo utiliza símbolos estándar y que cada
símbolo se encuentra unido por flechas, que indican la secuencia en que se deben de

Erg221108 Página 6
Programación II Preparatoria Emiliano Zapata

ejecutar. En la elaboración de algoritmos como de los diagramas de flujo se tiene que tener
claro, comprendido y aprendido lo siguiente.

Variables: Una variable es un elemento de un programa en el cual se almacenara un dato,


por dato entendemos los números o letras que nos proporcionaran cierta información es
decir que los datos son aquello que introducimos a la computadora para que esta los
procese y nos pueda dar la información que requerimos (resultado del proceso realizado por
la computadora). En otras palabras los datos son los elementos o valores sobre los cuales se
ejecutan las acciones.

Los tipos de datos que podemos manejar es en función de los valores que
almacenaran, es decir, datos numéricos, datos alfabéticos, datos alfanuméricos, o datos
lógicos, las definiciones de cada uno de ellos son las siguientes.

Datos Numéricos. Son aquellos que contendrán únicamente números, estos pueden ser
positivos o negativos, con o sin decimales.

Datos Alfabéticos. Son aquellos que contendrán únicamente letras, palabras y espacios en
blanco, astas pueden ser de la A a la Z, Ya sea con mayúsculas o
minúsculas.

Datos Alfanuméricos. Son aquellos que contendrán letras, números y caracteres o símbolos
o la combinación de los mismos, en el caso de los números, estos
dejaran de tener valor numérico y por lo tanto no se podrán hacer
operaciones aritméticas con ellos.

Datos Lógicos. Son datos que únicamente pueden tener dos valores, estos son Verdadero o
False, la asignación de estos valores a las variables es por medio de
instrucciones dentro del programa.

Una vez entendido cuales son los tipos de datos que podemos encontrar en un
programa, será más fácil entender cuales son los tipos de variables, ya que el tipo de
variable esta en función del dato que almacenará, los tipos de variables que se utilizaran son
los siguientes:

Variable String. Son variables que almacenaran datos de tipo alfabético, alfanumérico o
numérico, este tipo de variables puede almacenar datos con longitud de
dos hasta 256 caracteres.

Variable Integer. Son variables que almacenan datos de tipo numérico sin decimales.

Erg221108 Página 7
Programación II Preparatoria Emiliano Zapata

Variables Real. Son variables que almacenan datos de tipo numérico con o sin decimales.

Variable Char. Son variables que al igual que las tipo String almacenan datos de tipo
alfabético o numérico pero con una longitud máxima de un carácter.

Variables Boolean. Son variables que almacenaran únicamente los valores lógicos de
Verdadero o Falso.

Variables de paso. Son variables que se declaran como cualquier otra variable con la
diferencia de que este tipo de variables es dato que almacenaran nunca
será tecleado directamente de la pantalla, es decir, el dato que contendrán
será asignado de otra variable o de una operación.

Variables tipo contador. Existen otro tipo de variables que nos permiten ir contando
información o número de procesos realizados mientras se cumpla cierta
condición dentro del programa. Un contador no es más que una variable
de tipo Integer a la cual se le sumara su propio valor más el valor de 1
cada vez que se cumpla cierta condición a la cual se sujeta la variable, un
contador por lo regular se inicializa en 0 y su incremento es en 1la
función del contador es ir contando el número de sucesos que ocurran
cuando un condicionante del programa sea valido. Ejemplo de contador
son los siguientes:

C=C + 1

Op = Op + 1

Contador =Contador + 1

Variable tipo acumulador. Las variables tipo acumulador son variables del tipo numérico
que nos servirán para ir almacenando la suma de una serie de datos, su
forma de trabajar es muy parecida a los contadores, es decir, su propio
valor le sumaran otro, pero la diferencia de los acumuladores con respecto
a los cantadores es que estos últimos incrementan su valor en uno y loa
acumuladores no, la forma de incrementar su valor es sumando a su
propio valor el valor de otra variable, por ejemplo:

SumaEdades = SumaEdades + Edad

Total = Total + Precio

Otro término comúnmente utilizado es el término Constante que a diferencia de


variable son espacios de memoria cuyo valor no cambia en el transcurso del programa. Es
decir es una partida de datos que permanecen sin cambios durante todo el desarrollo del

Erg221108 Página 8
Programación II Preparatoria Emiliano Zapata

algoritmo, diagrama o programa. Al igual que las variables, las constantes suelen ser
representadas por caracteres alfanuméricos.

Algunos de los símbolos utilizados en la realización de diagramas de flujo son:

Inicio: Representa el inicio de un diagrama de flujo, en el


Inicio interior suele agregarse la letra I o la palabra Inicio

Input: Representa que se dará la entrada del dato que se


Precio DIrec$
señala dentro del símbolo.

a= a +1 Operador asignador: Representa cualquier proceso o


manipulación de los datos o información, es decir
cualquier tipo de operación que pueda originar cambio de

Total =Pre + Iva valor, formato o posición de la información almacenada


en memoria, operaciones matemáticas, de asignación,
transferencia, etc.

Decisión: Indica operaciones lógicas o de comparación


entre datos y en función del resultado se determina cuál
Op=3
de los dos caminos del diagrama se debe seguir.

Cve$=”Entrar”

Erg221108 Página 9
Programación II Preparatoria Emiliano Zapata

Impresión: Este símbolo representar la salida o reporte


de información ya sea en monitor o impresora.
Nom$, “Aprobado”

Comentarios: Se utiliza para añadir comentarios

Pedir la Edad de clasificadores a otros símbolos del diagrama de flujo. Se


la persona, así como puede dibujar a cualquier lado del símbolo.
el género

Flujo: Indica la dirección o sentido de ejecución de las


operaciones.

Conector: Sirve para enlazar dos partes cualesquiera de

1 un diagrama.

Llamada a subrutina: Una subrutina es un modulo


Informe
independiente del programa principal, que recibe una
entrada procedente de dicho programa, realiza una tarea
determinada y regresa, al terminar, al programa principal.

Decisión múltiple: En función del resultado de la


comparación se seguirá uno de los diferentes caminos de
acuerdo con dicho resultado.

Erg221108 Página 10
Programación II Preparatoria Emiliano Zapata

Prueba de escritorio.

Esta prueba es muy útil para localizar posibles errores en un diagrama de flujo y es
recomendable realizarla antes de pasar a la creación del programa en el lenguaje de programación
de interés.

La prueba de escritorio no es más que el seguimiento de un diagrama de flujo, es decir


durante la prueba de escritorio se simula la ejecución del programa, introduciendo valores a las
variables indicadas por el diagrama, realizando operaciones aritméticas o lógicas en el momento
señalado, dando salida de información todo esto siguiendo el flujo que indique el diagrama.

Codificación.

La codificación es la expresión de los pasos de un algoritmo en instrucciones o sentencias.


Por consiguiente un programa consta de una secuencia de instrucciones, cada una de las cuales
especifica ciertas operaciones que debe de ejecutar la computadora en determinado momento.
Un programa se escribe en un lenguaje de programación y las operaciones que conducen a
expresar un algoritmo en forma de programa se llama programación. Así pues, los lenguajes que
son utilizados para escribir programas de computadoras son los lenguajes de programación y
quienes escriben o diseñan los programas seles nombra programadores.

Un programa de computadora es un conjunto de instrucciones u ordenes dadas a la


máquina y para que realice la ejecución de una determinada tarea.

Tras la decisión de realizar un programa, el programador debe establecer el conjunto de


especificaciones que debe de tener el programa: entrada, salida y algoritmos de resolución, que
incluirán las técnicas para obtener las salidas a partir de las entradas.

El programador debe de establecer de dónde provienen las entradas al programa. El


proceso de introducir los datos de entrada en la memoria de la computadora se denomina entrada
de datos, operación de lectura o acción de leer.

Las salidas de información se deben presentar en dispositivos periféricos de salida:


pantalla, impresora, discos, etc.

Erg221108 Página 11
Programación II Preparatoria Emiliano Zapata

Los principales tipos de lenguajes de programación utilizados en la actualidad son:

1. Lenguaje máquina
2. Lenguaje de bajo nivel (ensamblador)
3. Lenguaje de alto Nivel

La elaboración de un programa requiere de conocer el repertorio de instrucciones del


lenguaje de programación que se desee utilizar. Las instrucciones básicas y comunes a casi todos
los lenguajes de programación se pueden considerar en cuatro grupos:

 Instrucciones de entrada/salida. Son aquellas instrucciones de transferencia de


información y datos entre dispositivos periféricos y la memoria central.
 Instrucciones Aritmético-lógicas. Son aquellas instrucciones que ejecutan
operaciones aritméticas como suma, resta, multiplicación, división etc. Y
operaciones lógicas como operaciones And, Or, Not, etc.
 Instrucciones selectivas. Instrucciones que permiten la selección de tareas
alternativas en función de los resultados de diferentes expresiones condicióneles.
 Instrucciones repetitivas. Son instrucciones que permiten la repetición de
secuencias de instrucciones en un número determinado o indeterminado de
veces.
Las acciones o instrucciones se deben de escribir y posteriormente almacenar en memoria
en el mismo orden en que han de ejecutarse, es decir, de acuerdo a una secuencia.

Un programa puede ser lineal o no lineal.

Un programa es lineal si las instrucciones se ejecutan secuencialmente, sin bifurcaciones, decisión


ni comparaciones.

Un programa es no lineal cuando se interrumpe la secuencia mediante instrucciones de


bifurcación.

Los lenguajes de programación tienen elementos básicos que se utilizan como bloques
constructivos, así como las reglas para las que esos elementos se combinan. Estas reglas se
denominan sintaxis del lenguaje, Solamente las instrucciones sintácticamente correctas pueden

Erg221108 Página 12
Programación II Preparatoria Emiliano Zapata

ser interpretadas por la computadora y los programas que contengan errores de sintaxis son
rechazados por la máquina.

Los elementos básicos constitutivos de un programa son:

1) Palabras reservadas.
2) Identificadores.
3) Caracteres especiales.
4) Constantes.
5) Variables.
6) Expresiones.
7) Instrucciones.

Además de estos elementos básicos, existen otros elementos que forman parte de los
programas, cuya comprensión y funcionamiento será vital para el correcto diseño de un algoritmo
y naturalmente la codificación del programa.

Estos elementos son:

 Bucles.
 Contadores.
 Acumuladores.
 Interruptores.
 Estructuras.
 Secuénciales
 Selectivas
 Repetitivas.

El amplio conocimiento de todos los elementos de programación y el modo de su


integración en los programas constituyen las técnicas de programación que todo buen
programador debe conocer.

Erg221108 Página 13
Programación II Preparatoria Emiliano Zapata

Ejecución y validación del programa.

Una vez realizada la codificación o programa del diagrama de flujo, se procede a ejecutar
el programa en la computadora, para la localización de errores de sintaxis y posibles errores
lógicos y a la vez podemos realizar algunas mejoras en la imagen o apariencia de nuestro
programa. La apariencia de un programa dependerá de quien pide el sistema o programa es decir
dependerá del cliente y de algunas aportaciones o sugerencias del programador.

Documentación.

La documentación de un programa es el conjunto de información interna y externa al


programa, que facilitará su posterior mantenimiento y puesta a punto.

La documentación interna es la que se acompaña en el código o programa fuente y se


realiza a base de comentarios significativos. Estos comentarios se representan con diferentes
notaciones, según el tipo de lenguaje de programación y sirven como apoyo al momento de
realizar la codificación del programa. La documentación externa se acompañara en información
ajena al programa y proporcionada por el programador por lo regular se encuentra impresa en
algún tipo de manual como puede ser el manual del usuario o de sistema.

Tipos de Operadores.
En la programación es muy común hacer uso, en determinado momento del
programa, de operadores los cuales pueden ser del tipo aritmético o del tipo lógico, cada
uno de estos operadores suele ser aplicado de acuerdo a las necesidades del programa.

Operadores Aritméticos.

En el caso de las variables que contendrán datos del tipo numérico se podrán
realizar operaciones aritméticas, las operaciones aritméticas se hacen por medio de
operadores aritméticos, que no vienen siendo más que los símbolos que indicaran la
operación que se desea realizar.

Erg221108 Página 14
Programación II Preparatoria Emiliano Zapata

a) Suma.

El operador aritmético para la suma es el signo (+), si lo que se desea es hacer una
suma con dos números la forma en que se expresaría es la siguiente 21 + 10, en el caso de
operaciones con variables se haría lo mismo, con la diferencia que pueden ir números y
nombres de variables en la operación por ejemplo:

Respuesta=Variable1 + Variable2

Respuesta= Variable + 20

b) Resta.

El operador aritmético para la resta es el signo menos (-), ejemplos de este tipo de
operador serian los siguientes.

Respuesta=Variable1 – Variable2

Respuesta=Variable1 – 2

c) Multiplicación.

El operador aritmético para la multiplicación será un asterisco (*), Ejemplos de


operaciones de multiplicación son:

Respuesta=Variable1 * Variable2

Respuesta=Variable1 * 5

d) División.

El operador aritmético para la división será el signo de Slash (/), ejemplos de este
tipo de operador son los siguientes.

Respuesta = Variable1 / Variable2

Respuesta= Variable1 / 2

Erg221108 Página 15
Programación II Preparatoria Emiliano Zapata

Uso de los paréntesis.

Cuando se realizan operaciones aritméticas con las variables se debe de tener en


cuanta que las operaciones de multiplicación y división llevan prioridad sobre las de suma y
resta, es decir, si existe un línea en un programa en el cual se realizara una operación
aritmética y está operación matemática contiene una suma, una resta, una multiplicación y
una división, la computadora primero realizará la multiplicación y la división y después la
suma y la resta.

Existe el uso de paréntesis para indicar prioridades de ejecución de operaciones, es


decir, lo que este entre paréntesis dentro de una operación aritmética se calculará primero,
independientemente si es una suma, resta, multiplicación o división, la forma en que
trabajan los paréntesis es la siguiente:

1. Primero se ejecutara la operación que se encuentre dentro de ellos.


2. Al resultado de la operación le afectará la siguiente operación que se encuentre
fuera de los paréntesis en orden de importancia.

Dentro de una operación se pueden abrir cuantos paréntesis sean necesarios


teniendo el cuidado de cerrarlos y considerando que cuando existen mas de un par de
paréntesis el orden de ejecución de operaciones será de adentro hacia fuera por ejemplo.

R= ( (5 + 4) * 2) – ((3 * 2) – 5) X = (5 + 4 ) * 2 – (3 * 2 ) - 5

R= (( 9 ) * 2) – (( 6 ) – 5) X= ( 9 ) * 2 – ( 6 ) - 5

R= (18) – (6 – 5) X= 18 – 6 – 5

R= 18 - 4 X= 7

R = 14

Como podrás observar el uso correcto y la adecuada aplicación de los paréntesis son
requisitos necesarios que nos permitirán obtener resultados correctos en nuestros cálculos y
operaciones realizados en nuestro programa.

Erg221108 Página 16
Programación II Preparatoria Emiliano Zapata

Operadores Lógicos.

Los operadores lógicos al igual que los operadores aritméticos son signos que
denotan una operación, en este caso la operación no será aritmética, sino, de comparación,
es decir, servirán para comparar valores o variables entre si y así hacer que una condición
de una instrucción lógica del lenguaje de programación que se este utilizando sea verdadera
o falsa, los operadores lógicos serán entonces, mayor que, menor que, igual que, diferente
que, mayor o igual que, y menor o igual que.

Mayor que.

Este operador sirve para comparar que un valor sea mayor que otro (Los valores
pueden ser variables comparadas entre si, una variable comparada contra un valor
constante), y esta representado por el signo (>), ejemplos de esto son los siguientes.

Variable > 10 Precio > 100

Variable1 > Variable2 Precio > Entrada

Menor que.

Este operador sirve para comparar que un valor sea menor que otro (Los valores
pueden ser variables comparadas entre si, una variable comparada contra un valor
constante), y esta representado por el signo (<), ejemplo de este operador son los
siguientes:

Variable < 10 Precio < 100

Variable1 < Variable2 Precio < Entra

Igual que.

Este operador sirve para comparar que un valor sea igual que otro (Los valores
pueden ser variables comparadas entre si, una variable comparada contra un valor
constante), y esta representado por el signo (=), ejemplo de este operador son los
siguientes:

Variable = 10 Precio = 100

Variable1 = Variable2 Precio = Entra

Erg221108 Página 17
Programación II Preparatoria Emiliano Zapata

Diferente que.

Este operador sirve para comparar que un valor sea diferente que otro (Los valores
pueden ser variables comparadas entre si, una variable comparada contra un valor
constante), y esta representado por el signo (<>), ejemplo de este operador son los
siguientes:

Variable < > 10 Precio < > 100

Variable1< > Variable2 Precio < > Entra

Mayor o Igual que.

Este operador sirve para comparar que un valor sea mayor o igual que otro (Los
valores pueden ser variables comparadas entre si, una variable comparada contra un valor
constante), y esta representado por el signo (> =), ejemplo de este operador son los
siguientes:

Variable > = 10 Precio > = 100

Variable1 > = Variable2 Precio > = Entra

Menor o Igual que.

Este operador sirve para comparar que un valor sea menor o igual que otro (Los
valores pueden ser variables comparadas entre si, una variable comparada contra un valor
constante), y esta representado por el signo (< =), ejemplo de este operador son los
siguientes:

Variable < = 10 Precio < = 100

Variable1 < = Variable2 Precio < = Entra

Erg221108 Página 18
Programación II Preparatoria Emiliano Zapata

Tipos de programas.
Como se ha mencionado antes, existen varios tipos de algoritmos y diagramas y por
lo tanto a la vez existirán varios tipos de programas.

Secuenciales.

La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en


secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la
siguiente y así sucesivamente hasta el final del proceso, la representación grafica es la
siguiente.

Acción 1

Acción 2

Acción 3

Condicionales.

En la solución de la mayoría de los problemas algorítmicos se requiere efectuar


tomas de decisiones que conducen a la ejecución de una o más acciones dependiendo de la
verdad o falsedad de una o más condiciones. Como consecuencia de esto se producen
cambios en el flujo de control del programa. Dicho flujo de control implica rutas que deben
ser seleccionadas. Para esto, se utilizan ciertas estructuras de programación conocidas
como estructuras selectivas o estructuras de decisión.

 Las estructuras selectivas se clasifican en:


 Estructuras de selección simple.
 Estructura de selección doble.
 Estructura de selección múltiple o anidada.

Erg221108 Página 19
Programación II Preparatoria Emiliano Zapata

1. En la estructura de selección simple, se evalúa una condición lógica y:


a. Si la condición es verdadera se ejecuta una acción V la cual puede ser simple
o compuesta.
b. Si la condición no se cumple, entonces no se hace nada.

Condició Condici
V V
n. ón.
F F

Acción
Acción
V. V1.
Acción
V2.

Acción Simple. Acción Compuesta.


Simple
Para las condiciones aplicadas se requiere de operadores lógicos, los cuales su uso
ya se explico anteriormente.

2. En la estructura de selección doble, se evalúa una condición lógica y:


a. Si la condición es verdadera, ejecuta una acción.
b. Si la condición es falsa, se ejecutara otra acción.

Condición. Condición. F
V F V

Acción V. Acción F. Acción V1. Acción F1.

Acción V2. Acción F2.

Erg221108 Página 20
Programación II Preparatoria Emiliano Zapata

3. Una estructura de selección es múltiple o anidada, cuando está estructura contiene


dentro, otra u otras estructuras, las cuales pueden ser simples, compuestas. No existe
límite en cuanto al nivel de anidamiento.

V Condición F
1.

Acción Acción
V. F.

Condición Condició
V F V F
2. n.

Acción Acción Acción


V. V. F.

Cíclicos.

Las computadoras están especialmente diseñadas para todas aquellas aplicaciones


en las cuales una operación o conjunto de ellas deba repetirse muchas veces. Un tipo
importante de estructura es aquel que nos permite repetir una o varias acciones un número
determinado de veces. Un programa que lee una lista de números puede repetir la misma
secuencia de mensajes y instrucciones de lectura hasta que se lean todos los números del
fichero.

Las estructuras que repiten una secuencia de instrucciones un número determinado


de veces se denominan bucles, y se llama iteración al hecho de repetir la ejecución de una
secuencia de acciones.

Erg221108 Página 21
Programación II Preparatoria Emiliano Zapata

Para la generación de programación podemos utilizar las instrucciones If Then Else, For
next, While, Dowhile, Repaet, para crear estructuras repetitivas.

Las estructura While (mientras) y Dowhile (Hacer mientras), son aquellas en que el
cuerpo del bucle se repite mientras se cumple una determinada condición.

Cuando se ejecuta la instrucción While, la primera cosa que sucede es que se evalúa
la condición (Una expresión booleana). Si se evalúa la falsa ninguna acción se toma y el
programa prosigue en la siguiente instrucción del bucle. Si la expresión booleana es
verdadera, entonces se ejecuta el cuerpo del bucle, después de lo cual se evalúa de nuevo la
expresión booleana. Este proceso se repite una y otra vez mientras la expresión booleana
(condición) sea verdadera.

Algunos bucles no exigen fin y otros no encuentran el fin por error en su diseño. Un
bucle que nunca se termina se denomina bucle infinito o sin fin. Los bucles sin fin no
intencionados son perjudiciales para la programación y se deben de evitar siempre.

Regla practica. Las pruebas en las expresiones booleanas es conveniente que sean
mayor o menor que en lugar de pruebas de igualdad o desigualdad.

Si un algoritmo o programa está leyendo una lista de valores con un bucle While, se
debe incluir algún tipo de mecanismo para terminar el bucle. Existen cuatro métodos típicos
para terminar un bucle de entrada:

1. Preguntar antes de la iteración.


2. Encabezar la lista de datos con su tamaño.
3. Finalizar la lista con su valor de entrada.
4. Agotar los datos de entrada.

Tal vez el método más correcto para terminar un bucle que lee una lista de valores es
con un centinela. Un valor centinela es un valor especial usado para indicar el final de una
lista de datos.

Existen muchas situaciones en las que se desea que un bucle se ejecute al menos una
vez antes de comprobar la condición de repetición. En la estructura While (Mientras) si el
valor de la expresión booleana es inicialmente falso, el cuerpo del bucle no se ejecutará; por
ello se necesitan otros tipos de estructuras repetitivas.

La estructura Repeat (Repetir) se ejecuta hasta que se cumpla una condición


determinada que se comprueba al final del bucle.

El bucle Repaet se repite mientras el valor de la expresión booleana de la condición


sea falsa, justo lo opuesta de la sentencia mientras.

Erg221108 Página 22
Programación II Preparatoria Emiliano Zapata

Diferencia entre las estructuras While y Repeat.

La estructura While termina cuando la condición es falsa, mientras que repeat,


termina cuando la condición es verdadera.

En la estructura Repaet el cuerpo del bucle se ejecuta siempre al menos una vez; por
el contrario, While es más general y permite la posibilidad de que el bucle pueda no ser
ejecutado. Para usar la estructura Repaet debe de estar seguro de que el cuerpo del bucle se
repetirá al menos una vez.

En muchas ocasiones se conoce de antemano el número de veces que se desean


ejecutar las acciones de un bucle. En estos casos en los que el número de interacciones es
fijo, se debe de usar la estructura For Next (desde/para).

La estructura For ejecuta las acciones del cuerpo del bucle un número especifico de
veces y de modo automático controla el número de interacciones o pasos a través del
cuerpo del bucle. La estructura de un For Next se muestra a continuación, en donde a la
variable A se asigna un valor inicial de cero, y el ciclo se repitiera asta que la variable sea
igual a diez, el incremento de la variable se hace de manera automática y con un
incremento de uno.

Acción 1
A=0

A=10

A=A+
1

Acción 1

Acción 2

Erg221108 Página 23
Programación II Preparatoria Emiliano Zapata

Opción múltiple.

La estructura de selección múltiple permite elegir una ruta de entre varias rutas
posibles, usando para ello una variable a la cual sele denomina selector. El selector se
compara con una lista de constantes enteras o de carácter, para cada una de las cuales hay
una acción. Y si el selector coincide con una constante de la lista, se ejecuta la acción
correspondiente a dicha constante. Si el selector no coincide con ninguna constante de la
lista, se ejecuta la acción correspondiente al NO, si es que existe.

Las acciones pueden ser simples o acciones compuestas y a la ves cada acción
puede contener procesos secuenciales, cíclicos, condicionales y de opción.

Selector

1 2 3 No

Acciones 1 Acciones 2 Acciones 3 Acciones No

Erg221108 Página 24
Programación II Preparatoria Emiliano Zapata

UNIDAD II FUNDAMENTOS DE VISUAL BASIC

Antecedentes históricos.

El lenguaje de programación BASIC (Beniner´s All purpose Symbolic Instruction Code) nació
el año 1964 como una herramienta destinada para principiantes, buscando una forma sencilla de
realizar programas, empleando un lenguaje casi igual al usado en la vida ordinaria (en ingles), y
con instrucciones muy sencillas y escasas. Teniendo en cuenta el año de su nacimiento, este
lenguaje cubría casi todas las necesidades para la ejecución de programas. Téngase en cuenta que
las máquinas existentes en aquella época estaban estrenando los transistores como elementos de
comunicación, los ciclos de trabajo llegaban a la impensable cifra de 10,000 por segundo y la
memoria no pasaba de unos pocos K´s en tiroides de ferrita.

La evolución del BASIC por los años 70 fue escasa, dado que el auge que tomaron en
aquella época lenguajes de alto nivel como FORTRAN y el COBOL. En 1978 se definió una norma
para unificar los Basics existentes creándose la normativa BASICS STANDARD.

Con la aparición de los primeros ordenadores personales, dedicados comercialmente al


usuario particular, allá por la primera mitad de los ochenta, el BASIC resurgió como lenguaje de
programación pensado para principiantes, y muchos de estos pequeños ordenadores domésticos
lo usaban como único sistema operativo (Sinclair, Spectrum, Amstrad).

Con la popularización del PC, salieron varias versiones del BASIC que funcionaban en este
tipo de ordenadores (Versiones BASICA, GW-BASIC), pero todas estas versiones del BASIC no
hicieron otra cosa que terminar de rematar este lenguaje. Los programadores profesionales no
llegaron a utilizarlo, habida cuenta de las desventajas de este lenguaje respecto a otras
herramientas (PASCAL, C, CLIPPER). El BASIC con estas versiones para PC llegó incluso a perder
crédito entre los profesionales de la informática.

 Las razones para ello eran obvias:


 No era un lenguaje estructurado.
 No existían herramientas de compilación fiables.
 No disponía de herramientas de intercambio de información.
 No tenía librerías.

Erg221108 Página 25
Programación II Preparatoria Emiliano Zapata

 No se podía acceder al interior de la máquina.


 Un largo etcétera de desventajas respecto a otros lenguajes de programación.

Tal fue ese abandono por parte de los usuarios, que la aparición del Quick –BACIS de
Microsoft, una versión ya potente del BASIC, que corregía casi todos loa defectos de las versiones
pasó prácticamente inadvertida, a no ser porque las últimas versiones del sistema operativo MS-
DOS incluían una versión de Quick- BASIC algo recortada (Q-Basic) como un producto más dentro
de la amplia gama de ficheros ejecutables que acompañaban al sistema operativo, y aprovecha de
él el editor de textos.

Esta versión del popular BASIC ya es un lenguaje estructurado, lo que permite crear
programas modularmente, mediante subrutinas y módulos, capaz de crear programas ya
competitivos con otros lenguajes de alto nivel. Sin embargo llegaba tarde, pues los entornos MS-
DOS estaban ya superados por el entorno gráfico Windows.

Sin embargo algo había en el BASIC que tentaba a superarse: su gran sencillez de su
manejo. Si a esto se añade el entorno gráfico Windows, el aprovechamiento al máximo de las
posibilidades de Windows en cuanto a intercambio de información, de sus librerías, de sus drivers
y controladores, manejo de bases de datos, etcétera, el producto resultante puede ser algo que
satisfaga todas las necesidades de programación en el entorno Windows. La suma de todas estas
cosas es BISUAL-BASIC. Esta herramienta conserva del BASIC de los años 80 únicamente su
nombre y su sencillez, y tras su lanzamiento al mercado, la aceptación a nivel profesional hizo
borrar por fin el “mal nombre” asociado a la palabra BASIC.

Desde su salida al mercado, cada versión supera y mejora a la anterior. Dados los buenos
resultados a nivel profesional de este producto, y el apoyo prestado por el fabricante para la
formación de programadores, Visual –Basic se ha convertido en la primera herramienta de
desarrollo de aplicaciones en entorno Windows.

Es obligado decir sin embargo, que sigue siendo BASIC. No se pueden comparar sus
prestaciones con otros lenguajes cuando deseamos llegar al fondo de la maquina y controlar uno a
uno sus registros. No es ese el fin perseguido con VB y si es necesario llegar a esas precisiones será
necesario utilizar otro lenguaje que permita bajar el nivel de programación. (Visual-C) o realizar
librerías (DLLs) que lo hagan. En la mayor parte de las aplicaciones, las herramientas aportadas por
VB son mas que suficiente para lograr un programa fácil de realizar y de altas prestaciones.

Erg221108 Página 26
Programación II Preparatoria Emiliano Zapata

Características Generales de Visual-Basic.

1. Visual –Basic es una herramienta de diseño de aplicaciones para Windows, en la que estas
de desarrollan en una gran parte a partir del diseño de una interfase gráfica. En una
aplicación Visual-Basic, el programa está formado por una parte de código puro, y otras
partes asociadas a los objetos que forman la interfase grafica.
2. Es por tanto un término medio entre la programación tradicional, formada por una
sucesión lineal de código estructurado, y la programación orientada a objetos. Combina
ambas tendencias, ya que no podemos decir que Visual Basic pertenezca por completo a
uno de esos dos tipos de programación debemos inventar una palabra que la defina:
PROGRAMACIÓN VISUAL.

La creación de un programa bajo Visual-Basic lleva los siguientes pasos:

1. Creación de una interfase de usuario. Esta interfase será la principal vía de comunicación
hombre máquina, tanto para salida de datos como para entrada. Será necesario partir de
una ventana – Formulario – a la que le iremos añadiendo los controles necesarios.
2. Definición de las propiedades de los controles – Objetos – que hayamos colocado en ese
formulario. Estas propiedades determinaran la forma estética de los controles, es decir,
como son los controles y para qué sirven.
3. Generación del código asociado a los eventos que ocurran e estos objetos. A la respuesta
a estos eventos (Click, doble click, una tecla pulsada, etc.) le llamamos procedimiento, y
deberá generarse de acuerdo a las necesidades del programa.
4. Generación del código del programa. Un programa puede hacerse solamente con la
programación de los distintos procedimientos que acompañan a cada objeto. Sin
embargo, VB ofrece la posibilidad de establece un código de programa separado de estos
eventos. Este código puede introducirse en unos bloques llamados módulos, en otros
bloques llamados funciones, y otros llamados procedimientos. Estos procedimientos no
responden a un evento asignado a un objeto, sino que responden a un evento producido
durante la ejecución del programa.

Erg221108 Página 27
Programación II Preparatoria Emiliano Zapata

No es necesario entender de momento lo anterior. Visual Basic introduce un concepto nuevo de


programación, y es necesario cambiar hasta el argot del programador.

Procedimiento para entrar a Visual Basic.

Se puede entrar a Visual Basic de diferentes formas de las cuales señalaremos las siguientes.

A. Observar si en el la pantalla principal de Windows (escritorio) se encuentra el Icono que


corresponde al lenguaje de programación Visual Basic. De ser localizado el icono dar doble
Click con el Mouse, y esperar a que se muestre la primer pantalla correspondiente a Visual
Basic.

B. En el menú, buscar la aplicación de Visual Basic y dar doble Click.

Erg221108 Página 28
Programación II Preparatoria Emiliano Zapata

C. En el Menú inicio, seleccionar la opción todos los programas, desplegar la opción


Microsoft Visual Estudio y seleccionar Visual Basic.

Una vez realizado cualquiera de los procedimientos anteriores para ejecutar Visual Basic, se
mostrara una pantalla como la siguiente.

Erg221108 Página 29
Programación II Preparatoria Emiliano Zapata

Esta primer ventana que se presenta, es la de Nuevo proyecto, desde la cual se puede
tener acceso a proyectos nuevo, Existente y Recientes seleccionando la pestaña correspondiente.

Recientes: Despliega una lista que incluye la trayectoria y el nombre de los proyectos con los que
ha estado trabajando más recientemente.

Existentes: Permite navegar entre las unidades reconocidas en la computadora así como los
directorios existentes con la finalidad de localizar el proyecto que se desea abrir.

Nuevo: Muestra diferentes opciones en forma de iconos los cuales son proyectos ya existentes en
Visual Basic la cantidad de proyectos dependerá de la versión con la que se este trabajando.
Cuando vamos a trabajar en un nuevo proyecto seleccionaremos el icono de EXE estándar.

Erg221108 Página 30
Programación II Preparatoria Emiliano Zapata

Entorno de Visual Basic.

Mientras más pronto se familiarice con el entorno, el cual exige comprender el propósito
de las ventanas, más pronto dominará la programación en Visual Basic. En la Siguiente figura se
muestra los elementos comunes de Visual Basic.

Cuadro de herramientas

Barra de Barra de menús Ventana de Proyecto


herramientas

Ventana de Propiedades

Ventana de Posición
del formulario
Formulario

Área de edición de la
ventana del formulario.

Barra de Menús.

Muestra una lista de opciones que pueden ser utilizadas para manipular la aplicación, los
menús presentados son: Archivo, Edición, Ver, Proyecto, Formato, Depuración, Ejecutar, Consulta,
Diagrama, Herramientas, Complementos, Ventana y Ayuda.

Erg221108 Página 31
Programación II Preparatoria Emiliano Zapata

Formulario.

Es el elemento fundamental de un
programa, es decir es el área de trabajo y
trasfondo del programa, en el formulario se
colocarán todos los objetos o controles que
se requieran para realizar el proyecto. Un
formulario cambia de nombre a interfaz una
ves que se han insertado y modificado las
propiedades de los objetos que se contienen
en dicho formulario.

Las características más importantes de los formularios son:

1) Todo proyecto tiene minimamente uno.


2) Se pueden modificar si se desea sus propiedades o atributos.
3) Al ser ejecutado se convierte en una ventana o interfaz.
4) Al formulario de inicio recibe el nombre de Startup Form.

Barra de herramientas.

Se encuentra debajo de la Barra de menús, cambiara a medida que la usa. Visual Basic
cuenta con un total de cuatro barras de herramientas las cuales son:

1). Depuración. Esta barra aparece cuando utiliza las herramientas de depuración interactivas para
rastrear y corregir problemas.

2). Edición. Esta barra de herramientas lo auxilia en su edición del código.

Erg221108 Página 32
Programación II Preparatoria Emiliano Zapata

3). Editor de formularios. Nos ayuda a ajustar objetos en los formularios.

4). Estándar. Es predeterminada y aparece debajo de la barra de menús. Contiene accesos directos
a las opciones de mayor uso disponibles en los menus.

Al igual que en aplicaciones como Word, Excel o Power Point es posible mostrar u ocultar
las barras de herramientas, o bien acoplar o desacoplar es decir hacer la barra flotante para
después colocar la barra de herramientas en su sitio. Cada barra de herramientas muestra varios
botones que ofrecen métodos abreviados de un solo botón que evita recorrer elementos de menú
para tener acceso a operaciones comunes. Basta con colocar el puntero del Mouse sobre un botón
o icono para ver una información referente a la herramienta seleccionada y que le dará
información mediante un cuadro de dialogo llamado ToolTips el cual explicará para que es el
botón.

De la barra de herramientas estándar, nos interesan por el momento los siguientes


botones:

b) Explorador de proyectos
c) Propiedades de ventana
d) Posición del formulario
e) Abrir Proyecto
f) Salvar Proyecto
g) Ejecutar
h) Stop
i) Finalizar
j) Caja de herramientas

Erg221108 Página 33
Programación II Preparatoria Emiliano Zapata

Explorador de proyectos.

Al activar este botón se mostrara el Explorador de proyectos, el cual


es una ventana que nos permitirá visualizar el nombre del proyecto o
proyectos con los cuales se esta trabajando, así como los formularios que
contienen dicho proyecto. Es decir tiene la función de proporcionar una
visión de todos los archivos que conforman la aplicación.

En la imagen anterior se puede observar que el formulario tiene el nombre de


PrySuma2Numeros y se le asigna la extensión (.vbp), mientras que el formulario cuyo nombre es
FrmSuma2Numeros se le asigno la extensión (.frm).

Otros procedimientos para mostrar la ventana de explorador de proyectos son:

1) Activando el menú Ver, Explorador de proyectos.


2) Activar Control + R

Esta ventana no es necesaria tenerla visible todo el tiempo en que estemos trabajando con
nuestro proyecto ya que solo la utilizamos para poder cambiar de formulario activo, ver los
nombres asignados a cada formulario de nuestro proyecto o cambiar de formulario de inicio.

Erg221108 Página 34
Programación II Preparatoria Emiliano Zapata

Propiedades de la ventana o formulario.

Esta ventana despliega las propiedades o atributos disponibles del


objeto o formulario que se encuentre seleccionado, por medio de esta
ventana estaremos modificando las propiedades de manera estática es decir
durante el diseño del formulario.

Las propiedades son las características o valores que identifican a cada objeto que se
utilizará en el programa, las propiedades permiten cambiar la apariencia y comportamiento de
cada objeto. Y es recomendable cambiar las propiedades antes de iniciar la codificación de
cualquier objeto.

Las propiedades pueden variar de acuerdo al objeto con el que se este trabajando, las
propiedades que más serán utilizadas en este curso son:

1) Nombre 6) TabIndex

2) Caption 7) TolTipsText

3) Text 8) Visible

4) Font 9) StartUpPosition

5) Enabled 10) Windows State

Otras formas de mostrar la ventana de propiedades son:

1) Activar la tecla F4
2) Menú Ver, Ventana de propiedades.

Erg221108 Página 35
Programación II Preparatoria Emiliano Zapata

En la imagen siguiente de muestra la ventana de propiedades para un formulario. Dependiendo


del programador las propiedades podrán ser mostradas de forma alfabética o por categoría.

Caja de Objetos

Propiedades
por orden Propiedades por
alfabético categoría

Propiedades Valor de la
propiedad

Descripción de la
propiedad
seleccionada

Posición de formulario.

Muestra la ubicación del formulario activo cuando se ejecuta el


proyecto. Al dar click al icono se mostrará la pantalla siguiente.

Erg221108 Página 36
Programación II Preparatoria Emiliano Zapata

Salvar o Guardar proyecto.

Aún y cuando nuestro proyecto no se encuentre concluido será recomendable guardar los
cambios cada cierto tiempo, esto con la finalidad de reducir el riesgo de pérdida de información.
El proceso de guardar información es sumamente importante ya que de no realizarla
adecuadamente se puede encontrar con una grave pérdida de información.

Es recomendable guardar cada proyecto y formularios que realicemos en su respectivo


directorio.

Los procedimientos para guardar el proyecto son los siguientes.

A) Guardar el proyecto por primera ocasión.

1) Activar el Menú Archivo.

2) Seleccionar la opción Salvar proyecto como.

3) Abrir o crear y abrir el directorio en el cual se guardará el proyecto y sus formularios.

4) Dar nombre a los formularios, Recomendamos inicia el nombre con las literales Frm y
en seguida el nombre asignado sin espacios ni caracteres especiales.

5) Una vez guardado todos los formularios se procederá a dar nombre al proyecto, para
los cual se recomienda iniciar los nombres de los proyectos con las literales Pry y en
seguida el nombre deseado sin espacios ni caracteres especiales.

Nota: Hay que recordar que los nombres de archivos, formularios, Proyectos y directorios los
debemos asignar de acuerdo a la información con la que se estará trabajando.

Erg221108 Página 37
Programación II Preparatoria Emiliano Zapata

B) Guardar un proyecto que ha sido modificado.

1) En la Ventana de Proyectos dar un Click con el botón secundario del Mouse sobre
el formulario el cual se desea guardar cambios y seleccionar la opción Save. Este
procedimiento también es valido cuando se desea guardar un formulario nuevo en el
proyecto con la excepción de que se selecciona la opción Save As para poder asignar
nombre al nuevo formulario.
2) Después de haber realizado el paso anterior se procederá a dar un Click con el
botón secundario del Mouse en el nombre del proyecto que se encuentra en la ventana de
Proyectos de esta manera se guardan todos los cambios realizados en todos los formularios
que hayan sido modificados y en caso de ser un formulario nuevo Visual Basic Pedirá que le
asignemos un nombre.

Ventana que muestra el procedimiento


para guardar un proyecto.

Ventana que muestra el procedimiento


para guardar un formulario existente.

Erg221108 Página 38
Programación II Preparatoria Emiliano Zapata

Una forma más para guardar un programa en Visual Basic es el siguiente:

1) Activar el Menú Archivo.

2) Seleccionar la opción requerida Save Project, Save Project As, Save Form.Frm, Save
Form As. Etc.

3) Los pasos siguientes son igual que los antes descritos, es decir seleccionar el
directorio donde se guardará el proyecto o formularios, asignarles nombre y dar
guardar.

La forma más fácil y rápida pero no menos importante de guardar un


proyecto es dando doble click al icono de guardar, que se encuentra en la Barra
de herramientas. Apareciendo las mismas ventanas con las que ya estamos
familiarizados para guardar archivos y programas.

Erg221108 Página 39
Programación II Preparatoria Emiliano Zapata

Abrir proyecto.

Los programas creados en Visual Basic, estarán formados por


almenos un archivo tipo proyecto, por lo menos un formulario y algunos
archivos creados por default. Al igual que para guardar un programa en
Visual Basic, hay varias formas para abrir un proyecto los cuales se
indicaran algunos.

Procedimiento No 1 Para abrir un proyecto. Al dar doble click al icono de abrir proyecto
localizado en la barra de herramientas, se mostrará una ventana que nos permitirá localizar y abrir
el proyecto que requerimos.

Procedimiento No21 Para abrir un proyecto.

1) Primero seleccionar el menú Archivo


2) Seleccionar la opción Abrir Proyecto
3) Localizar su ubicación del proyecto
4) Seleccionar proyecto y dar abrir.

Procedimiento No 3 Para abrir un proyecto.

Ubicarlo inmediatamente después de arrancar Visual Basic, en la ventana que aparece, se


selecciona la pestaña existentes o recientes, se ubica el proyecto, se selecciona y después se activa
el botón abrir.

Ejecutar, Pausa y Alto.

Ejecutar Pausa Alto


Son tres botones con los cuales ya estamos muy familiarizados ya que los podemos
encontrar en muchos aparatos reproductores de audio y video. Tienen la función de arrancar o
ejecutar el programa. Dar una pausa o detener la ejecución del mismo.

Erg221108 Página 40
Programación II Preparatoria Emiliano Zapata

Caja de Herramientas.

La ventana de cuadro de herramientas es diferente a la barra de herramientas. El cuadro


de herramientas contiene una serie de controles estándar también llamados intrínsecos que
podrán ser colocados dentro de un formulario. El cuadro de herramientas tiene la función de
proveer los controles que nuestro diseño requiera para introducir o mostrar información. A
continuación mostramos la imagen y nombre de algunos de los controles que se incluyen en este
cuadro de herramientas es recomendable aprenderse el nombre, imagen, uso y las tres literales
que identifican a cada control. Existen otros controles que no se encuentran visibles en el cuadro
de herramientas y el procedimiento para mostrarlos se presentara más adelante.

Puntero. OptionButton

Boton de Opción

PictureBox (Pic) ComboBox (Cbo)

Cuadro de Imagen Cuadro Combinado

Label. (Lbl) ListBox (Lst)

Etiqueta Cuadro de lista

TextBox (Txt) Horizontal ScrollBar (Hsb)


Cuadro de Texto Barra de desp. Horizontal.

FrameButtom (Fra) Vertical ScrollBar(Vsb)


Marco Barra de desp. Vertical

Erg221108 Página 41
Programación II Preparatoria Emiliano Zapata

CommandButtom (Cmd) Timer (Tmr)

Botón de Comando Temporizador o cronometro

CheckBox (ChK) DriveListBox (Drv)

Casilla de verificación Cuadro de lista de unidades

Directory List Bosx(Dir) File List Box(Fil)

Cuadro de lista de directorios Cuadro de lista de archivos

Shape ( Shp) Line (Lin)

Forma o Figura Líne

Image(Img) Ado Data ( Ado )

Cuadro de Imagen

Ole (Ole)

Incrustación de Objetos

El cuadro de herramientas no se queda sin controles, Cuando su aplicación necesita más


de un mismo control, del cuadro de herramientas obtendrá todos los que se necesiten. Para
insertar un control en cualquier formulario se puede realizar de las siguientes Formas:

3) Hay que dar un Click al objeto y después activar y arrastrar el mouse en el sitio deseado.
4) Dar doble Click al Objeto, en este caso se insertara el objeto al centro del formulario, para
que después lo arrastres hasta el sitio en que se requiere colocar.

Erg221108 Página 42
Programación II Preparatoria Emiliano Zapata

Si lo que se desea es modificar las dimensiones del objeto lo podemos hacer de dos
formas:

1) Por medio de la Ventana de propiedades del objeto.

2) Modificando su dimensión por medio de los puntos de selección.

Para insertar otro objeto que no se encuentre dentro del cuadro de herramientas, se puede
insertar de la siguiente manera:

Colocas el puntero del Mouse dentro del cuadro de herramientas y damos un click con el
botón derecho, aparecerá un cuadro de opciones del cual seleccionaremos la opción componentes

Una vez seleccionado componentes aparecerá una pantalla como la que muestra la
siguiente imagen.

Erg221108 Página 43
Programación II Preparatoria Emiliano Zapata

De este cuadro de componentes podremos seleccionar la que sea de interés para


nosotros, por ejemplo en un curso siguiente nos interesará realizar el siguiente procedimiento
para poder trabajar con otros controles. Buscar la opción Microsoft Windows Commond Controls
6.0 (SP6) y dar un click en la casilla de verificación que sea de nuestro interés. La figura siguiente
muestra la imagen de componentes así como la casilla de verificación seleccionada.

Paso siguiente será dar al botón aplicar y luego aceptar para que los objetos sean
mostrados en la parte inferior de la caja de herramientas.

Por ejemplo los objetos que se mostrarían con el procedimiento anterior serian los
siguientes:

TabStrip ToolBar StatusBar

ProgressBar
Erg221108 TreeView ListView Página 44
Programación II Preparatoria Emiliano Zapata

ImageList Silder ImageCombo

A cada control insertado en un formulario podemos darle diferentes propiedades o


atributos, los cuales serán modificados de acuerdo a las necesidades y gustos del programador y
futuro cliente. Es importante entender que las propiedades las podremos modificar de dos formas:

1) Directamente del área de propiedades (estáticamente)

2) Durante la realización y ejecución del programa (Dinámicamente)

Para cada formulario que realicemos se recomienda utilizar una tabla como la siguiente,
en la que se registra las propiedades que se irán modificando a cada objeto utilizado en nuestro
proyecto. Esta tabla la explicaremos más adelante.

Objeto Propiedad Valor

Form1

Label1

Erg221108 Página 45
Programación II Preparatoria Emiliano Zapata

Función de algunos controles.

Puntero: Es utilizado para seleccionar los objetos contenidos en el


proyecto con la finalidad de poder modificar sus
dimensiones, propiedades o ubicación dentro del
proyecto.

Label: Permite mostrar el texto que se desea contenga el


formulario activo.

TextBox: Permite introducir textos el cual podrá ser utilizado para


realizar alguna operación, guardar en alguna variable o
almacenar en una base de datos.

PictureBoxl: Por lo regular lo utilizamos para mostrar resultados de


alguna operación o proceso.

Frame: Es un contenedor de objetos, es utilizado para agrupar


objetos que puedan estar relacionados. Para poder
agregar un objeto dentro de el primero se tiene que
seleccionar el contenedor, paso siguiente dar un click al
objeto de interés , activar y arrastrar el puntero del
Mouse dentro del contenedor y soltar. El objeto ya
formara parte del contenedor, este procedimiento se
puede realizar con todos los objetos que se quiera tener
dentro del Frame.

CommandButom: Este objeto es un botón el cual se puede oprimir


para que se ejecute una acción o programa asociado
a este objeto.

Erg221108 Página 46
Programación II Preparatoria Emiliano Zapata

ComboBox: Es un cuadro combinado de cuadro de texto y


cuadro de lista, con el cual podremos seleccionar
alguna de las opciones que se le asignen a este
objeto.

ListBox: Muestra una lista de elementos los cuales fueron


introducidos con anterioridad.

Shape: Es un objeto que nos permitirá cambiar su


apariencia ya sea como cuadro, Círculo, elipse o
rectángulo.

Line: Permite insertar líneas dentro del formulario.

Image: Es un objeto con el cual podremos insertar imágenes


prediseñadas de Windows así como fotofragias
extraídas de algún dispositivo digital.

OptionButton: Son botones de selección, al darle un click se


seleccionara, cuando se tienen mas de un
OptionButton en el mismo formulario o contenedor
solo se podrá seleccionar uno.

CheckBox: Son casillas de selección los cuales funcionan igual


que el OptionButton, con la diferencia que si
podremos seleccionar más de un objeto CheckBox
aun y cuando se encuentre en el mismo formulario o
contenedor.

Erg221108 Página 47
Programación II Preparatoria Emiliano Zapata

Ventana de código.

Es el área donde introduciremos las instrucciones del objeto que se desea programar. La
ventana de código se puede mostrar de las siguientes formas:

1) En el menú Ver, Código

2) En la ventana de explorador de proyectos, dar con el botón derecho del Mouse sobre el
formulario con el que se quiere trabajar el código.

3) Dar doble Click con el Mouse en el objeto o formulario al que se desea agregar o modificar su
código.

En la ventana de código podremos seleccionar el objeto a codificar así como el evento que
le queremos asignar a cada objeto.

Caja de objetos (Puede ser Caja de procedimientos (Puede ser


desplegada) desplegada)

Erg221108 Página 48
Programación II Preparatoria Emiliano Zapata

Diseño de programas en Visual Basic.

De cursos anteriores podemos recordar que para realizar un programa en cualquier


lenguaje de programación teníamos la necesidad de realizar:

a) El análisis del problema.


b) Realización de un algoritmo
c) Realización de un diagrama de flujo
d) Realizar la prueba de escritorio al diagrama
e) Codificar el diagrama de flujo en algún lenguaje de programación
f) Poner en marcha el programa
g) Corregir y depurar el programa.

En el desarrollo de programas por medio de un ambiente grafico como es Visual Basic, Visual
Fox etc. Los pasos anteriores quedarían como sigue:

1) El análisis del problema.


2) Realización de un algoritmo
3) Realización de un diagrama de flujo
4) Realizar la prueba de escritorio al diagrama
5) Crear interfaz
6) Definir propiedades de los Objetos utilizados
7) Escribir código requerido.
8) Poner en marcha el programa
9) Corregir y depurar el programa.

La programación orientada a objetos es un paradigma basado en la identificación de los


objetos inherentes al problema y en la escritura del código que modele esos objetos, sus
propiedades, sus comportamientos y la forma en la que se relacionan para resolver el problema.
La programación orientada a objetos resulta opuesta a la programación clásica, donde los
programas son secuencias de instrucciones.

Erg221108 Página 49
Programación II Preparatoria Emiliano Zapata

En la programación por objetos podemos:

a) Manipular y reconocer las ventanas de aplicación así como los componentes que lo
forman.
b) Observar ventanas de diálogo con sus controles.
c) Modificar y asignar acciones a objetos.
d) Mover y dimensionar los objetos a utilizar.
e) Realizar procedimientos que nos permitirán abrir, guardar, modificar, eliminar
información.
Con lo antes visto podemos decir que Visual Basic nos permitirá crear aplicaciones por medio
de un ambiente gráfico, en los cuales la apariencia y funcionalidad estarán limitadas por la
creatividad del Programador.

Creación de Interfaz.

La creación de la interfaz es un proceso de diseño semejante a la elaboración de un dibujo,


el diseño, creación y apariencia de la interfaz se origina en la mente del programador y se ira
modificando de acuerdo a las necesidades del sistema y gustos de quien requiere el programa.

Los objetos o controles pueden ser insertados en el formulario de las siguientes formas:

1) Se da doble Click al objeto o control requerido. Al realizar este procedimiento se colocará


al centro del formulario el objeto al cual podremos Modificar su tamaño, mover al sitio
que requiramos, Cambiar sus atributos (propiedades) o simplemente eliminar del
formulario.
2) Dar un Clik en el objeto o control requerido que se encuentra en la caja de herramientas,
paso siguiente es deslizar el puntero del Mouse en el sitio dentro del formulario donde se
quiere tener el objeto (se observara que la apariencia del puntero cambia), se da un Clik al
Mouse se arrastra y se suelta.
Nota: Los objetos o controles pueden ser eliminados, modificado su tamaño y ubicación tal como
se realiza con las imágenes insertadas en un documento de Word. Un control Cambia su nombre a
objeto una vez insertado en el formulario. La caja de herramientas nunca se queda sin controles.

Erg221108 Página 50
Programación II Preparatoria Emiliano Zapata

Visual Basic asigna un nombre a cada objeto que se inserta a los formularios el cual puede
ser modificado por medio de la ventana de propiedades ya que los nombres asignados por default
no son lo suficientemente descriptibles para quien realiza el programa.

Definir propiedades de los Objetos utilizados.

Cuando nos presentan un requerimiento de una nueva aplicación, como primer paso
debemos concentrarnos en identificar los objetos que intervendrán en el programa, para esto se
debe de analizar el requerimiento hablar con los futuros empleados paso siguiente es modificar las
propiedades de los controles necesarias para que la interfaz se muestra de acuerdo a los
requerimientos establecidos. Como propiedades podemos entender a los atributos, valores o
características que un control posee. Por ejemplo: Tamaño, color, Nombre, estilo, apariencia etc.

Visual Basic asigna a cada tipo de


control u objeto una serie de propiedades
los cuales son mostrados al seleccionar el
objeto por medio de una tabla. Las
propiedades como ya se dijo antes pueden
ser modificadas durante el proceso de
diseño en la ventana de propiedades o en el
momento en el cual se ejecuta el programa
es decir por código donde el programador
establece el valor. Recordemos que es
importante que al ir modificando las
propiedades registremos las propiedades
que vamos modificando durante el proceso
de diseño.

Erg221108 Página 51
Programación II Preparatoria Emiliano Zapata

Escribir código.

Ya debemos tener bien claro que un programa no es otra cosa que la implementación de
un algoritmo determinado, es decir una secuencia de pasos o instrucciones, mediante un lenguaje
de programación.

En los lenguajes de programación, las instrucciones están formadas por palabras que
pueden pertenecer o no a algún idioma humano. Los lenguajes de programación son más estrictos
que los lenguajes naturales y no se permite el uso de cualquier palabra ni tampoco cualquier
combinación de ellas. Toda palabra que se pueda usar en un programa, ya sea parte del lenguaje
de programación o definida por nosotros mismos, recibe el nombre de identificador. En todo
lenguaje de programación los identificadores deben respetar ciertas reglas para que sea más fácil
el trabajo del compilador o interprete.

Para poder escribir un código debemos tener claro los términos siguientes los cuales ya se
han tratado algunos.

a) Variable b) Constante c) Dato d) Información


e) Sentencia f) Operadores g) Modulación h) Procedimiento
i) Función j) Evento k) Método
El código representa el núcleo del lenguaje de programación y hace que los objetos
funcionen en conjunto de tal manera que puedan realizar operaciones, procesos, manejar datos y
sobre todo responder al usuario.

Antes de continuar es necesario conocer los términos siguientes los cuales son muy
utilizados en el lenguaje de programación Visual Basic.

Método: Son procedimientos preestablecidos en el lenguaje, actúan directamente sobre los


objetos, no pueden ser modificados por el usuario.

Ejemplo: Print, Cls, Move, Setfocus.

Eventos: Son acciones que soportan los objetos y pueden ser provocaos por el usuario, por el
código o por el sistema, cuando el programa se encuentra en ejecución.

Ejemplo: Click, doble Click, Presionar una tecla, Posicionar Mouse, mover el puntero.

Erg221108 Página 52
Programación II Preparatoria Emiliano Zapata

Sentencia: Son cada una de las líneas de código presentes en el programa describen acciones que
serán ejecutadas por la computadora como parte del funcionamiento del programa, las
sentencias deben de cumplir con una sintaxis del lenguaje y pueden estar formadas por
una o varias palabras clave.

Las sentencias pueden clasificarse en:

Ejecutables. Se traducen en instrucciones de la máquina y se utilizan para realizar


acciones concretas (sumar dos números, Imprimir un texto en pantalla)

No ejecutables. No se traducen a instrucciones y su única funcionalidad reside en


aumentar la legibilidad del código fuente, ya que se pueden utilizar como
comentarios para detalles de la implementación.

Simples. Es una sentencia en si misma y no contiene ninguna otra. Por ejemplo, la


sentencia de asignación utilizada para asignar un valor a una variable ya que
comprende únicamente la acción de asignar el valor a la variable.

Compuesta. Están formadas por dos o más sentencias que se ejecutan de acuerdo con
alguna estructura de control.

Ejemplos: UnloadMe, LblFecha.Caption=Str(date), Beep, Hide.

Datos: En cualquier programa que realicemos, necesitaremos manejar datos: Nombre del usuario,
el saldo de una cuenta, la cantidad de veces que iteramos sobre una línea de código. Y es
natural que estos datos cambien de valor durante la vida del programa de tal manera que
los datos son almacenados en variables y de una manera más sencilla diremos que un dato
es todo aquello que alimentamos o introducimos al programa para que este los procese y
posteriormente los convierta en información. Un tipo de dato es el conjunto de valores
que toma una variable, junto con la operación que pueden realizarse sobre esos valores.
En muchos lenguajes, es necesario asociar una variable con tipo de dato, de manera que el
compilador o intérprete pueda validar que las operaciones que hemos escrito realmente
corresponden al tipo de dato que manejamos. Un ejemplo de tipo de dato es el número
entero. El conjunto de valores que puede tomar es el de los números (0, 1, 2, 3, …) y las
operaciones que podemos realizar sobre ellos son la suma, resta, multiplicación y la
división. Los lenguajes de programación que exigen que definamos el tipo de dato de las

Erg221108 Página 53
Programación II Preparatoria Emiliano Zapata

variables antes de usarlas se denominan fuertemente tipados. Desde el punto de vista de


la detección de errores, estos lenguajes presentan una gran ventaja frente a los no tipados
ya que permiten detectar, durante al compilación algunos errores muy habituales, como
intentar asignar a una variable un dato que no le corresponde. Por ejemplo, si definimos la
variable cantidad como tipo entero y más adelante le asignamos el texto “10 piezas”, el
copilador de un lenguaje fuertemente tipado detectará el problema y nos lo informará
antes de compilar. En Visual Basic podemos utilizar datos del tipo:
a) Numérico b) Tipo cadena c) Especiales.

Datos tipo numérico:

Dato Sufijo Tamaño Rango y Descripción


Integer % 2 Byte -32,768 a 32,767 Números enteros
Long & 4 Bytes -2,147,483,648 a 2,147,483,647 Números enteros largos
Single ! 4 Bytes -3.40E38 a 3.40E38 Números con fracción de precisión simple
Double # 8 Bytes -1.80E308 a 1.80E308 Números con fracción de precisión doble.
Currency @ 8 Bytes - 9.22E14 a 9.22E14 son datos monetarios, hasta 4 dijitos a la derecha del
punto decimal y 15 a la izquierda.

Datos tipo cadena:

Dato Sufijo Tamaño Rango Descripción


String $ 1 Carácter/Byte 0 a 2 Gb Almacenan cadenas de caracteres alfanuméricos.

Datos especiales:

Dato Sufijo Tamaño Rango Descripción


Byte 1 Byte 0 a 255 Son números positivos
Boolean 2 Bytes Solo uno de los valores Trae o False
Object 4 Bytes Cualquier referencia de objeto
Date 8 Bytes Valores de fecha y hora
Variant Determinado por el tipo
Definidos Determinado por el tipo de elemento
por el
usuario

Erg221108 Página 54
Programación II Preparatoria Emiliano Zapata

Variables.

Es una referencia a un dato cuyo valor puede cambiar durante la ejecución del programa.
En otras palabras podemos decir que una variable es una posición de memoria de la
computadora, en donde reside un dato significativo para el programa. Para la fácil comprensión y
lectura de los programas, las variables reciben nombres formados por identificadores válidos que
nos ayudarán a recordar que tipo de dato se guardará en esta variable.

Ejemplos de Variables.

NomClie. Almacenar el Nombre de un cliente

TotPag Almacena el total a pagar

Dependiendo de cómo y donde se declare la variable hace posible que este disponible
para un procedimiento o modulo determinado con carácter de públicas o privadas.

Las variables de carácter Públicas están disponibles para todos los módulos de una
aplicación. Se declaran al principio del modulo mediante la palabra clave Public.

A nivel módulo una variable estará disponible para todos los procedimientos del módulo,
se declaran en la sección de Declaraciones al principio del módulo mediante la palabra clave
Private.

Las variables a nivel de procedimiento o locales son solo reconocidas en el procedimiento


en que se declaran. Se declaran al inicio del código del procedimiento utilizando las instrucciones
Dim y Static. Con Dim la variable solo existe mientras se ejecuta el procedimiento y con Static la
variable existe mientras se ejecuta la aplicación.

En Visual Basic hay dos opciones para declarar variables:

1) Explícitamente
2) Implícitamente

Declaración explícita.
Las variables pueden declararse en cualquier parte del programa, más recomendamos
realizar la declaración de variables al inicio del código esto con la finalidad de facilitar la lectura del

Erg221108 Página 55
Programación II Preparatoria Emiliano Zapata

programa y prevenir algunos errores. En la declaración explicita se antepone al nombre de la


variable y tipo de dato una instrucción que indica su alcance.

Para declarar que solo intervienen en un procedimiento de evento, se utiliza la instrucción


Dim al inicio del código de procedimiento.

Sintaxis: Dim Variable As (Tipo_dato)

Dim Instrucción
Variable Nombre asignado a la Variable
As Tipo_dato Argumento que especifica el tipo de dato. Si no se especifica se toma al
dato como tipo Variant.
Ejemplos:

1. Dim Precio As Single


2. Dim Cantidad As Integer
3. Dim Nombre As String
4. Dim Clave As String*5
5. Dim Costo As Single, Precio, Neto, Total As Double
En el ejemplo 5 las Variables Precio y Neto no tienen el argumento por lo que el tipo de dato es
Variant
El ejemplo 3 la viable Nombre que se esta declarando es del tipo alfanumérico de longitud
variable mientras que en el ejemplo 4 la variable Clave es del tipo alfanumérico de longitud fija
(con un máximo de 5 caracteres que puede contener).
Los datos pueden ser especificados mediante el uso de caracteres de declaración de tipo,
que se coloca como sufijo en el nombre de la variable.
Sintaxis. Dim VariableSufijo
Ejemplos:
Dim Edas%
Dim Precio@
Dim Nombre$

Erg221108 Página 56
Programación II Preparatoria Emiliano Zapata

Tipo de dato Carácter de declaración

Numérico
Integer %
Long &
Single !
Double #
Currency @
Cadena
String $

Declaración implícita.

En la declaración implícita solo es necesario escribir el nombre de la variable sin la


instrucción Dim.

La ventaja que tiene este tipo de declaración en comparación a la declaración explícita es


la rapidez en que se declaran las variables ya que no se tienen que teclear la instrucción, sin
embargo las variables no se listan y organizan y Visual Basic no despliega mensajes de error
cuando se utilizan.

Sintaxis para la declaración implícita.


Variable= Valor
Variable Nombre que se asigna a la variable
Valor Valor dado a la variable
Constantes.

El funcionamiento de las constantes es similar al de las variables solo que su valor no


cambiará durante la ejecución del programa.

Sintaxis. Const NombreConstante (As tipoDato) = expresión

Const Declara el nombre de la constante definida por el programador.


NombreConstante Nombre asignado por el programador.
Expresión Puede estar compuesta por constantes y operadores de cadena o
numéricos.

Erg221108 Página 57
Programación II Preparatoria Emiliano Zapata

Ejemplos de constantes:

Pi= 3.14152965
Public Const Factor As Integer =2
Mensaje = “Hola”
Const FechaN = #10-Mayo-2009#

Ejemplo en diseño de formulario

A continuación realizaremos un ejemplo en el diseño de un formulario. Hay que recordar


que el diseño de los formularios varía de acuerdo a las necesidades y gustos del programador y el
cliente.

Se recomienda seguir uno a uno los pasos señalados a continuación.

1) Iniciamos Visual Basic.

2) Dar nuevo formulario.

3) Agrega un objeto contenedor, 4 objetos tipo Etiqueta, 2 objetos TextBox, 3 objetos Command
Butom, 1 objeto Shape, 1objeto Line (El formulario debe de quedar como el que se muestra a
continuación)

4) Modificar las propiedades requeridas a cada objeto de nuestro proyecto, (recomiendo empezar
por la propiedad caption o Text de cada objeto, ya que esto nos ayudará para posteriormente
asignarle nombre a estos objetos) en este ejemplo modificaremos las propiedades objeto por
objeto, empezaremos seleccionando el formulario y buscamos la propiedad Caption de este
objeto dándole el valor de Programa para Obtener el área de un círculo (observemos el cambio
que presenta el formulario en la pantalla), la segunda propiedad que modificaremos es la
propiedad Nombre, a la cual le daremos el valor de FrmAreaCirculo (Recordemos que las tres

Erg221108 Página 58
Programación II Preparatoria Emiliano Zapata

literales para un formulario son Frm). Para mayor facilidad y ahorrarnos tiempo en la elaboración y
explicación realiza los cambios presentados en la siguiente tabla.

Valor de las propiedades antes de Valor de propiedades después de modificar


modificar

Objeto Propiedad Valor Objeto Propiedad Valor


Form1 Nombre Form1 Form1 Nombre FrmAreaC
Caption Form1 Caption Programa para
obtener el área de
un circulo
Label1 Nombre Label1 Label1 Nombre LblRadio
Caption Label1 Caption Radio:
Label2 Nombre Label2 Label2 Nombre LblCm2
Caption Label2 Caption Cm 2
Label3 Nombre Label3 Label3 Nombre LblCm
Caption Label3 Caption Cm
Label4 Nombre Label4 Label4 Nombre LblR
Caption Label4 Caption R
Text1 Nombre Text1 Text1 Nombre TxtRadio
Text Text1 Text
TabIndex 0

Valor de las propiedades antes de Valor de propiedades después de modificar


modificar

Objeto Propiedad Valor Objeto Propiedad Valor


Text2 Nombre Text2 Text2 Nombre TxtArea
Text Text2 Text
Frame1 Nombre Frame1 Frame1 Nombre FraArea
Caption Frame1 Caption Area
Enabled Trae Enabled False

Erg221108 Página 59
Programación II Preparatoria Emiliano Zapata

Command1 Nombre Command1 Command1 Nombre CmdEjecutar


Caption Command1 Caption &Ejecutar
TabIndex 1
Command2 Nombre Command2 Command2 Nombre CmdLimpiar
Caption Command2 Caption &Limpiar
TabIndex 2
Command3 Nombre Command3 Command3 Nombre CmdSalir
Caption Command3 Caption &Salir
TabIndex 3
Shape1 Nombre Shape1 Shape1 Nombre ShpCirculo
Shape 0-Rectangle Shape Circle
Line1 Nombre Line1 Line1 Nombre LinLinea

Una vez realizados los cambios en las propiedades antes señaladas en la tabla, nuestro
formulario tendrá la apariencia siguiente.

Erg221108 Página 60
Programación II Preparatoria Emiliano Zapata

UNIDAD III PROGRAMACIÓN POR OBJETOS POR MEDIO DEL LENGUAJE


VISUAL BASIC

Recordemos el Ámbito de las variables.


Denominamos ámbito de una variable a las partes del programa donde esa
variable está declarada. Para entenderlo mejor, veamos somera mente la forma de un
programa desarrollado en Visual Basic.
Un programa Visual Basic puede tiene uno o varios formularios. Cada formulario
puede tener varios controles. Tanto el formulario como cada uno de sus controles tienen
una parte del programa, justamente la parte relacionada con cada uno de los eventos que
pueden suceder bien al formulario o a los controles. A estas partes las llamamos
Procedimientos. Podemos tener procedimientos que no estén relacionados con ningún
evento ocurrido al formulario o a sus controles.
Aparte de formularios y controles, un programa puede tener Módulos, y en cada
uno de los módulos podemos insertar cuantos Procedimientos y Funciones queramos. La
estructura de un programa Visual Basic puede ser de la siguiente forma.
Formulario1 Formulario2 Formulario3 Módulo1 Modulo2
Declaraciones Declaraciones Declaraciones Declaraciones Declaraciones
Proc. A1 Proc.B1 Proc.C1 Proc.D1 Proc.E1
Proc. A2 Proc.B2 Proc.C2 Proc.D2 Proc.E2
Proc. A3 Proc.B3 Proc.C3 Proc.D3 FunciónE1
Proc. A4 Proc.B4 Proc.C4 Proc.D4 FunciónE2
Proc. A5 Proc.BB1 Proc.CC1 FunciónE3
Proc. AA1 Proc.BB2 Proc.CC2 FunciónE4
Proc. AA2 Proc.B33 Proc.CC3 FunciónE5
Proc. AA3 Proc.CC4 FunciónE6

Si se declara una variable dentro de un procedimiento o Función, esa variable "NO


SALE" del Procedimiento o Función donde se declaró. El procedimiento puede estar en un
Formulario o en un Módulo.
En un Formulario, una variable puede declararse de dos formas:
A) Privada
B) Pública.

Erg221108 Página 61
Programación II Preparatoria Emiliano Zapata

Para declarar una variable a nivel de formulario debe hacerse en la sección de


declaraciones, que está en la ventana de código en el área de Objeto seleccionar General,
el área de evento aparece la palabra procedimiento en el cual se seleccionará
“Declaraciones”.

Privada: esa variable se puede mover por todo el formulario, pero no sale de
dicho formulario.
Pública: esa variable puede moverse por todo el formulario y además puede ser
usada desde otro Formulario o Módulo, citándola con el nombre del Formulario,
seguido del nombre de la variable (Formulario.Variable)

En un Módulo una variable puede declararse como Privada, con lo que no saldrá
de ese Módulo, o Pública, pudiendo en este caso usarse en todo el programa. Cuando se
declara una variable como pública en un Módulo, basta referirse a ella por su nombre, sin
citar el nombre del Módulo donde se declaró.

En Visual Basic es posible declarar varias veces las variables, es decir, pueden
declararse a nivel de formulario, en su apartado de declaraciones, y esa variable
conservará su valor en todas las partes de ese formulario. Sin embargo, si se declara una
variable con el mismo nombre a un nivel inferior, por ejemplo al principio de un
procedimiento, esa variable será una variable distinta a la anterior, aunque tenga el
mismo nombre, al declararla en un Procedimiento, solamente será válida en ese
Procedimiento. Una vez que hayamos salido de ese procedimiento, la variable con ese
nombre volverá a ser la declarada en el Formulario.

Formas de declaración de variables.

Sentencia DIM Es la forma más común de declarar una variable como Privada. Puede
emplearse en un Procedimiento, Función, Formulario o Módulo.
Sintaxis:
Dim nombrevariable As (tipo que sea)

Erg221108 Página 62
Programación II Preparatoria Emiliano Zapata

Sentencia PRIVATE Es la forma de declarar una variable como Privada. Puede emplearse
solamente en la sección de declaraciones de un Formulario o Módulo.
Sintaxis:
Private nombrevariable As Tipovariable

Declarando una variable mediante la sentencia PRIVATE en un Formulario o


Módulo, esa variable puede usarse en todo ese Formulario o Módulo (En todos sus
Procedimientos y Funciones), pero NO fuera del Formulario o Módulo donde se declaró.

Nota: La sentencia Private no puede usarse en un procedimiento o función.

Sentencia PUBLIC Es la forma de declarar una variable como Pública. Puede emplearse
solamente en la sección de declaraciones de un Formulario o Módulo.
Sintaxis:
Public nombrevariable As Tipovariable

Declarando una variable de esta forma en la sección de declaraciones de un


Módulo, esa variable puede usarse en cualquier parte del programa citándola
simplemente por su nombre.
Si se declara de esta forma en la sección de declaraciones de un Formulario, esa
variable puede usarse en todo el programa. Para nombrarla, si estamos en el Formulario
donde se declaró basta con citarla por su nombre. Si estamos en otro formulario distinto
en donde se declaro, habrá que citarla por el nombre del Formulario, seguido del nombre
de la variable, separado por un punto
NombreFormulario.Nombrevariable

En un Módulo puede usarse también la sentencia Global en vez de Public :

Sentencia GLOBAL Declara una variable que es válida en todo el programa y la variable
puede usarse en todo el espacio del programa.

Erg221108 Página 63
Programación II Preparatoria Emiliano Zapata

Sintaxis:
Global nombrevariable As tipovariable

Sentencia STATIC Una variable declarada en un procedimiento pierde su valor al salir de


él. Lo peor es que una vez que el programa vuelva a entrar en ese
procedimiento, la variable estará puesta a cero. Para evitar esto si
declarásemos una variable en un procedimiento o función, como estática,
esa variable, aunque no la podremos utilizar fuera de ese procedimiento o
función, cuando volvamos a él conservará el valor que tenía cuando lo
abandonamos.

Static nombrevariable As tipovariable

Nota: El nombre de una variable puede ser tan largo como queramos, hasta un
máximo de 40 caracteres. Es recomendable utilizar nombres de variables que tengan
algún sentido.

Erg221108 Página 64
Programación II Preparatoria Emiliano Zapata

Programación Secuencial.
Ejemplo número 1de programación secuencial.
Realizaremos un programa para obtener la suma de dos números.
1. Abrir Visual Basic.
2. Al analizar el problema planteado nos damos cuenta de que tenemos la necesidad de
contar con una variable en la que se guardara el primer número a sumar, Una segunda
variable para guardar el segundo número a sumar y una tercer variable para guardar el
resultado de la suma.
3. Realizar el algoritmo del problema. (Paso no necesario)
Paso1 Inicio
Paso 2 Pedir el valor del primer número y guardar en Variable N1.
Paso 3 Pedir el valor del segundo número y guardar en Variable N2.
Paso 4 Realizar la Operación N1+N2 y el resultado guardarlo en Variable Suma.
Paso 5 Imprimir el resultado de la operación anterior.
Paso 6 Salir.
4. Realizar el Diagrama de flujo del problema. (Paso no necesario)

Inicio

N1

N2

S=N1+N2

Fin

5. Realizar la prueba de escritorio.

Erg221108 Página 65
Programación II Preparatoria Emiliano Zapata

Nota. El algoritmo y el diagrama de flujo anterior representa solo al programa principal que contendrá el control
command1, cada objeto que tengamos en nuestro formulario podrá ser codificado de manera particular de acuerdo a las
necesidades.

6. Abrir Visual Basic para tener nuestro formulario de trabajo.


Nota: El primer objeto Visual Basic con que nos encontramos es el FORMULARIO. De hecho, cada
vez que iniciamos Visual Basic nos presenta en pantalla un nuevo formulario, que tiene por
defecto el nombre de Form1. El Formulario es un objeto, que sirve de soporte de otros
objetos. El nombre de FORMULARIO lo toma precisamente porque, al igual que un
formulario de papel contiene textos escritos, lugares donde podemos escribir, figuras, cajas
donde podemos elegir una u otra opción, etc. En realidad un formulario es lo que
normalmente conocemos por VENTANA. El nombre de formulario le viene muy bien cuando
ese formulario es una ventana donde vamos a introducir datos alfanuméricos.

7. Agregamos los siguientes controles, 3 Label (Etiquetas), 3 TextBox (Cuadros de texto), 3


Command Butom (Cuadros de control) todos estos controles los cuales los colocaremos
como muestra la siguiente figura.
Nota: Para colocar un control en un Formulario, basta con “tomarlo” de la caja de herramientas
existente en la parte izquierda de la pantalla de Visual Basic y llevarlo al Formulario. Si no
existiese el control deseado en la caja de herramientas, deberemos ir a “tomarlo” a Controles
personalizados que están en el menú desplegable Herramientas.

Erg221108 Página 66
Programación II Preparatoria Emiliano Zapata

8. Dar las propiedades contenidas en la siguiente tabla.


Nota: Las Propiedades definen las características del Control. Los Procedimientos definen la
forma de actuar de un control frente a un evento. Tanto las propiedades como los
procedimientos deben ser definidos por el programador. Las propiedades dejan un pequeño
margen de actuación, los procedimientos son en su totalidad, definidos por el programador.
Estos procedimientos forman parte del programa. Podría incluso hacerse una aplicación que
no tuviese mas código que el introducido en los procedimientos.

Algunos procedimientos que se pueden utilizar en los controles y formularios se muestran en


la siguiente imagen.

Procedimiento Función Procedimiento Función


Activate Activación LinkExecute Ejecución de un enlace de
datos
Click Click LinkOpen Romper el enlace
DblClick Doble click Load Cargar el formulario
DragDrop Arrastrar y soltar LostFocus Perder el foco
Deactivate Desactivación MouseDown Pulsar una tecla del ratón
DragOver Arrastrar por encima MouseMove Detecta la posición del ratón
sobre el formulario
GotFocus Obtener el foco MouseUp Soltar una tecla del ratón
KeyPress Pulsar una tecla Paint Pintar
KeyDown Mantener pulsada una QueryUnload Confirmación de descarga
tecla
KeyUp Soltar una tecla Resize Cambio de tamaño
LinkError Error de enlace Unload Descargar el formulario

Erg221108 Página 67
Programación II Preparatoria Emiliano Zapata

Tabla de propiedades del problema planteado.


Objeto Propiedad Valor
Form1 Name FrmSuma2Num
Caption Programa para sumar dos números
Moveable False
StartUpPosition 2. Center Screen
Label1 Name LblNum1
Caption Primer Número:
Label2 Name LblNum2
Caption Segundo Número:
Label3 Name LblSuma
Caption Suma:
Text1 Name TxtNum1
Text
TabIndex 0
ToolTipText En este espacio agrega el primer número.
Text2 Name TxtNum2
Text
TabIndex 1
ToolTipText En este espacio agrega el segundo número.
Text3 Name TxtSuma
Text
Enabled False
Command1 Name CmdEjecutar
Caption &Ejecutar
TabIndex 2
ToolTipText Dar Click Para realizar la suma de los números
Command2 Name CmdLimpiar
Caption &Limpiar
TabIndex 3
ToolTipText Dar Click Para realizar nueva suma.
Command3 Name CmdSalir
Caption &Salir
TabIndex 4
ToolTipText Dar Click Para cerrar sistema.

Nota: las propiedades de cada control tiene una función distinta y cada control puede tener una gran variedad de
propiedades.

Erg221108 Página 68
Programación II Preparatoria Emiliano Zapata

9. El formulario tomara la siguiente apariencia.

10. Codificar los objetos que requieran ser codificados.


Nota: Para inicia la codificación de un objeto contenido en nuestro formulario basta con dar doble
Click al objeto que sea de interés. Nuestro programa requiere de codificar especialmente
tres objetos CmdEjecutar, CmdLimpiar y CmdSalir. Para pasar del formulario al área de
codificación o viceversa hay que realizar lo siguiente, Menú Ver, Código o Menú Ver, Objeto

Private Sub CmdEjecutar_Click()


Dim n1 As Single
Dim N2 As Single
Dim S As Single
n1 = Val(TxtNum1.Text) Rutina que suma dos números.
N2 = Val(TxtNum2.Text)
S = n1 + N2
TxtSuma.Text = S
End Sub

Private Sub CmdLimpiar_Click()


TxtNum1.Text = ""
TxtNum2.Text = "" Rutina que limpia los cuadros de
TxtSuma.Text = "" texto y enfoca al botón ejecutar.
TxtNum1.SetFocus
End Sub

Private Sub CmdSalir_Click() Rutina para detener el programa.


End
End Sub

Erg221108 Página 69
Programación II Preparatoria Emiliano Zapata

11. Ejecutar o arrancar el programa.


En este programa podemos ir checando cada uno de los botones que se van
codificando, sin importar si el resto de los botones estén listos. Para esto recordemos que
podemos realizarlo de varias formas. (Activando la tecla F5, El icono iniciar de la barra de
herramientas Standard, Activando el menú Ejecutar y después la opción iniciar).
Al ejecutar el programa nuestro formulario se vera de la forma siguiente, en la que
podemos ver que los puntos ya no se observaban, el cursor aparece en el texto para
agregar el primer número a sumar, si pulsamos la tecla tabulador el cursor se posicionará
en el cuadro de texto para agregar el segundo número a sumar, si volvemos a pulsar el
Tabulador, se seleccionara el botón Ejecutar, si nuevamente activamos la tecla tabulador
se seleccionara el botón Limpiar, etc.

Nota: Al ir agregando los datos que el programa va pidiendo, pulsaremos la tecla tabulador para
colocar el cursor en un nuevo objeto dentro del programa o en su defecto colocando el
puntero del mouse en el objeto que queramos manipular. (Si elegimos esta opción
observaremos que al colocar el puntero del mouse en ciertos objetos se mostrara un cuadro
de dialogo, el cual nosotros agregamos al dar las propiedades a los objetos).

Erg221108 Página 70
Programación II Preparatoria Emiliano Zapata

12. Corregir y depurar el programa.


Una vez ejecutado el programa pueden presentarse algunos errores, de sintaxis,
Lógicos o simplemente funcionar correctamente el programa sin marcar error alguno, mas
sin embargo todo programa podremos mejorar su apariencia (que no es más que cuestión
de diseño y gusto del programador y el cliente).
Por ejemplo, en el programa realizado, si agregamos un objeto Frame (Contenedor),
un Picture Box dentro del Frame, y un Command Buttom, si modificamos y damos las
propiedades mostradas en la siguiente tabla, y a la vez realizamos la codificación del
botón agregado, nuestro programa puede mejorar.

Propiedades de los nuevos Objetos agregados al programa y modificación de algunos existentes.


Objeto Propiedad Valor
Command1 Name CmdImprimir
Caption &Imprimir
Tabindex 3
ToolTipText Dar Click para Imprimir resultado.
CmdLimpiar TabIndex 4
CmdSalir TabIndex 5
Frame1 Name FraResultado
Caption
Picture1 Name PicResultado

Nota: Hay que observar que el botón insertado toma por default el nombre Command1 ya que el
botón que tenia ese mismo nombre se cambio por CmdEjecutar. Debemos de tener cuidado
de no repetir los nombres de los objetos para no encontrarnos con dificultades en la
realización de nuestros programas.

Nueva imagen del programa que


suma dos números.

Erg221108 Página 71
Programación II Preparatoria Emiliano Zapata

Dim N1 As Single Nota: Observa que la codificación


Dim N2 As Single requirió de ser modificada, por
Dim S As Single el uso de las variables, el
Private Sub CmdEjecutar_Click() enfoque del cursor, la
N1 = Val(TxtNum1.Text) necesidad de agregar la
N2 = Val(TxtNum2.Text) codificación del objeto
S = N1 + N2 CmdImprimir y la modificación
TxtSuma.Text = S de otros botones.
CmdImprimir.SetFocus
End Sub

Private Sub CmdImprimir_Click()


PicResultado.Cls
PicResultado.Print " " & N1
PicResultado.Print " " & N2
PicResultado.Print " ___"
PicResultado.Print "Suma " & S
CmdLimpiar.SetFocus
End Sub

Private Sub CmdLimpiar_Click()


TxtNum1.Text = ""
TxtNum2.Text = ""
TxtSuma.Text = ""
PicResultado.Cls
TxtNum1.SetFocus
End Sub
13. Guardar el programa.
Para guardar el programa se realiza el procedimiento siguiente:
1) Menú Archivo.
2) Guardar proyecto como
3) Crear y abrir carpeta en donde se almacenará el proyecto
4) Dar nombre a cada formulario que contenga el proyecto en este caso
FrmSuma2Num (Recordar que los nombres de los formularios los iniciamos con
Frm).
5) Dar el nombre PrySuma2Num al proyecto (Los nombres de los proyectos los
iniciaremos con Pry).

Erg221108 Página 72
Programación II Preparatoria Emiliano Zapata

14. Crear archivo ejecutable.


Para crear el archivo ejecutable basta tan solo con seguir los siguientes pasos:
1) Menú archivo
2) Generar PrySuma2Num.exe (Ubicar el directorio donde se guardará el proyecto).
3) Aceptar

15. Fin

Erg221108 Página 73
Programación II Preparatoria Emiliano Zapata

Ejemplo 2.
Elaborar una aplicación que permita calcular el salario neto de un trabajador en
función del número de horas trabajadas, pago por hora de trabajo y un descuento bruto
del 20 por 100. Los cálculos a efectuar para obtener el salario neto de un trabajador se
muestran a continuación.
Salario Bruto=Horas Trabajadas * Pago por Hora
Utilizando variables Sb = Ht* Ph

Descuento = 0.2 * Salario Bruto


Utilizando variables Desc = 0.2 * Sb

Salario Neto = Salario Bruto – Descuento


Utilizando variables Sn =Sb - Desc

1. Después de una lectura y haber analizado el problema hemos deducido que los
controles a utilizar son 2 contenedores, 6 etiquetas, 6 cuadros de texto, 3 botones de
comando todos ellos colocados como lao muestra la siguiente imagen.

Nota: Dejamos como tarea para el


alumno la elaboración del
diagrama de flujo y la prueba
de escritorio, esto con la
finalidad de reforzar los
conocimientos antes
adquiridos.

Erg221108 Página 74
Programación II Preparatoria Emiliano Zapata

Ya que ubicamos los controles, estableceremos las siguientes propiedades.

Tabla de propiedades del problema planteado.


Objeto Propiedad Valor
Form1 Name FrmSalarioNeto
Caption Calculo del salario neto
Moveable False
StartUpPosition 2. Center Screen
BorderStyle 3. Fixed Dialog
Label1 Nombre LblApNo
AutoSize True
Caption Apellidos y nombres:
Label2 Nombre LblHoTr
AutoSize True
Caption Horas Trabajadas:
Label3 Nombre LblPagoHo
AutoSize True
Caption Pago por Hora S/.
Label4 Nombre LblSBruto
AutoSize True
Caption Salario Bruto S/.
Label5 Nombre LblDescuento
AutoSize True
Caption Descuento S/.
Label6 Nombre LblSNeto
AutoSize True
Caption Salario Neto S/.
Text1 Name TxtApNo
Text
TabIndex 0
ToolTipText Agrega Nombre y Apellidos.
Text2 Name TxtHoTr
Text
TabIndex 1
ToolTipText Agrega horas trabajadas.
Text3 Name TxtPagoHo
Text
TabIndex 2
ToolTipText Agrega pago por hora
Text4 Name TxtSBruto
Text

Text5 Name TxtDescuento


Text

Text6 Name TxtSNeto

Erg221108 Página 75
Programación II Preparatoria Emiliano Zapata

Text
Frame1 Nombre FraIngresos
Caption Ingreso de datos
Frame2 Nombre FraSalida
Caption Salida de datos
Enabled False
Command1 Name CmdEjecutar
Caption &Ejecutar
TabIndex 3
ToolTipText Dar Click para mostrar
resultados
Command2 Name CmdLimpiar
Caption &Limpiar
TabIndex 4
ToolTipText Dar Click para realizar nuevo
cálculo.
Command3 Name CmdSalir
Caption &Salir
TabIndex 5
ToolTipText Dar Click para cerrar sistema.

Una vez modificadas las propiedades indicadas en la tabla anterior, nuestro


formulario tomará la apariencia siguiente.

Paso siguiente es realizar la codificación de los controles que requieran ser


codificados.

Erg221108 Página 76
Programación II Preparatoria Emiliano Zapata

Private Sub CmdEjecutar_Click()


Dim HT As Integer
Dim PH As Double
Dim Sb As Double
Dim Desc As Double
Dim Sn As Double
HT = Val(TxtHoTr.Text)
PH = Val(TxtPagoHo.Text)
Sb = HT * PH
Desc = 0.2 * Sb
Sn = Sb - Desc
TxtSBruto.Text = "$ " & Str(Sb)
TxtDescuento.Text = "$ " & Str(Desc)
TxtSNeto.Text = "$ " & Str(Sn)
End Sub

Private Sub CmdLimpiar_Click()


TxtApNo.Text = ""
TxtHoTr.Text = ""
TxtPagoHo.Text = ""
TxtSBruto.Text = ""
TxtDescuento.Text = ""
TxtSNeto.Text = ""
TxtApNo.SetFocus
End Sub

Private Sub CmdSalir_Click()


End
End Sub

Ejecuta el programa, Corrige, depura y gurda en un directorio nuevo dentro de tu


directorio de trabajo, por ultimo crea el archivo ejecutable.

Erg221108 Página 77
Programación II Preparatoria Emiliano Zapata

Ejemplo 3.
Elaborar una aplicación para obtener el área de cualquier circulo, triangulo o
cuadrado (Al seleccionar el tipo de operación se mostrara una imagen de la figura en la
que se trabajará).

1. Después de una lectura y haber analizado el problema hemos deducido que las
operaciones que se realizaran son:
Área de circulo = Pi * Radio al cuadrado
Área de cuadrado = Lado * Lado
Área de un triangulo = Base * Altura /2

2. Variables a utilizar.
Ac.- Área del circulo Acu.- Área del cuadrado At.- Área del triangulo
Pi.- Valor de 3.1416 R.- Radio L.- Lado
B.- Base H.- Altura

3. Después de una lectura y haber analizado el problema hemos deducido que los
controles a utilizar deben de ser los mostrados en la siguiente imagen.

Erg221108 Página 78
Programación II Preparatoria Emiliano Zapata

4. Modificar las propiedades de los controles que lo requieran. (Tomar como referencia la
tabla siguiente).
Tabla de propiedades del problema planteado. (Contenedor 1)

Objeto Propiedad Valor


Frame1 Name FraOpciones
Caption Opciones
Command1 Name CmdCirculo
Caption &Circulo
TabIndex 0
Command2 Name CmdCuadrado
Caption C&uadrado
TabIndex 1
Command3 Name CmdTriangulo
Caption &Triangulo
TabIndex 2
Command4 Name CmdSalirO
Caption &Salir
TabIndex 3

Tabla de propiedades del problema planteado. (Contenedor 2)


Nota: Modifica la propiedad ToolTipTex y la propiedad
Objeto Propiedad Valor
Font
Frame2de cada objeto
Name de este contenedor.
FraCirculo
Caption Calculo de áreas de un circulo
Visible False
Label1 Name LblRadio
AutoSize True
Caption Radio =
Label2 Name LblAreaC
AutoSize True
Caption Area =
Label3 Name LblR
Caption R
AutoSize True
Shape1 Name ShapeC
Shape 3- Circle
Command5 Name CmdCalcularC
Caption &Calcular
ToolTipText Dar click para calcular Area
TabIndex 5
Command6 Name CmdLimpiarC
Caption &Limpiar
ToolTipText Dar Click para realizar nuevo
calculo
TabIndex 6

Erg221108 Página 79
Programación II Preparatoria Emiliano Zapata

Objeto Propiedad Valor


Command7 Name CmdSalirC
Caption &Salir
ToolTipText Dar Click para regresar a menú
TabIndex 7
Command8 Name CmdImprimirC
Caption &Imprimir
ToolTipText Dar Click para imprimir
resultados.
TabIndex 8
Text1 Name TxtRadio
Text
TabIndex 4
ToolTipText Agrega el valor del radio
Text2 Name TxtAreaC
Text
Enabled False

Tabla de propiedades del problema planteado. (Contenedor 3)

Objeto Propiedad Valor


Frame3 Name FraAreaCu
Caption Calculo de áreas de un cuadrado
Visible False
Label4 Name LblLado
AutoSize True
Caption Lado =
Label5 Name LblAreaCu
AutoSize True
Caption Area=
Label6 Name LblL
Caption L
AutoSize True
Shape2 Name ShapeCu
Shape 1-Square
Command9 Name CmdCalcularCu
Caption &Calcular
ToolTipText Dar click para calcular Área
TabIndex 10
Command10 Name CmdLimpiarCu
Caption &Limpiar
ToolTipText Dar Click para nuevo calculo
TabIndex 11

Erg221108 Página 80
Programación II Preparatoria Emiliano Zapata

Objeto Propiedad Valor


Command11 Name CmdSalirCu
Caption &Salir
ToolTipText Dar Click para regresar a menú
TabIndex 12
Command12 Name CmdImprimirCu
Caption &Imprimir
ToolTipText Dar Click para imprimir Área
TabIndex 13
Text3 Name TxtLado
Text
TabIndex 9
ToolTipText Agrega el valor del lado
Text4 Name TxtAreaCu
Text
Enabled False

Tabla de propiedades del problema planteado. (Contenedor 4)

Objeto Propiedad Valor


Frame4 Name FraTriangulo
Caption Calculo de áreas de un triangulo
Visible False
Label7 Name LblBase
AutoSize True
Caption Base =
Label8 Name LblAltura
AutoSize True
Caption Altura =
Label9 Name LblAreaT
Caption Area =
AutoSize True
Label10 Name LblB
Caption Base
AutoSize True
Label11 Name LblA
Caption Altura
AutoSize True
Line1 Name Line1
Line3 Name Line2
Line3 Name Line3

Erg221108 Página 81
Programación II Preparatoria Emiliano Zapata

Objeto Propiedad Valor


Command13 Name CmdCalcularT
Caption &Calcular
ToolTipText Dar Click para calcular área
TabIndex 16
Command14 Name CmdLimpiarT
Caption &Limpiar
ToolTipText Dar Click para nuevo calculo
TabIndex 17
Command15 Name CmdSalirT
Caption &Salir
ToolTipText Dar Click para regresar a menú
TabIndex 18
Command16 Name CmdImprimirT
Caption &Imprimir
ToolTipText Dar Click para imprimir Área
TabIndex 19
Text5 Name TxtBaseT
Text
TabIndex 14
ToolTipText Agrega el valor de la Base
Text6 Name TxtAlturaT
Text
ToolTipText False
Tabindex 15
Text7 Name TxtAreaT
Text
Enabled False

Tabla de propiedades del problema formulario.


Objeto Propiedad Valor
Form1 Name FraAreas
Caption Áreas de objetos
StartUpPosition 2 CenterScreen
Moveable False

Erg221108 Página 82
Programación II Preparatoria Emiliano Zapata

Tabla de propiedades del problema planteado. (Contenedor 5)

Objeto Propiedad Valor

Frame5 Name FraImpresion

Caption

Picture1 Name PicImpresion

5. Una vez modificadas las propiedades y ajustado la colocación de algunos objetos


nuestro formulario tomara la siguiente apariencia.

Erg221108 Página 83
Programación II Preparatoria Emiliano Zapata

6. Realizar la codificación de los objetos.


Iniciaremos codificando los objetos que se encuentran dentro del contenedor
FraOpciones

Private Sub CmdCirculo_Click()


FraOpciones.Visible = False
FraCirculo.Visible = True
End Sub

Private Sub CmdCuadrado_Click()


FraOpciones.Visible = False
FraCuadrado.Visible = True
End Sub

Private Sub CmdTraingulo_Click()


FraOpciones.Visible = False
FraTriangulo.Visible = True
End Sub

Private Sub CmdSalirO_Click()


End
End Sub
Una vez codificando los objetos que se encuentran dentro del contenedor FraOpciones
pasaremos a codificar los objetos del contenedor FraCirculo

Private Sub CmdCalcularC_Click() Private Sub CmdSalirC_Click()


radio = Val(TxtRadio.Text) FraCirculo.Visible = False
areaC = radio * radio * 3.14 FraOpciones.Visible = True
TxtAreaC.Text = areaC & " Cm2 " End Sub
CmdImprimirC.Enabled = True
CmdLimpiarC.Enabled = True Private Sub CmdImprimirC_Click()
CmdCalcularC.Enabled = False PicImpresion.Print "Objeto = Circulo "
CmdSalirC.Enabled = False PicImpresion.Print "Valor de Radio ="; radio & " Cm"
CmdImprimirC.SetFocus PicImpresion.Print "Area del circulo = "; areaC & " Cm2
TxtRadio.Enabled = False "
End Sub CmdImprimirC.Enabled = False
CmdLimpiarC.SetFocus
Private Sub CmdLimpiarC_Click()
End Sub
TxtRadio.Text = ""
TxtAreaC.Text = ""
PicImpresion.Cls
TxtRadio.Enabled = True
TxtRadio.SetFocus
CmdCalcularC.Enabled = True
CmdLimpiarC.Enabled = False
CmdImprimirC.Enabled = False
CmdSalirC.Enabled = True
End Sub

Erg221108 Página 84
Programación II Preparatoria Emiliano Zapata

Paso seguido es codificar los objetos del contenedor FraCuadrado

Private Sub CmdCalcularCu_Click() Private Sub CmdSalirCu_Click()


lado = Val(TxtLado.Text) FraCuadrado.Visible = False
areaCu = lado * lado FraOpciones.Visible = True
TxtAreaCu.Text = areaCu & " Cm2" End Sub
CmdImprimirCu.Enabled = True
CmdLimpiarCu.Enabled = True Private Sub CmdImprimirCu_Click()
CmdCalcularCu.Enabled = False PicImpresion.Print "Objeto = Cuadrado "
CmdSalirCu.Enabled = False PicImpresion.Print "Valor del Lado = "; lado & " Cm"
CmdImprimirCu.SetFocus PicImpresion.Print "Area del Cuadrado = "; areaCu & " Cm2 "
TxtLado.Enabled = False CmdImprimirCu.Enabled = False
End Sub CmdLimpiarCu.SetFocus
End Sub
Private Sub CmdLimpiarCu_Click()
TxtLado.Enabled = True
TxtLado.Text = ""
TxtAreaCu.Text = ""
PicImpresion.Cls
CmdCalcularCu.Enabled = True
CmdLimpiarCu.Enabled = False
CmdImprimirCu.Enabled = False
CmdSalirCu.Enabled = True
TxtLado.SetFocus
End Sub

Codificar los objetos del contenedor FraTriangulo

Private Sub CmdCalcularT_Click() Private Sub CmdLimpiarT_Click()


base = Val(TxtBase.Text) TxtBase.Enabled = True
altura = Val(TxtAltura.Text) TxtAltura.Enabled = True
areaT = base * altura / 2 TxtBase.Text = ""
TxtAreaT.Text = areaT & " Cm2" TxtAltura.Text = ""
CmdImprimirT.Enabled = True TxtAreaT.Text = ""
CmdLimpiarT.Enabled = True TxtBase.SetFocus
CmdCalcularT.Enabled = False CmdCalcularT.Enabled = True
CmdSalirT.Enabled = False CmdLimpiarT.Enabled = False
CmdImprimirT.SetFocus CmdImprimirT.Enabled = False
TxtBase.Enabled = False CmdSalirT.Enabled = True
TxtAltura.Enabled = False PicImpresion.Cls
End Sub End Sub

Private Sub CmdSalirT_Click() Private Sub CmdImprimirT_Click()


FraTriangulo.Visible = False PicImpresion.Print "Objeto = Triangulo "
FraOpciones.Visible = True PicImpresion.Print "Valor de Base = "; base & " Cm"
End Sub PicImpresion.Print "Valor de Altura = "; altura & " Cm"
PicImpresion.Print "Area del Traingulo = "; areaT & " Cm2 "
CmdImprimirT.Enabled = False
CmdLimpiarT.SetFocus
End Sub

Erg221108 Página 85
Programación II Preparatoria Emiliano Zapata

Validar fuera de todo objeto las variables a utilizar.

Dim lado As Single


Dim areaCu As Single
Dim base, altura As Single
Dim areaT As Single
Dim radio As Single
Dim areaC As Single

Antes de ejecutar el proyecto coloca los contenedores, FraCirculo, FraCuadrado,


FraTriangulo y FraOpciones uno sobre otro, se muestra una imagen como la siguiente.

7. Ejecuta el proyecto. (Pulsa la tecla F5). Al momento de ejecutar el proyecto te podrás


dar cuenta de ciertos errores en la posición del cursor u enfoque por lo cual se
recomienda corregirlos para que nuestro proyecto este de una manera optima.

8. Guarda el formulario y el proyecto con los siguientes nombres.


Formulario FrmAreas
Proyecto PryAreas
Tanto el formulario como el proyecto se guardaran en una carpeta cuyo nombre será
Proyecto Áreas.

9. Crear el archivo ejecutable y guardar en el mismo directorio.

Erg221108 Página 86
Programación II Preparatoria Emiliano Zapata

Ejemplo 4.
Elaborar una aplicación para obtener la edad de una persona a partir de su fecha
de nacimiento.

1. Agregar a un formulario los objetos que se muestran a continuación.

2. Asignar las siguientes propiedades.

Objeto Propiedad Valor Objeto Propiedad Valor


Form1 Name FrmEdad Label1 Name LblAp
Caption Calcular edad Caption A. Paterno
de una Label2 Name LblAm
persona Caption A. Materno
Moveable False Label3 Name LblNombre
Frame1 Name FraNombre Caption Nombre ( S )
Caption Nombre Text1 Name TxtAp
Frame2 Name FraDireccion Text
Caption Dirección TabIndex 0
Frame3 Name FraFechaN Text2 Name TxtAm
Caption Fecha de Text
nacimiento TabIndex 1
(DD/MM/AA) Text3 Name TxtNombre
Frame4 Name FraEdad Text
Caption Edad TabIndex 2
Enabled False Text4 Name TxtCalle
Frame5 Name FraSalida Text
Caption Datos de TabIndex 3
Salida
Frame6 Name Fraopciones
Erg221108 Caption Opciones Página 87
Programación II Preparatoria Emiliano Zapata

Objeto Propiedad Valor Objeto Propiedad Valor


Text5 Name TxtNumero Command2 Name CmdLimpiar
Text Caption &Limpiar
TabIndex 4 TabIndex 10
Text6 Name TxtColonia Enabled False
Text Command3 Name CmdSalir
TabIndex 5 Caption &Salir
Text7 Name TxtFecha TabIndex 11
Text
TabIndex 6 Command4 Name CmdImprimir
Text8 Name TxtEdad Caption &Imprimir
Text TabIndex 9
TabIndex 7 Enabled False
Picture1 Name PicSalida
Command1 Name CmdAceptar
Caption &Aceptar
TabIndex 8

Nota 1: Se requiere agregar un Command Butom el cual será utilizado para imprimir los datos.
Quedando la interfaz de la siguiente manera.

Nota 2: A esta aplicación hay que agregar la propiedad ToolTipTex a los objetos que así lo
requieran.

Erg221108 Página 88
Programación II Preparatoria Emiliano Zapata

3. Codificar objetos.

Dim FechaN As Date Private Sub CmdLimpiar_Click()


Dim Edad As Integer TxtNombre.Text = ""
Dim Nombre As String TxtAp.Text = ""
Dim APaterno As String TxtAm.Text = ""
Dim AMaterno As String TxtCalle.Text = ""
Dim Calle As String TxtNumero.Text = ""
Dim Numero As String TxtColonia.Text = ""
Dim Colonia As String PicSalida.Cls
TxtFecha.Text = ""
Private Sub CmdAceptar_Click() TxtEdad.Text = ""
Nombre = TxtNombre.Text CmdImprimir.Enabled = False
APaterno = TxtAp.Text CmdAceptar.Enabled = True
AMaterno = TxtAm.Text CmdSalir.Enabled = True
Calle = TxtCalle.Text FraNombre.Enabled = True
Numero = TxtNumero.Text FraDireccion.Enabled = True
Colonia = TxtColonia.Text FraFecha.Enabled = True
FechaN = CDate(TxtFecha.Text) TxtAp.SetFocus
Edad = CInt((Date - FechaN) / 360) End Sub
TxtEdad = Str(Edad) & " Años"
CmdImprimir.Enabled = True Private Sub CmdSalir_Click()
CmdAceptar.Enabled = False End
CmdLimpiar.Enabled = True End Sub
CmdSalir.Enabled = False
FraNombre.Enabled = False
FraDireccion.Enabled = False
FraFecha.Enabled = False
CmdImprimir.SetFocus
End Sub

Private Sub CmdImprimir_Click()


PicSalida.Cls
PicSalida.Print "Nombre: " & Nombre & " " & APaterno & " " & AMaterno
PicSalida.Print "Direccion: " & Calle & " " & Numero & " " & Colonia
CmdImprimir.Enabled = False
CmdSalir.Enabled = True
CmdLimpiar.SetFocus
End Sub

4. Guarda el proyecto con el nombre PryEdad en un directorio con nombre Proyecto Edad
5. Guarda el formulario con el nombre FrmEdad en el mismo directorio Edad
6. Crear el archivo ejecutable

Erg221108 Página 89
Programación II Preparatoria Emiliano Zapata

Estructuras de decisión en Visual Basic.


Programas condicionales.
En los primeros lenguajes de programación la única forma de variar las
instrucciones por ejecutar según una condición era mediante un salto a otra parte del
programa o línea de programa. Es decir teníamos que evaluar la condición y
dependiendo de si era verdadera o falsa podíamos seguir en la línea de abajo o hacer que
la próxima instrucción por ejecutar fuera diferente, ubicada en otra parte del programa.
Esta implementación tenía dos grandes problemas.
1) Su escritura se vuelve un poco dificultosa, porque hay que conocer los
números de línea.
2) Los programas presentan poca claridad.

Con los constantes saltos hacia atrás o hacia delante por medio de instrucciones de
programa, se generan programas inevitablemente enredados los cuales se conocen como
código spaghetti y la instrucción más famosa utilizada para realizar saltos es la instrucción
GOTO (ir a). Con los pasos del tiempo, los programadores vieron que el código Spaghetti
resultaba muy difícil de mantener, ya sea para agregar una nueva característica al
programa o para corregir un error. En la década de los 60, el científico Edseger Dijkstra,
formulo un teorema en el que demostró que cualquier programa informático puede
escribirse usando sólo tres tipo de instrucciones básicas: la secuencial, la evaluación de
condiciones, y la de repetición o bucle de instrucciones todo esto sin utilizar la instrucción
GOTO. Este teorema conocido como teorema de Dijkstra, sentó las bases de lo que hoy
conocemos como programación estructuradas. AL utilizar las tres estructuras propuestas
por Dijkstra, se obtienen programas más claros y fáciles de entender ya que la lógica está
a la vista y resulta fácil encontrar cuál es la siguiente instrucción por ejecutar.
Una sentencia condicional es aquella que se realiza si se cumple una determinada
condición. La sentencia condicional mas usada es:
If Condición Then
Instrucciones
Else
Instrucciones
End if

Erg221108 Página 90
Programación II Preparatoria Emiliano Zapata

La serie de instrucciones anteriores podríamos traducirlas de la siguiente manera.


Si se cumple una condición Entonces
Realiza estas instrucciones
Si no se cumple
Realiza estas otras instrucciones
Fin de la Sentencia

Las dos tipos principales de estructuras de decisión más usados y que comúnmente
utilizamos son:
1) Sentencia If
2) Sentencia Select

Estas dos sentencia tienen la siguientes estructuras de programación, las cuales ya


se explicaron en el capitulo I
If condición then
Lista de instrucciones en caso de ser verdadera la condición
Else
Lista de instrucciones en caso de no cumplirse la condición
End if

Select Case variable


Case 1
Lista de instrucciones en caso de ser verdadera la condición 1
Case 2
Lista de instrucciones en caso de ser verdadera la condición 2
Case 3
Lista de instrucciones en caso de ser verdadera la condición 3
Case 4
Lista de instrucciones en caso de ser verdadera la condición 4
Case 5
Lista de instrucciones en caso de ser verdadera la condición 4
End Select

Erg221108 Página 91
Programación II Preparatoria Emiliano Zapata

En la sentencia If se tiene una condición y si se cumple dicha condición se ejecuta


unas determinadas instrucciones, o no se cumple y realiza otras instrucciones. Puede
pasar que, en caso de cumplirse o no cumplirse la condición, se abra una nueva condición.
La forma de esta estructura tomaría el nombre de If Anidados. Las instrucciones
condicionales que utiliza la sentencia If plantean preguntas del tipo verdadero o falso
sobre una variable, dato o propiedad.
Las expresiones condicionales hacen uso de operadores relacionales para
comprobar valores y operadores lógicos para enlazar. Los operadores pueden ser
aplicados a números y a expresiones. El resultado de las operaciones realizadas solamente
admiten dos respuestas true (Cierto) o False (Falso).
Los operadores relacionales pueden ser aplicados tanto a números como a
expresiones alfanuméricas, los operadores relacionales que podremos utilizar en
programas donde se tome una decisión son:
Símbolo Significado
= Igual que
<> No igual que
< Menor que
> Mayor que
<= Menor o igual que
=> Igual o mayor que

Los operadores lógicos solo tienen sentido cuando hablamos de variables


Booleanas. Los operadores lógicos que podremos utilizar son:
a) And
b) Or
c) Xor
d) Eqv
e) Imp
f) Not
g) Like

Erg221108 Página 92
Programación II Preparatoria Emiliano Zapata

Cuando trabajamos con números, en Visual Basic podremos hacer uso de las
siguientes funciones, las cuales podrán ser utilizadas en los diferentes tipos de programas.
Función Aplicación
CInt Devuelve la parte entera de un número con decimales.
Abs Devuelve el valor absoluto de un número.
Sgn Devuelve el signo de un número.
Sqr Devuelve la raíz cuadrada de un número.
Exp Devuelve el número elevado al exponente indicado.
Log Devuelve el logaritmo natural de un número.
Sin Devuelve el valor del seno de un ángulo expresado en radianes.
Cos Devuelve el valor del coseno de un ángulo expresado en radianes.
Tan Devuelve la tangente de un ángulo.
Atn Devuelve el valor del Arco tangente.
Date Devuelve la fecha tomada del reloj de la PC.
Time Devuelve la hora actual.
Now Devuelve la fecha y la hora actual de la PC.
WeekDay Devuelve el día de la semana.
Day Obtiene el día a partir de una fecha
Month Obtiene el mes a partir de una fecha
Year Obtiene el año a partir de una fecha.
Hour Obtiene la hora a partir de una hora.
Minute Obtiene el minuto a partir de una hora.
Second Obtiene el segundo a partir de una hora.
DateAdd Añade un intervalo de tiempo a una fecha.
DateDiff Obtiene el intervalo de tiempo entre dos fechas.

Ejemplo 1 con estructura de decisión.


Elaborar una aplicación que permita obtener el promedio de dos calificaciones
parciales de cualquier materia impartida en la Escuela preparatoria Emiliano Zapata y
visualizar su situación, calificación final en número y en letra según el siguiente recuadro.

Promedio Calificación con letra


90 a 100 A
80 a 89 B
70 a 79 C
60 a 69 D
0 a 59 E

Erg221108 Página 93
Programación II Preparatoria Emiliano Zapata

Procederemos a agregar los controles que se muestran en el siguiente formulario.

Establecer las siguientes propiedades a los controles.


Propiedades del Formulario
Objeto Propiedad Valor
Form1 Name FrmSituacion
Caption Aplicación escolar
Moveable False
StarTupPosition 2- CenterScreen

Propiedades del Picture


Objeto Propiedad Valor
Picture 1 Name PicBoleta

Erg221108 Página 94
Programación II Preparatoria Emiliano Zapata

Propiedades de Etiquetas
Objeto Propiedad Valor
Label1 Name LblMatricula
Caption Matricula :
Font Ms Sans Serif, Negrita, 8
Label2 Name LblNombre
Caption Nombre :
Font Ms Sans Serif, Negrita, 8
Label3 Name LblGrupo
Caption Grupo :
Font Ms Sans Serif, Negrita, 8
Label4 Name LblMateria
Caption Materia :
Font Ms Sans Serif, Negrita, 8
Label5 Name LblParcial1
Caption Parcial 1 :
Font Ms Sans Serif, Negrita, 8
Label6 Name LblParcial2
Caption Parcial 2 :
Font Ms Sans Serif, Negrita, 8
Label7 Name LblPromedio
Caption Promedio :
Font Ms Sans Serif, Negrita, 8
Visible False
Label8 Name LblPr
Caption Pr
Font Ms Sans Serif, Negrita, 10
Visible False
Label9 Name LblPuntuacion
Caption Puntuación
Font Ms Sans Serif, Negrita, 8
Visible False
Label0 Name LblPu
Caption Pu
Font Ms Sans Serif, Negrita, 10
Alignment 2- Center
Visible False
Label1 Name LblSituacion
Caption Situación
Font Ms Sans Serif, Negrita, 8
Visible False
Label2 Name LblSi
Caption Si
Font Ms Sans Serif, Negrita, 10
Alignment 2- Center
Visible False

Erg221108 Página 95
Programación II Preparatoria Emiliano Zapata

Label3 Name LblEscuela


Caption Escuela Preparatoria Técnica
Font BAskerville Old Fase, Negrita, 14
Alignment 2- Center
Label4 Name LblPez
Caption “Gral. Emiliano Zapata”
Font BAskerville Old Fase, Negrita, 12
Alignment 2- Center

Objeto Propiedad Valor


Label5 Name LblDir
Caption Rodrigo Gómez Sn Sector Heroico Tel.
83 70 18 68
Font BAskerville Old Fase, Negrita, 10
Label6 Name LblFalta
Caption Falta Dato
Font Ms Sans Serif, Negrita, 14
Alignment 2- Center
Visible False

Propiedades de Textos
Objeto Propiedad Valor
Text1 Name TxtMatricula
Text
TabIndex 0
ToolTipText Agrega Matricula
Text2 Name TxtNombre
Text
TabIndex 1
ToolTipText Agrega Nombre
Text3 Name TxtGrupo
Text
TabIndex 2
ToolTipText Agrega Grupo
Text4 Name TxtMateria
Text
TabIndex 3
ToolTipText Agrega Materia
Text5 Name TxtPar1
Text
TabIndex 4
ToolTipText Agrega Calificación Parcial 1
Text6 Name TxtPar2
Text
TabIndex 5
ToolTipText Agrega Calificación Parcial 1

Erg221108 Página 96
Programación II Preparatoria Emiliano Zapata

Propiedades de contenedores
Objeto Propiedad Valor
Frame1 Name FraDatos
Caption Datos del Alumno
Font Ms Sans Serif Negrita
Frame2 Name FraCalif
Caption Calificaciones
Font Ms Sans Serif Negrita
Enabled False
Frame3 Name FraBoleta
Caption Boleta
Font Ms Sans Serif Negrita
Enabled False

Propiedades de Botones
Objeto Propiedad Valor
Command1 Name CmdAceptar
Caption &Aceptar
TabIndex 6
ToolTipText Click para aceptar datos.
Command2 Name CmdCancelarD
Caption &Cancelar
TabIndex 7
ToolTipText Click para cancelar datos.
Command3 Name CmdEjecutar
Caption &Ejecutar
TabIndex 8
ToolTipText Click para obtener promedio.
Command4 Name CmdCancelarCal
Caption &Cancelar
TabIndex 9
ToolTipText Click para cancelar.
Command5 Name CmdImprimir
Caption &Imprimir
TabIndex 7
ToolTipText Click para imprimir Boleta.
Command6 Name CmdNuevoC
Caption &Nuevo Calculo
TabIndex 8
ToolTipText Click para realizar nuevo calculo.
Command7 Name CmdjSalir
Caption &Salir
TabIndex 9
ToolTipText Click para cerrar aplicación.

Erg221108 Página 97
Programación II Preparatoria Emiliano Zapata

Apariencia de nuestra interfaz.

Private Sub CmdCancelarCal_Click()


TxtPar1.Text = ""
TxtPar2.Text = ""
LblPu.Caption = ""
LblSi.Caption = ""
LblPr.Caption = ""
LblPuntuacion.Visible = False
CmdImprimir.Enabled = False
TxtPar1.SetFocus
End Sub

Private Sub CmdSalir_Click()


End
End Sub

Private Sub CmdCancelarD_Click()


Codificación de los controles. TxtMatricula.Enabled = True
TxtNombre.Enabled = True
Dim matricula As String TxtGrupo.Enabled = True
Dim nombre As String TxtMateria.Enabled = True
Dim grupo As String LblFalta.Visible = False
Dim materia As String TxtMatricula.Text = ""
Dim par1 As Single TxtNombre.Text = ""
Dim par2 As Single TxtGrupo.Text = ""
Dim promedio As Single TxtMateria.Text = ""
Dim Situacion As String TxtMatricula.SetFocus
End Sub

Private Sub CmdAceptar_Click()


If TxtMatricula.Text = "" Or TxtNombre.Text = "" Or TxtGrupo.Text = "" Or TxtMateria.Text = "" Then
LblFalta.Visible = True
TxtMatricula.Enabled = False
TxtNombre.Enabled = False
TxtGrupo.Enabled = False
TxtMatricula.Enabled = False
CmdCancelarD.SetFocus
Else
matricula = TxtMatricula.Text
nombre = TxtNombre.Text
grupo = TxtGrupo.Text
materia = TxtMateria.Text
FraDatos.Enabled = False
FraCalif.Enabled = True
TxtPar1.SetFocus
CmdSalir.Enabled = False
CmdNuevoC.Enabled = True
End If
End Sub

Erg221108 Página 98
Programación II Preparatoria Emiliano Zapata

Private Sub CmdImprimir_Click() Private Sub CmdImprimir_Click()


PicBoleta.Cls PicBoleta.Cls
PicBoleta.Print " Escuela Preparatoria PicBoleta.Print " Escuela Preparatoria
Tecnica " Tecnica "
PicBoleta.Print " Gral. Emiliano Zapata " PicBoleta.Print " Gral. Emiliano Zapata "
PicBoleta.Print "Matricula : " & matricula PicBoleta.Print "Matricula : " & matricula
PicBoleta.Print "Nombre : " & nombre PicBoleta.Print "Nombre : " & nombre
PicBoleta.Print "Grupo : " & grupo PicBoleta.Print "Grupo : " & grupo
PicBoleta.Print "Materia : " & materia PicBoleta.Print "Materia : " & materia
PicBoleta.Print "PArcial 1 : " & par1 PicBoleta.Print "PArcial 1 : " & par1
PicBoleta.Print "PArcial 2 : " & par2 PicBoleta.Print "PArcial 2 : " & par2
PicBoleta.Print "Promedio : " & promedio PicBoleta.Print "Promedio : " & promedio
PicBoleta.Print "Puntuacion : " & LblPu PicBoleta.Print "Puntuacion : " & LblPu
PicBoleta.Print "Situacion : " & LblSi PicBoleta.Print "Situacion : " & LblSi
CmdImprimir.Enabled = False CmdImprimir.Enabled = False
CmdNuevoC.Enabled = True CmdNuevoC.Enabled = True
CmdNuevoC.SetFocus CmdNuevoC.SetFocus
End Sub End Sub

Private Sub CmdNuevoC_Click() Private Sub CmdImprimir_Click()


TxtMatricula.Text = "" PicBoleta.Cls
TxtNombre.Text = "" PicBoleta.Print " Escuela Preparatoria
TxtGrupo.Text = "" Tecnica "
TxtMateria.Text = "" PicBoleta.Print " Gral. Emiliano Zapata "
TxtPar1.Text = "" PicBoleta.Print "Matricula : " & matricula
TxtPar2.Text = "" PicBoleta.Print "Nombre : " & nombre
LblPr.Caption = "" PicBoleta.Print "Grupo : " & grupo
LblPu.Caption = "" PicBoleta.Print "Materia : " & materia
LblSi.Caption = "" PicBoleta.Print "PArcial 1 : " & par1
LblPromedio.Visible = False PicBoleta.Print "PArcial 2 : " & par2
LblPuntuacion.Visible = False PicBoleta.Print "Promedio : " & promedio
LblSituacion.Visible = False PicBoleta.Print "Puntuacion : " & LblPu
PicBoleta.Cls PicBoleta.Print "Situacion : " & LblSi
FraDatos.Enabled = True CmdImprimir.Enabled = False
FraCalif.Enabled = False CmdNuevoC.Enabled = True
CmdSalir.Enabled = True CmdNuevoC.SetFocus
CmdImprimir.Enabled = False End Sub
CmdNuevoC.Enabled = False
TxtMatricula.SetFocus
End Sub

Erg221108 Página 99
Programación II Preparatoria Emiliano Zapata

Private Sub CmdEjecutar_Click()


CmdImprimir.Enabled = True
CmdImprimir.SetFocus
par1 = Val(TxtPar1.Text)
par2 = Val(TxtPar2.Text)
promedio = CInt((par1 + par2) / 2)
If par1 < 0 Or par2 < 0 Then
LblPr.Visible = True
LblPu.Visible = True
LblSi.Visible = True
LblPr.Caption = " ERROR "
LblPu.Caption = " DE "
LblSi.Caption = " DATOS "
CmdImprimir.Enabled = False
CmdCancelarCal.SetFocus
Else
LblPromedio.Visible = True
LblPr.Visible = True
LblSituacion.Visible = True
LblSi.Visible = True
If promedio >= 70 Then
LblPr.ForeColor = &HC000&
LblPr.Caption = promedio
LblSi.ForeColor = &HC000&
LblSi.Caption = "APROBADO"
FraCalif.Enabled = False
Else
If promedio >= 0 Then
LblPr.ForeColor = &HFF&
LblPr.Caption = promedio
LblSi.ForeColor = &HFF&
LblSi.Caption = "REPROBADO"
FraCalif.Enabled = False
Else
LblPromedio.Visible = False
LblSituacion.Visible = False
LblPuntuacion.Visible = False
LblPr.Visible = True
LblPu.Visible = True
LblSi.Visible = True
LblPr.Caption = " ERROR "
LblPu.Caption = " DE "
LblSi.Caption = " DATOS "
CmdCancelarCal.SetFocus
End If
End If
If promedio >= 90 And promedio <= 100 Then
LblPu.Visible = True
LblPuntuacion.Visible = True
LblPu.ForeColor = &HC000&
LblPu.Caption = " A "
Else
If promedio >= 80 And promedio <= 89 Then

Erg221108 Página 100


Programación II Preparatoria Emiliano Zapata

LblPu.Visible = True
LblPuntuacion.Visible = True
LblPu.ForeColor = &HC000&
LblPu.Caption = " B "
Else
If promedio >= 70 And promedio <= 79 Then
LblPu.Visible = True
LblPuntuacion.Visible = True
LblPu.ForeColor = &HC000&
LblPu.Caption = " C "
Else
If promedio >= 60 And promedio <= 69 Then
LblPu.Visible = True
LblPuntuacion.Visible = True
LblPu.ForeColor = &HFF&
LblPu.Caption = " D "
Else
If promedio >= 0 Then
LblPu.Visible = True
LblPuntuacion.Visible = True
LblPu.ForeColor = &HFF&
LblPu.Caption = " E "
End If
End If
End If
End If
End If
End If
End Sub

Nota: El nombre del proyecto, Formulario y del archivo ejecutable se deja como responsabilidad del
alumno así como la depuración y corrección de errores.

En Visual Basic Podemos hacer uso de dos controles mas, en los cuales para su uso se
requiere de aplicar condiciones, estos objetos son:
1) Casillas de verificación (CheckBox)
2) Objetos de selección (Option Button)
CheckBox
Option Button

El uso y codificación de estos objetos es sumamente sencillo y se muestra a


continuación su sintaxis.

Option Button
If Option1.Value = True Then
Instrucciones si se encuentra activado el Option1
End if
Erg221108 Página 101
Programación II Preparatoria Emiliano Zapata

CheckBox

If Check1.Value = 1 Then
Instrucciones si se encuentra activado el CheckBox1
Else
Instrucciones si no se encuentra activado el CheckBox1
End If

Por medio de la codificación de otros objetos, se puede verificar si se encuentran


activados los Option Button o los CheckBox con el fin de realizar una serie de instrucciones

Ejemplo: Private Sub Command1_Click()


If Option1.Value = True Then
Text1.Text = "Objeto 1 Activado"
End If
If Option2.Value = True Then
Text1.Text = "Objeto 2 Activado"
End If
End Sub

Nota 1: Se pueden activar varios CheckBox dentro de un mismo formulario aun y cuando se
encuentren en el mismo contenedor.

Nota 2: A diferencia del Choeck Box, si tenemos varios Option Buttom en el mismo contenedor,
solo podremos activar uno.

Erg221108 Página 102


Programación II Preparatoria Emiliano Zapata

Ejemplo 2:

Realizaremos una aplicación para obtener la boleta de pago de los trabajadores de


una fabrica.
Contamos con los siguientes datos.
1. Los trabajadores laboran en dos turnos
2. Las horas extra diurnas es de $ 20.00
3. Las horas extra nocturnas es de $ 25.00
4. Los descuentos se aplican sobre el sueldo base como sigue.
ISPT 10.58 % del sueldo Base
Servicio Medico 4.6 % del Sueldo Base
Pensión 1.02 % del Sueldo Base
Seguro de vida 0.5 % del sueldo Base
Agregar los objetos mostrados en la siguiente imagen.

Erg221108 Página 103


Programación II Preparatoria Emiliano Zapata

Propiedades de los objetos.

Objeto Propiedad Valor Objeto Propiedad Valor


Label1 Name LblTrabajador Option5 Name OptComicsS
Caption Trabajador: Caption Comic Sans
Label2 Name LblSueldoBasico Value False
Caption Sueldo Base Option6 Name OptCurrier
Label3 Name LblHorasExtra Caption Currier
Caption Horas Extra Value False
Label4 Name LblPagoHoraExtra Check1 Name ChkIspt
Caption Pago Hora Extra Caption ISPT
Label5 Name LblSueldoNeto Check2 Name ChkSmed
Caption Sueldo Neto Caption Servicio
Text1 Name TxtTrabajador Medico
Text Check3 Name ChkPension
Tabindex 0 Caption Pensión
Text2 Name TxtSueldoBase Check4 Name ChkSegVid
Text Caption Seguro Vida
Tabindex 1 Check5 Name ChkNegrita
Text3 Name TxtHorasExtra Caption Negrita
Text Check6 Name ChkCursiva
Tabindex 2 Caption Cursiva
Text4 Name TxtPagoHoraExtra Check7 Name ChkSubrrayado
Text Caption Subrayado
Enabled False Check8 Name ChkTachado
Text5 Name TxtIspt Caption Tachado
Text Command1 Name CmdAceptar
Enabled False Caption &Aceptar
Text6 Name TxtSmed
Text Command2 Name CmdLimpiar
Enabled False Caption &Limpiar
Text7 Name TxtPension
Text Command3 Name CmdSalir
Enabled False Caption &Limpiar
Text8 Name TxtSegVid
Text Command4 Name CmdFormato
Enabled False Caption &Formato
Text9 Name TxtSueldoNeto Frame1 Name Fraturno
Text Caption Turno
Enabled False Frame2 Name FraDescuentos
Option1 Name OptDiurno CAption Descuentos
Caption Diurno Frame3 Name FraEstilo
Value False Caption Estilo
Option2 Name OptNocturno Enabled False
Caption Nocturno Frame4 Name FraFuente
Value False Caption Fuente
Option3 Name OptArial Enabled False
Caption Arial Form1 Name FrmBoleta
Value False Caption Boleta de Pago
Option4 Name OptTnr
Caption Time New Roman
Value False

Erg221108 Página 104


Programación II Preparatoria Emiliano Zapata

Nuestro formulario toma el siguiente aspecto.

Codificación de controles.

Private Sub CmdFormato_Click()


Private Sub OptArial_Click()
FraFuente.Enabled = True
If OptArial.Value = True Then
FraEstilo.Enabled = True
TxtTrabajador.FontName = "Arial"
End Sub
TxtSueldoBase.FontName = "Arial"

TxtHorasExtra.FontName = "Arial"

TxtPagoHoraExtra.FontName = "Arial"
Private Sub CmdSalir_Click()
TxtIspt.FontName = "Arial"
End
TxtSmed.FontName = "Arial"
End Sub
TxtPension.FontName = "Arial"
Erg221108 Página 105
TxtSegVid.FontName = "Arial"

TxtSueldoNeto.FontName = "Arial"
Programación II Preparatoria Emiliano Zapata

Private Sub ChkCursiva_Click() Private Sub ChkNegrita_Click()


If ChkCursiva.Value = 1 Then If ChkNegrita.Value = 1 Then
TxtTrabajador.FontItalic = True TxtTrabajador.FontBold = True
TxtSueldoBase.FontItalic = True TxtSueldoBase.FontBold = True
TxtHorasExtra.FontItalic = True TxtHorasExtra.FontBold = True
TxtPagoHoraExtra.FontItalic = True TxtPagoHoraExtra.FontBold = True
TxtIspt.FontItalic = True TxtIspt.FontBold = True
TxtSmed.FontItalic = True TxtSmed.FontBold = True
TxtPension.FontItalic = True TxtPension.FontBold = True
TxtSegVid.FontItalic = True TxtSegVid.FontBold = True
TxtSueldoNeto.FontItalic = True TxtSueldoNeto.FontBold = True
Else Else
TxtTrabajador.FontItalic = False TxtTrabajador.FontBold = False
TxtSueldoBase.FontItalic = False TxtSueldoBase.FontBold = False
TxtHorasExtra.FontItalic = False TxtHorasExtra.FontBold = False
TxtPagoHoraExtra.FontItalic = False TxtPagoHoraExtra.FontBold = False
TxtIspt.FontItalic = False TxtIspt.FontBold = False
TxtSmed.FontItalic = False TxtSmed.FontBold = False
TxtPension.FontItalic = False TxtPension.FontBold = False
TxtSegVid.FontItalic = False TxtSegVid.FontBold = False
TxtSueldoNeto.FontItalic = False TxtSueldoNeto.FontBold = False
End If End If
End Sub End Sub

Private Sub ChkSubrrayado_Click() Private Sub ChkTachado_Click()


If ChkSubrrayado.Value = 1 Then If ChkTachado.Value = 1 Then
TxtTrabajador.FontUnderline = True TxtTrabajador.FontStrikethru = True
TxtSueldoBase.FontUnderline = True TxtSueldoBase.FontStrikethru = True
TxtHorasExtra.FontUnderline = True
TxtHorasExtra.FontStrikethru = True
TxtPagoHoraExtra.FontUnderline = True
TxtIspt.FontUnderline = True
TxtPagoHoraExtra.FontStrikethru = True
TxtSmed.FontUnderline = True TxtIspt.FontStrikethru = True
TxtPension.FontUnderline = True TxtSmed.FontStrikethru = True
TxtSegVid.FontUnderline = True TxtPension.FontStrikethru = True
TxtSueldoNeto.FontUnderline = True TxtSegVid.FontStrikethru = True
Else TxtSueldoNeto.FontStrikethru = True
TxtTrabajador.FontUnderline = False Else
TxtSueldoBase.FontUnderline = False TxtTrabajador.FontStrikethru = False
TxtHorasExtra.FontUnderline = False TxtSueldoBase.FontStrikethru = False
TxtPagoHoraExtra.FontUnderline = False
TxtHorasExtra.FontStrikethru = False
TxtIspt.FontUnderline = False
TxtSmed.FontUnderline = False
TxtPagoHoraExtra.FontStrikethru = False
TxtPension.FontUnderline = False TxtIspt.FontStrikethru = False
TxtSegVid.FontUnderline = False TxtSmed.FontStrikethru = False
TxtSueldoNeto.FontUnderline = False TxtPension.FontStrikethru = False
End If TxtSegVid.FontStrikethru = False
End Sub TxtSueldoNeto.FontStrikethru = False
End If
End Sub

Erg221108 Página 106


Programación II Preparatoria Emiliano Zapata

Private Sub CmdLimpiar_Click() Private Sub OptComicsS_Click()


TxtTrabajador.Text = "" If OptComicsS.Value = True Then
TxtSueldoBase.Text = "" TxtTrabajador.FontName = "Comic Sans Ms"
TxtHorasExtra.Text = "" TxtSueldoBase.FontName = "Comic Sans Ms"
TxtPagoHoraExtra.Text = "" TxtHorasExtra.FontName = "Comic Sans Ms"
TxtIspt.Text = "" TxtPagoHoraExtra.FontName = "Comic Sans Ms"
TxtSmed.Text = "" TxtIspt.FontName = "Comic Sans Ms"
TxtPension.Text = "" TxtSmed.FontName = "Comic Sans Ms"
TxtSegVid.Text = "" TxtPension.FontName = "Comic Sans Ms"
TxtSueldoNeto.Text = "" TxtSegVid.FontName = "Comic Sans Ms"
ChkIspt.Value = 0 TxtSueldoNeto.FontName = "Comic Sans Ms"
ChkSmed.Value = 0 End If
ChkPension.Value = 0 End Sub
ChkSegVid.Value = 0
ChkNegrita.Value = 0
ChkCursiva.Value = 0 Private Sub OptCourier_Click()
ChkSubrrayado.Value = 0 If OptCourier.Value = True Then
ChkTachado.Value = 0 TxtTrabajador.FontName = "Courier"
OptDiurno.Value = False TxtSueldoBase.FontName = "Courier"
OptNocturno.Value = False TxtHorasExtra.FontName = "Courier"
OptArial.Value = False TxtPagoHoraExtra.FontName = "Courier"
OptTnr.Value = False TxtIspt.FontName = "Courier"
OptComicsS.Value = False TxtSmed.FontName = "Courier"
OptCourier.Value = False TxtPension.FontName = "Courier"
TxtTrabajador.SetFocus TxtSegVid.FontName = "Courier"
End Sub TxtSueldoNeto.FontName = "Courier"
End If
End Sub

Private Sub OptTnr_Click()


If OptTnr.Value = True Then
TxtTrabajador.FontName = "Times New Roman"
TxtSueldoBase.FontName = "Times New Roman"
TxtHorasExtra.FontName = "Times New Roman"
TxtPagoHoraExtra.FontName = "Times New Roman"
TxtIspt.FontName = "Times New Roman"
TxtSmed.FontName = "Times New Roman"
TxtPension.FontName = "Times New Roman"
TxtSegVid.FontName = "Times New Roman"
TxtSueldoNeto.FontName = "Times New Roman"
End If
End Sub

Erg221108 Página 107


Programación II Preparatoria Emiliano Zapata

Private Sub CmdAceptar_Click()


Dim sueldoBase As Double
Dim HorasExtra As Integer
Dim PagoHoraExtra As Double
Dim Ispt As Double
Dim Smed As Double
Dim Pension As Double
Dim SegVid As Double
Dim Ingreso As Double
Dim Egreso As Double
Dim SueldoNeto As Double
sueldoBase = Val(TxtSueldoBase.Text)
HorasExtra = Val(TxtHorasExtra.Text)
If OptDiurno.Value = True Then
PagoHoraExtra = 20
End If
If OptNocturno.Value = True Then
PagoHoraExtra = 25
End If
If ChkIspt.Value = 1 Then
Ispt = sueldoBase * 0.1058
Else
Ispt = 0
End If
If ChkSmed.Value = 1 Then
Smed = sueldoBase * 0.046
Else
Smed = 0
End If
If ChkPension.Value = 1 Then
Pension = sueldoBase * 0.0102
Else
Pension = 0
End If
If ChkSegVid.Value = 1 Then
SegVid = sueldoBase * 0.005
Else
SegVid = 0
End If
Ingresos = sueldoBase + (HorasExtra * PagoHoraExtra)
Egresos = Ispt + SegVid + Pension + Smed
SueldoNeto = Ingresos - Egresos
TxtPagoHoraExtra.Text = Str(PagoHoraExtra)
TxtIspt.Text = Str(Ispt)
TxtSmed.Text = Str(Smed)
TxtPension.Text = Str(Pension)
TxtSegVid.Text = Str(SegVid)
TxtSueldoNeto.Text = Str(SueldoNeto)
End Sub

Erg221108 Página 108


Programación II Preparatoria Emiliano Zapata

Nota: Asígnale nombre al formulario y al proyecto y guárdalos en un directorio.

Con la instrucción If podemos hacer que los cuadros de texto ejecuten una acción
como por ejemplo mover el cursor a otro cuadro de texto u otro control cuando
presionamos la tecla Enter.

1. Dar doble Click al TextBox que se requiere activar, Aparecerá en el área de


proyecto lo siguiente.
Private Sub TxtTrabajador_Change()

End Sub

2. Buscar le evento KeyPress de la ventana de proyecto.

3. Agregar la siguiente codificación al objeto.


Private Sub TxtTrabajador_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
TxtSueldoBase.SetFocus
End If
End Sub

Nota: Esta codificación se utiliza solo con los objetos TextBox.

Erg221108 Página 109


Programación II Preparatoria Emiliano Zapata

Sentencia Select Case


La sentencia Select Case resulta ser más sencillo y más rápido que la sentencia If
Then ya que la posibilidad de selección es de más de dos opciones, reduciendo la
posibilidad de utilizar los If anidados. La selección del Select Case es determinada por el
valor de una expresión llamada selector.

Nota: El control ComboBox es un control que requiere del uso de la sentencia Select Case.

Ejemplo de programación con Select Case


Aplicación que acepta fechas con datos separados y por medio de un control nos
permite visualizar la fecha de modo usual.
1. Formulario y objetos que requiere contener.

2. Establecer propiedades.

Objeto Propiedad Valor Objeto Propiedad Valor

Form1 Name FrmFecha Label4 Name LblFecha


Caption Fechas Caption
Label1 Name LblDia
Frame1 Name FraFecha
Caption Día :
Fecha En
Label2 Name LblMes letra

Caption Mes :

Label3 Name LblAño

Caption Año :

Erg221108 Página 110


Programación II Preparatoria Emiliano Zapata

Objeto Propiedad Valor Objeto Propiedad Valor


Text1 Name TxtDia Command1 Name CmdAceptar
Text Caption &Aceptar
TabIndex 0 Tabindex 3
Text2 Name TxtMes Command2 Name CmdLimpiar
Text Caption &Limpiar
TabIndex 1 Tabindex 4
Text3 Name TxtAño Command3 Name CmdSalir
Text Caption &Salir
TabIndex 2 Tabindex 4

3. Ingresar el código siguiente.

Private Sub CmdEjecutar_Click() Private Sub CmdLimpiar_Click()


Dim CadMEs As String TxtDia.Text = ""
Dim Mes As Integer TxtMes.Text = ""
Mes = Val(TxtMes.Text) TxtAño.Text = ""
Select Case Mes LblFecha.Caption = ""
Case 1: CadMEs = "Enero" TxtDia.SetFocus
Case 2: CadMEs = "Febrero" End Sub
Case 3: CadMEs = "Marzo"
Case 4: CadMEs = "Abril" Private Sub CmdSalir_Click()
Case 5: CadMEs = "Mayo" End
Case 6: CadMEs = "Junio" End Sub
Case 7: CadMEs = "Julio"
Case 8: CadMEs = "Agosto" Private Sub TxtAño_KeyPress(KeyAscii As
Case 9: CadMEs = "Septiembre" Integer)
Case 10: CadMEs = "Octubre" If KeyAscii = 13 Then
Case 11: CadMEs = "Noviembre" CmdEjecutar.SetFocus
Case 12: CadMEs = "Diciembre" End If
Case Else End Sub
LblFecha.Caption = "Error de Fecha "
End Select Private Sub TxtDia_KeyPress(KeyAscii As
LblFecha.Caption = TxtDia & " de " & Integer)
CadMEs & " de " & TxtAño If KeyAscii = 13 Then
CmdLimpiar.SetFocus TxtMes.SetFocus
End Sub End If
End Sub

Private Sub TxtMes_KeyPress(KeyAscii As


Integer)
If KeyAscii = 13 Then
TxtAño.SetFocus
End If
End Sub

Erg221108 Página 111


Programación II Preparatoria Emiliano Zapata

Ejemplo Select Case con Combo Box

Realizar una aplicación para una papelería en la cual se podrá seleccionar el producto de
interés.

Propiedades de los objetos

Objeto Propiedad Valor Objeto Propiedad Valor


Form1 Name FrmPapeleria Text1 Name TxtCantidad
Caption Papelería Text
Moveable False TabIndex 0
StartUpPosition 2-Center Combo1 Name CboProducto
Screen Text
Label1 Name LblCantidad TabIndex 1
Caption Cantidad Command1 Name CmdAceptar
Label2 Name LblProducto Caption &Aceptar
Caption Producto TabIndex 2
Label3 Name LblSt Command2 Name CmdTotal
Caption Sub total : $ Caption &Total
Label4 Name LblSubT TabIndex 3
Caption 0.00 Command3 Name CmdDineroA
Label5 Name LblTotal Caption &Dinero
Caption Total : $ Almacenado
Label6 Name LblT TabIndex 4
Caption 0.00 Command4 Name CmdLimpiar
Label7 Name LblAcumulado Caption &Limpiar
Caption Acumulado: $ TabIndex 5
Label8 Name LblAc Command5 Name CmdSalir
CAption 0.00 Caption &Salir
TabIndex 6

Erg221108 Página 112


Programación II Preparatoria Emiliano Zapata

Objeto Propiedad Valor


Frame1 Name FraPedido
Caption Pedido
Frame2 Name FraSt
Caption
Frame3 Name FraT
Caption
Frame4 Name FraAcumulado
Caption
Frame5 Name FraTicket
Caption Ticket

Nuestro formulario toma el aspecto siguiente

Erg221108 Página 113


Programación II Preparatoria Emiliano Zapata

Codificando los objetos

Dim Acum1 As Single Private Sub CmdAceptar_Click()


Dim Acum2 As Single PicTicket.Print TxtCantidad & CboProducto; " $ ";
Dim SubT As Single SubT
End Sub
Private Sub CboProducto_Click()
Dim Cant As Integer Private Sub CmdDineraA_Click()
Cant = Val(TxtCantidad.Text) LblAc.Caption = Acum2
Select Case CboProducto End Sub
Case Is = "Pluma"
SubT = 3.5 * Cant Private Sub CmdLimpiar_Click()
LblSubT.Caption = SubT TxtCantidad.Text = ""
Case Is = "Lapiz" CboProducto.Text = ""
SubT = 3 * Cant LblSubT.Caption = "0.00"
LblSubT.Caption = SubT LblT.Caption = "0.00"
Case Is = "Borrador" LblAc.Caption = "0.00"
SubT = 1.5 * Cant PicTicket.Cls
LblSubT.Caption = SubT Acum1 = 0
Case Is = "Libreta" End Sub
SubT = 11 * Cant
LblSubT.Caption = SubT Private Sub CmdSalir_Click()
Case Is = "Colores" End
SubT = 15 * Cant End Sub
LblSubT.Caption = SubT
End Select Private Sub CmdTotal_Click()
Acum1 = Acum1 + SubT LblT.Caption = Acum1
End Sub PicTicket.Print "____________"
PicTicket.Print "Total $ "; Acum1
Acum2 = Acum2 + Acum1
End Sub

Nota: Queda como práctica para el alumno agregar las propiedades vistas en temas anteriores,
Guardar el formulario y Proyecto en un directorio.

Erg221108 Página 114


Programación II Preparatoria Emiliano Zapata

Manejo de teclado.

Su programa no puede manejar toda la actividad del teclado con controles y cuadros de
entrada. A veces necesita responder a teclas específicas a medida que el usuario las oprime.
Windows pasa eventos de teclado específicos a su aplicación para que se puedan rastrear las
teclas oprimidas. Estos eventos son KeyPress, KeyDown y KeyUp. Estos eventos corresponden a la
combinación de teclas como Alt+G y Mayús+P, además teclas individuales. Puede probar estas
combinaciones de teclas cuando ocurra un evento de teclado.

Después de que su aplicación reciba la entrada del teclado, puede modificarla e ignorar la
tecla presionada si no es una de las teclas esperadas. La prueba de teclas es útil para activar el
cierre de una pantalla desplegable, la validación de entrada e incluso la participación en cierto tipo
de juegos.

Eventos activados por el teclado

El evento KeyPress se activa cuando el usuario presiona cualquier tecla que corresponda a uno
de estos caracteres:

 Letras mayúsculas y minúsculas

 Caracteres numéricos

 Puntuación

 Entrar, Tab y Retroceso

El evento KeyPress prueba la mayor parte de los caracteres ANSI. No los prueba todos (como
el tabulador horizontal, las teclas de flecha y otros caracteres de control que aparecen entre los
valores ANSI. Utilice KeyPress para determinar exactamente cuál tecla presionaron los usuarios.
Por ejemplo, KeyPress devuelve una letra A si los usuarios presionan esa tecla.

Nota: El evento KeyPress se activa cuando se oprime una tecla. Si el usuario mantiene oprimida la tecla, el
evento se activará cuando el teclado repita automáticamente los caracteres.

Como sabe, un evento siempre está asociado con un objeto, como un botón de comando o
el formulario. El evento KeyPress siempre se asocia con cualquier objeto que tenga el enfoque
cuando el usuario presiona la tecla. Si no hay objeto que tenga el enfoque, el evento KeyPress se
asocia con el formulario. (Puede ocurrir una excepción, de acuerdo con la propiedad KeyPreview
que se explica más adelante en la sección “Asignación de prioridades a las respuestas”, en la
lección de hoy.)

Erg221108 Página 115


Programación II Preparatoria Emiliano Zapata

El procedimiento de evento KeyPress siempre contiene un argumento Integer. Por lo


tanto, si escribiera un evento KeyPress para un control TextBox, el procedimiento de evento
podría empezar y terminar así:

Private Sub Texto1_KeyPress (KeyAscii As Integer)


´
´ Aquí va código para probar y responder a lo escrito
´
End Sub

El argumento KeyAscii es un entero que representa el código ANSI o ASCII del carácter que
el usuario presionó. Es posible utilizar la instrucción If o Select Case para ver si el carácter es una
tecla esperada.

Una de las tareas más importantes que puede realizar con KeyPress es alterar el valor de la
tecla oprimida. El evento Keypress ocurre en cuanto los usuarios presionan la tecla y antes de que
un control reciba lo escrito. Normalmente, un control de cuadro de texto despliega de inmediato
cualquier tecla que presionen los usuarios cuando el control de cuadro de texto tiene el enfoque.
Sin embargo, si escribe un procedimiento de evento KeyPress para un control de cuadro de texto,
puede cambiar el valor de la tecla, como se hace con el siguiente código:

Private Sub txtPruebelo_KeyPress (KeyAscii As Integer)


‘ Cambia cualquier A mayúscula por una B mayúscula
If KeyAscii = vKeyA Then ‘ ¿Se oprimió la letra A?
KeyAscii = vbKeyB ‘ Cámbiese por la letra B
End If
End Sub

Si el cuadro de texto llamado txtPruebelo tiene el enfoque, aceptará y desplegará


cualquier tecla que el usuario oprima hasta que presione la letra A mayúscula, que se verifica con
la constante con nombre vbKeyA. La instrucción If cambia el valor de KeyAscii por el de B (vbKeyB)
y en lugar de aparecer una A aparecerá una B en el cuadro de texto porque el evento KeyPress
recibe lo escrito antes de que el cuadro de texto obtenga el valor KeyAscii.

En tanto que KeyPress prueba un amplio rango de teclas, el evento KeyDown es más
específico. KeyDown ocurre cuando los usuarios oprimen una tecla, como KeyPress, pero
KeyDown proporciona una información más detallada (y ligeramente más complicada) de su
teclado. Por ejemplo, KeyPresss devuelve un valor ANSI diferente para la T mayúscula y la t
minúscula. KeyDown devuelve el mismo valor, además de otro valor llamado argumento de estado
que escribe el estado de las teclas Mayús, Ctrl y Alt.

Nota: El evento KeyDown ocurre cada vez que un usuario presiona una tecla. Por lo tanto, los eventos
KeyDown y KeyPress pueden ocurrir al mismo tiempo (suponiendo que el usuario presiona una tecla ANSI).

Erg221108 Página 116


Programación II Preparatoria Emiliano Zapata

Nota: Utilice KeyPress si quiere probar una tecla ANSI, porque KeyPress es más fácil de programar que
KeyDown.

Las siguientes son las líneas envolventes de un procedimiento de evento KeyDown:

Private Sub txtPruebelo_KeyDown (KeyCode As Integer, Shift As Integer)



‘ El controlador para el código del teclado va aquí

End Sub

Introducción a funciones internas

Las funciones son un tipo de procedimiento, que devuelven un valor, después de que
terminan su trabajo al ejecutar su código. Tambien podemos decir que las funciones son
subprogramas que comparten las mismas características que los procedimientos con una
importante diferencia. Las funciones regresan un valor al programa que los llamo, mientras que los
procedimientos Sub únicamente ejecutan instrucciones sin regresar valor alguno.

Las funciones Internas las utilizaremos para realizar tareas de Entrada y salida. Una función
interna trabaja como una caja mágica que toma los valores que usted le envía, y regresa (o
devuelve) un resultado.

Las funciones aceptan cero, uno o más valores y regresan un resultado.


Cero, uno o más argumentos.
Valor 1
Valor 2
Valor 3
Valor 4
Manipula, analiza y calcula
Un resultado
La función

Las funciones pueden ser de dos tipos:


1. Predefinidas (Internas)
2. Definidas por el usuario

Una función interna, a veces llamada función intrínseca, se proporciona con el lenguaje de
Visual Basic y hace un trabajo predeterminado, como un cálculo o un trabajo de entrada/salida.
Debe conocer el nombre de una función interna y sus requisitos antes de que pueda utilizarla.

Erg221108 Página 117


Programación II Preparatoria Emiliano Zapata

Aunque no verá el código de una función interna (las funciones internas son parte del lenguaje de
Visual Basic.
El lenguaje de programación Visual Basic integra una gran cantidad de funciones
predefinidas, listas para ser usadas y además proporcionan la facilidad para crear funciones
personalizadas.

El código de estas funciones esta integrado y se pueden usar directamente. Los valores de
entrada pueden ser constantes, Variables, expresiones numéricas o alfanuméricas. Las
expresiones primero se evalúan para producir el valor de entrada.

Función Regresa Ejemplo


Int(x) El entero menor a x Int(-3.76)=4
Sqr(x) La raíz de x Sqr(2)=1.414
Abs(x) EL valor absoluto de x Abs(-2.5)=2.5
Date(x) La fecha mm/dd/aa 4/22/2009
Len(x) Longitud de la cadena Len(“paso”)=4
Val(x) Valor numérico de la cadena Val(“23.67”)=23.67

Se utiliza el término E/S o I/O genéricamente para referirse a cualquier forma de obtener
datos a partir de un dispositivo (como el teclado) y enviarlos de salida a un dispositivo (como la
pantalla).

Un argumento es un valor que se pasa o envía a una función.

 El nombre de la función siempre tiene un par de paréntesis al final (con la rara excepción
de aquellas funciones que no requieren argumentos).

 Coloque argumentos, separados por comas cuando sea necesario pasar varios de ellos,
dentro de los paréntesis de la función.

A continuación se muestra la línea de código que se puede utilizar para mostrar una imagen en
un control Image.

ImgFeliz . Picture = LoadPicture (“Happy. bmp”)

Nota 1: Muchas funciones requieren uno o más argumentos, pero algunos de ellos son opcionales.
LoadPicture ( ) requiere un solo argumento de cadena, y los argumentos restantes son opcionales.

¿Qué envía este código a LoadPicture ( )?. Una cadena con un nombre de archivo. ¿Qué devuelve
LoadPicture ( )?. La imagen localizada en ese archivo. Esta asignación destina esa imagen a la
propiedad Picture del control de imagen. Sin la función LoadPicture( ), el control de imagen no
podría desplegar la imagen. Un control de imagen requiere una imagen para la propiedad Picture,
no un nombre de archivo (a menos que haya especificado una imagen inicial en tiempo de diseño
en la ventana Propiedades).

Erg221108 Página 118


Programación II Preparatoria Emiliano Zapata

Visual Basic tiene que trabajar mucho cuando se utiliza la función LoadPicture( ). También
debe analizar su lista de argumentos para asegurarse de que ha cumplido con la cantidad y el tipo
de datos de los argumentos requeridos; luego Visual Basic debe asegurarse de que la ruta de
acceso que proporcionó para la imagen es correcta; después debe ver si tiene derecho de acceso a
la red para el archivo (si está conectado en red); y por último, debe cargar el archivo en el control
Image. Por fortuna, Visual Basic proporciona LoadPicture ( )

Erg221108 Página 119


Programación II Preparatoria Emiliano Zapata

UNIDAD IV CONTROL DE CICLOS

Trabajando col bucles u estructuras de repetición.

Bucle For... Next

Una manera de crear un bucle (repetición), es con la sentencia For... Next. Con esto
podemos crear un bucle repitiendo varias operaciones. Para hacer esto, se elige una variable que
actuará como contador de las vueltas del bucle. Cuando alcanza un valor determinado, finalizará el
bucle. Primero se iguala la variable que cuenta las vueltas al número que deseamos comenzar (For
i=0, For i=1, etc. ). Por defecto, la variable que cuenta las vueltas del bucle se incrementa en 1,
pero se puede asignar otro valor de incremento. Este valor se pone después de la palabra Step.

Bucle While

Una de las estructuras de repetición empleada en la programación de algoritmos es While el


cual permite al programador especificar las veces que se repita una acción (una o más sentencias
de programación) mientras una condición se mantenga verdadera.

Estos bucles se utilizan cuando queremos repetir la ejecución de unas sentencias un número
indefinido de veces, siempre que se cumpla una condición. Es más sencillo de comprender que el
bucle FOR, pues no incorpora en la misma línea la inicialización de las variables su condición para
seguir ejecutándose y su actualización.

La sentencia while ejecuta la siguiente serie de pasos. Cada repetición de pasos del 1 al 4 se
denomina repetición del bucle. Al principio de cada repetición se vuelve a probar la condición

La reproducción indefinida suele utilizarse para ejecutar una acción mientras la variable de
contador sea inferior al valor especificado. Al final de cada bucle se incrementa el contador hasta
que se alcanza el valor especificado. En dicho punto, condition ya no es true y finaliza el bucle.

Bucle DO...WHILE

Se utiliza generalmente cuando no sabemos cuantas veces se habrá de ejecutar el bucle,


igual que el bucle WHILE, con la diferencia de que sabemos seguro que el bucle por lo menos se
ejecutará una vez.
Evalúa una condición y, si ésta da como resultado true, ejecuta una sentencia o serie de
sentencias antes de volver a ejecutar el bucle para evaluar la condición nuevamente. Después de
que la condición dé como resultado false, se omite la sentencia o serie de sentencias y finaliza el
bucle.

Erg221108 Página 120


Programación II Preparatoria Emiliano Zapata

Bucle Repeat –Until


La acción de repeat-until es repetir una serie de instrucciones hasta que se cumpla una
determinada condición.
Su formato es:
repeat
<instrucción.1> ;
<instrucción.2> ;
..................
..................
<instrucción.N> ;
until <condición>;

Aquí las palabras repeat y until sirven también como delimitadores de bloque.
Su diagrama de flujo es:

Reglas de funcionamiento:
1. La condición se evalúa al final del bucle, después de ejecutarse todas las sentencias.
2. Si la condición es falsa, se vuelve a repetir el bucle y se ejecutan todas sus instrucciones.
3. Si la condición es falsa, se sale del bucle y se ejecuta la siguiente instrucción a until.
4. La sintaxis no requiere begin y end.

Erg221108 Página 121


Programación II Preparatoria Emiliano Zapata

Ejemplo 1 con For Next

A continuación se muestra el desarrollo de un aplicación para mostrar cualquier tabla de


multiplicar del 1 al 9 y con operaciones del 1 al 10
Al ingresar el número de tabla a mostrar, inmediatamente se mostrara la tabla en el
segundo TextBox.
Objeto Propiedad Valor
Form1 Nombre FrmTabla
Caption Programa Tabla de
multiplicar
Moveable False
StartUpPosition 2. Center Screen
Command1 Nombre CmLimpiar
Caption &Limpiar
Command2 Nombre CmdSalir
Caption &Salir
Text1 Nombre TxtIngrese
Text
TabIndex 0
ToolTipText Ingresa la tabla
a mostrar
Text2 Name TxtTabla
Text
Locked True
Label1 Name LblIngrese
Caption Ingresa el
número de tabla
a mostrar

Nota: Una vez que se han modificado


las propiedades recomendadas en la
tabla anterior, el formulario tomará la
apariencia siguiente y ya estaremos en
condiciones de iniciar con la
codificación de los objetos que se
requieran codificar.

Erg221108 Página 122


Programación II Preparatoria Emiliano Zapata

La codificación de los objetos se muestra a continuación.

Private Sub CmdLimpiar_Click()


TxtIngrese = ""
TxtTAbla = ""
TxtIngrese.SetFocus

End Sub

Private Sub CmdSalir_Click()


End
End Sub

Private Sub TxtIngrese_Change()


If IsNumeric(TxtIngrese) Then
Dim N As Integer, P As Integer, I As Integer
Dim S As String
N = Val(TxtIngrese.Text)
S = ""
For I = 1 To 10
P=N*I
S = S & N & " * " & I & " = " & P & vbCrLf
Next I
TxtTAbla.Text = S
CmdLimpiar.SetFocus
ElseIf TxtIngrese = "" Then
Exit Sub
Else: MsgBox "Ingrese un número ", vbCritical, "Mensaje"
TxtIngrese = ""
TxtIngrese.SetFocus
End If
End Sub

Ejecuta y guarda el proyecto.

Erg221108 Página 123


Programación II Preparatoria Emiliano Zapata

Ejemplo 2 con For Next

Realizáremos una aplicación más, utilizando un bucle For next, Esta aplicación realizará lo
siguiente.
Al dar Click en el botón se mostrara el progreso de un Objeto llamado Progres Bar y a la
vez en una etiqueta se mostra el porciento de avance del progres Bar.

Para realizar esta aplicación requerimos de los siguientes objetos.


1 form, 1 Label, 1 Command, 1 ProgresBar

Nota: el Objeto progres Bar hay que agregarlo de la barra de componentes como se mostro en un
ejercicio anterior.

Al ingresar los controles nuestro formulario se vera como el que se muestra a continuación.

Una vez ingresados los controles pasaremos a dar las propiedades que se muestran en la siguiente
tabla.
Objeto Propiedad Valor
Form1 Nombre FrmBarra
Caption Progreso
Moveable False
StartUpPosition 2. Center Screen
Command1 Nombre CmIniciar
Caption &iniciar
Label1 Nombre LblPorciento
Caption

Erg221108 Página 124


Programación II Preparatoria Emiliano Zapata

Por ultimo realizaremos la codificación de los objetos que lo requieran.

Private Sub CmdIniciar_Click()


'Establecer un valor para el maximo
ProgressBar1.Max = 500000
For i = 0 To ProgressBar1.Max
'Valor actual del progressBar1
ProgressBar1.Value = i
'Visualizar el porcentaje en el Label1
LblPorciento = CLng((ProgressBar1.Value * 100) / ProgressBar1.Max) & " %"
'Utilizar DoEvents para visualizar el conteo en el Label1
DoEvents
'Asignar a la propiedad Value del ProgressBar1 el valor de x
Next i
End
End Sub

Ejecuta el proyecto y observa su funcionamiento.

Erg221108 Página 125


Programación II Preparatoria Emiliano Zapata

MENSAJES DE TEXTO

Función MsgBox ( )

La función MsgBox ( ) es una función que produce un cuadro de mensaje. En la figura


siguiente figura se muestra un cuadro de mensaje. Como puede ver, despliega un icono y un
mensaje junto con dos botones de comando, por lo menos. Éste le da al usuario una oportunidad
de leer el mensaje en el cuadro y hacer clic en el botón de comando.

Un cuadro de mensaje es un pequeño


cuadro de diálogo que se utiliza para mostrar
información súbita durante la ejecución de un
programa. El usuario puede cerrar el cuadro de
mensaje si hace clic en el botón de comando, y
también moverlo, pero no puede cambiar su
tamaño.

Con los argumentos que proporcione a la función MsgBox ( ) se determinará cuál icono se
despliega, cuál es el mensaje y el número y tipo de botones de comando que aparecerán. Por lo
tanto, el programador controla exactamente la manera como aparece el cuadro de mensaje ante
el usuario. Cuando MsgBox ( ) se completa, devuelve un valor que especifica en cuál botón de
comando hizo clic el usuario. Por lo tanto, su programa puede verificar el valor devuelto si la
función MsgBox ( ) despliega dos botones de comando. Entonces el programa puede utilizar una
instrucción If para determinar el mejor curso de acción con base en la sección del usuario.

Nota: La función MsgBox ( ) despliega un mensaje y le permite al usuario responder cuando lo termina de
leer.

Sintaxis:
Respuesta= MsgBox(“ Mensaje ”, Estilo + Icono, “Titulo”)

Este formato muestra dos argumentos opcionales, Estilo y Título. Como puede ver, una
función MsgBox ( ) requerirá de un argumento de cadena y, opcionalmente, uno entero y otro de
cadena, de acuerdo al tipo de cuadro de mensaje que desee que aparezca. Respuesta también es
opcional si utiliza a MsgBox por sí solo. Advierta que, de hacer esto último, tampoco deberá incluir
los paréntesis.

Respuesta indica el tipo de datos que devuelve la función. El primer argumento es una
cadena (o variable o control que contiene una cadena) que se despliega como mensaje del cuadro
de mensaje. El segundo argumento determina el tipo de botones que aparecen, así como el icono
y algunas otras características que determinan el comportamiento del cuadro de mensaje. El
último argumento determina el texto que aparece en la barra de título del cuadro de mensaje.

Erg221108 Página 126


Programación II Preparatoria Emiliano Zapata

Todos los cuadros de mensaje despliegan un botón de comando, su programa en


ejecución debe saber cuándo ha terminado de leer el cuadro de mensaje su usuario. La ejecución
del programa se detiene temporalmente hasta que el usuario hace clic en uno de los botones de
comando del cuadro de mensaje. En cuanto el usuario hace clic en el botón de comando, el
programa continuará su ejercicio en la instrucción que sigue a esta función.

Nota: Si despliega una cadena de mensaje demasiado larga para que ocupe una sola línea del cuadro de
mensaje, Visual Basic la dividirá en dos o más líneas. También se encarga de la división apropiada de las
palabras.

Suponga que necesita esperar la respuesta del usuario antes de imprimir un informe. Puede hacer
que se muestre el siguiente cuadro de mensaje, que es muy sencillo:

Respuesta = MsgBox (“Haga clic cuando esté listo para imprimir el informe”)

Tendría que declarar la variable llamada Respuesta en algún lugar de la sección de


declaraciones del procedimiento (o posiblemente en la sección de declaraciones del módulo,
aunque ya sabe que no hay que declarar demasiadas variables públicas). Si no se especifica el
argumento de la segunda función, que se omitió aquí, Visual Basic desplegará un botón de
comando con la palabra Aceptar donde el usuario puede hacer clic cuando lo desee. Dado que
esta instrucción contiene un MsgBox ( ) que sólo despliega un botón de comando, la asignación
Integer no le ayuda demasiado. Por ello, podría haber escrito algo como MsgBox “Haga clic cuando
este listo para imprimir el informe” y el resultado sería el mismo.

Tome en cuenta que si no especifica todos los argumentos de MsgBox ( ) Visual Basic hace
algo más: utiliza el título del proyecto como barra de título del cuadro de mensaje. Por lo tanto,
casi siempre querrá asignar un mejor nombre en la barra de título, por lo que podrá hacer después
de que aprenda acerca del primer argumento opcional.

Si desea tener más control sobre los botones puede utilizar un valor Integer (o una
variable) en el primer argumento opcional, para especificar el estilo de los botones. Si sólo hay un
botón, el valor que devuelva no es de gran importancia. Si hay más de un botón de comando, el
valor que se devuelva contendrá un valor que corresponda al botón de comando donde se hizo
clic. Pude utilizar esta información en una instrucción If o Select Case para ejecutar uno de los dos
conjuntos de código que corresponde a uno de los botones.
En la siguiente tabla se presenta una lista de los valores enteros de estilo de botón que
puede utilizar para el primer argumento opcional de la función MsgBox ( ).

Valor Constantes con nombre Descripción

Erg221108 Página 127


Programación II Preparatoria Emiliano Zapata

Ø vbOKOnly Botón Aceptar


1 vbOKCancel Botones Aceptar y Cancelar
2 vbAbortRetryIgnore Botones Anular, Reintentar e Ignorar
3 vbYesNoCancel Botones Sí, No y Cancelar
4 vbYesNo Botones Sí y No
5 vbRetryCancel Botones Reintentar y Cancelar

En la siguiente tabla se presenta una lista de los posibles valores devueltos a partir de la
función MsgBox ( ). Por lo tanto, la siguiente podría ser la instrucción If que maneje el cuadro de
mensaje anterior:

If (Respuesta = Ø) Then
‘Aquí va el código que maneje
‘el clic del botón Aceptar
Else
‘Aquí va el código que maneje
‘el clic del botón Cancelar
End If

Valores de devolución para determinar en cual botón de comando hizo clic el usuario.

Valor Constantes con nombre Descripción

1 vbOK El usuario hizo clic en Aceptar

2 vbCancel El usuario hizo clic en Cancelar

3 vbAbort El usuario hizo clic en Abortar

4 vbRetry El usuario hizo clic en Reintentar

5 vbIgnore El usuario hizo clic en Ignorar

6 vbYes El usuario hizo clic en Sí

7 vbNo El usuario hizo clic en No


Nota: Por supuesto, si el cuadro de mensaje desplegó otros botones de comando, la instrucción If tendría
que revisar valores adicionales, o posiblemente escribir una instrucción Select Case para manejar tales
valores.

Nota: Si el usuario presiona Esc en el cuadro de mensaje, Visual Basic responderá como si el usuario
hubiera hecho clic en el botón Cancelar y devolverá el valor apropiado.

Erg221108 Página 128


Programación II Preparatoria Emiliano Zapata

Sin importar cuántos botones de comando despliegue en un cuadro de mensaje, el usuario


sólo puede hacer clic en uno. En cuanto el usuario haga clic en cualquier de los botones del cuadro
de mensaje, éste desaparecerá y el valor devuelto será el del botón en donde se hizo clic.

Uso de constantes con nombre


Visual Basic da soporte a cientos de constantes con nombre que se pueden utilizar en
cualquier procedimiento en lugar de utilizar literales.

Una constante con nombre es un identificador dado a un valor literal. Las constantes con
nombre de Visual Basic por lo general empiezan con el prefijo vb. No se puede cambiar el valor de
las constantes con nombre (por eso son constantes) como lo hace con el valor de las variables que
declara, pero puede utilizar las constantes con nombre en listas de argumentos de función y en
cualquier otro lugar donde vaya una literal.

Las constantes con nombre hacen más legibles y comprensibles sus programas. Por ejemplo, cada
una de las siguientes instrucciones son idénticas pero en la segunda instrucción, el botón de
comando que aparece es obvio:

Respuesta = MsgBox (“¿Listo para imprimir?”, 1)


Respuesta = MsgBox (“¿Listo para imprimir?”, vbOKCancel)

No es necesario que memorice todas las constantes con nombre. El editor de Visual Basic
despliega una lista de constantes con nombre relacionada con la función que se escribe, como en
MsgBox ( ).

Especificación del icono

Al añadir un valor adicional al segundo argumento se especifica el icono que aparecerá en


el cuadro de mensaje. Hasta ahora en esta lección, el código del cuadro de mensaje no tiene
especificada esta parte del argumento, de modo que los cuadros de mensaje no han presentado
iconos.

En esta tabla se muestran los Valores para mostrar un icono en el cuadro de mensaje.

Valor Constante con un nombre Descripción Icono

16 vbCritical Icono de mensaje crítico

32 vbQuestion Icono de signo de interrogación

Erg221108 Página 129


Programación II Preparatoria Emiliano Zapata

48 vbExclamation Mensaje de advertencia

64 vbInformation Mensaje de información

A partir de lo que ha visto, la siguiente instrucción produce un cuadro de mensaje


completo que despliega todos los elementos porque están especificados todos los argumentos.
Respuesta = MsgBox (“¿Está encendida la impresora?”, vbYesNoCancel + vbQuestion +
vbDefaultButton2, “Cuadro de pregunta”)

Ejemplo No. 1

Para el siguiente ejemplo se requiere de un formulario y dos Command Button. Al dar Click
al segundo command se cerrara la aplicación y al dar click al primer Command este mostrará un
mensaje que dirá Ejemplo de MsgBox junto con un botón Aceptar y un icono de una I la cual
indicará que lo que se muestra se trata de una información.

Formulario con los objetos requeridos para


la aplicación.

Objeto Propiedad Valor Tabla de propiedades del


Form1 Nombre FrmEjemplo formulario.
Caption Ejemplo de MsgBox
Moveable False
StartUpPosition 2. Center Screen
Command1 Nombre CmdMostrar
Caption &Mostrar mensaje
Command2| Nombre CmdSalir
Caption &Salir

Erg221108 Página 130


Programación II Preparatoria Emiliano Zapata

Formulario con los objetos requeridos


una vez ya modificadas sus
propiedades.

Codificación de los controles de la aplicación.

Private Sub CmdMostrar_Click()

MsgBox "Ejemplo de Msg Box ", vbOKOnly + vbInformation, "Mensaje # 1"

End Sub

Private Sub CmdSalir_Click()

End

End Sub

Resultado al ejecutar la aplicación.

Interfaz ya terminada y
ejecutada.

Erg221108 Página 131


Programación II Preparatoria Emiliano Zapata

Ejemplo 2

Ahora realizáremos una aplicación más, que contenga los siguientes controles:
1 frame, 1 textBox, 1CommandButton, el formulario con sus controles debe de tomar la siguiente
forma.

Objeto Propiedad Valor


Form1 Nombre FrmUsuario
Caption Desarrolladores
S.A.
Moveable False
StartUpPosition 2. Center
Screen
Command1 Nombre CmdSalir
Caption &Salir
Text1 Nombre TxtUsuario
Text
TabIndex 0
PasswordChart *
Frame1 Nombre FraUsuario
Caption Usuario

Una vez modificadas las propiedades nuestra interfaz tomará la apariencia siguiente.

Siguiendo con los pasos para realizar programas en Visual Basic, nos corresponde ahora
realizar la codificación de los objetos que requieran ser codificados.

En esta aplicación al introducir el Nombre del usuario, si se teclea el nombre de Eder


(Exactamente como se ha mostrado) mostrara un mensaje de usuario aceptado y en caso de
introducir como nombre de usuario cualquier otro nombre la aplicación mandara un mensaje de
error y volverá a pedir el nombre del usuario hasta que se introduzca el usuario correcto o se pulse
el botón Salir.

Erg221108 Página 132


Programación II Preparatoria Emiliano Zapata

Private Sub CmdSalir_Click()


Dim R As Integer
R = MsgBox("Salir del sistema", vbOKCancel + vbQuestion, "Mensaje Importante")
If R = 1 Then
End
End If
End Sub

Private Sub TxtUsuario_KeyPress(KeyAscii As Integer)


Dim Usauario As String
Dim Usua As String
Usua = "Entrar"
Usuario = TxtUsuario.Text
If KeyAscii = 13 Then
If Usuario = Usua Then
MsgBox "Usuario Aceptado ", vbOKOnly + vbInformation, "Mensaje # 2"
End
Else
MsgBox "Usuario NO ACEPTADO ", vbOKOnly + vbInformation, "Mensaje # 2"
TxtUsuario.Text = ""
TxtUsuario.SetFocus
End If
End If
End Sub

Una vez realizada la codificación ejecuta la aplicación para observar el funcionamiento.

Nota: Investiga y explica la función de cada instrucción y renglón en el código mostrado de la


aplicación anterior.

Erg221108 Página 133

También podría gustarte