Está en la página 1de 42

Telemática Universidad de Colima

Memoria
Programación
VisualBasic 6

Materia: Programación VisualBasic 6


Profesor: MC. Juan José Contreras Castillo

Alumno Mario Alberto Zaizar Blanco

1
Acerca de.
Introducción.
En esta memoria podrás encontrar información útil, explicada de una manera muy clara y
sencilla de entender; En si contiene los apuntes de clase que se tomaron en la materia de
Programación en VisualBasic, del tercer semestre de la Facultad de Telemática de la
Universidad de Colima (México).

Contiene en su mayoría ejemplos, teoría e investigaciones revisadas, etc. La información es


tomada personalmente en clase a lo largo de este semestre que se acaba, etc. Toda la
información de esta memoria puede utilizarse si se desea. Siéntete libre de copiarla y
modificarla ó mejorarla, solo te pido que si al final le des crédito a el autor, y si puedes
menciones el origen de la información, gracias.

Atte: Mario Alberto Zaizar Blanco.


Diciembre 2002

Nota Importante:
Toda la información en esta pagina puede utilizarse si se desea.
sientete libre de copiarla y modificarla, mejorarla.
Solo te pido que si al final le des crédito a el autor, y si puedes
menciones el origen de la información, eso es todo.
Gracias, atte.:

Mario Alberto Zaizar Blanco


mariozaizar@hotmail.com
Colima, Colima el 18 de Diciembre del 2002

2
Teoría y Apuntes.
La programación y su entorno:
No siempre aprender a programar los conducirá a solucionar sus problemas de
información, simplemente automatizar tareas y estas pueden constituir en sí mismas una
solución a un problema. En conclusión, la programación no es una actividad aislada que
produzca resultados por si misma, la programación es una de las muchas tareas que se
deben de realizar al desarrollar una aplicación.

Análisis:
Se observa detenidamente la situación, con el fin de determinar que
aplicación se quiere desarrollar. Se delimitan los problemas o se
identifican áreas de oportunidad sobre las que hay que trabajar y se
procede a la etapa de diseño.

Diseño:
Se define de manera sistemática y estructurada la forma en que se ha
de llevar a cabo el desarrollo. En el diseño se definen las vistas de la
aplicación, así como su comportamiento y sus restricciones.

Programación:
Se diseña y codifica la aplicación de manera que haya la mínima
cantidad de errores y que contenga lo que está definido en el diseño.

Pruebas:
Se ejecuta su aplicación en todas sus variantes a efecto de
determinar si cumple con lo estipulado en el diseño y se comprueba
que la misma satisfaga los requerimientos determinados en la fase de
análisis. En caso de errores o funcionamiento equivocados, Es
necesario volver sobre las fases anteriores a fin de aislar el problema
y corregirlo.

Fase Radio de Costo


Requerimientos 1
Diseño 3–6
Codificación 10
Prueba de desarrollo 15 – 40
Prueba de 30 – 70
Aceptación
Operación 40 - 1000

3
Técnicas de mantenimiento:
Reingeniería:
La reingeniería de software realiza un análisis de los programas y
hace las modificaciones. Pertinentes. Esto lo hace abreviando el
código para que este sea más rápido y eficiente, mediante
modificaciones del código fuente de programas.

Retroingeniería:
Este concepto va mas enfocado al diseño del programa (código). Es
necesario tener los procedimientos estructurados y documentados
para sí se intenta hacer una modificación del Programa, éste se
encuentre más rápido sin necesidad de alterar el código.

Reestructuración:
La reestructuración hace que el software sea más sencillo de depurar.
Hace modificaciones en los diseños de módulos en estructura de
datos para mejorarlo y hacerlo más adecuado sí más adelante se
desea realizar un cambio.

Tipo de Datos:
El tipo de datos de una variable establece el número de valores que ésta puede tener, así
como el conjunto de operaciones en las que puede tomar parte como operando. En Visual
Basic dicho tipo de datos se especifica al declarar la variable de forma que se guarda
espacio en memoria para poder almacenar los valores de dicho tipo de datos. Es importante
indicar el tipo de datos ya que no todos tienen la misma representación en memoria,
ocupando distinto espacio físico.

Visual Basic de forma predeterminada, a no ser que se indique el tipo de datos, establece el
tipo Variant para todas las variables. Así, al utilizar una instrucción como Dim
NombreVarialbe, se especifica implícitamente el tipo Variant para dicha variable. El tipo
Variant es un tipo especial de datos que puede contener cualquier clase de datos excepto
cadenas de longitud fija y tipos definidos por el usuario. Al utilizar variables de este tipo, no
hay que preocuparse de efectuar conversiones entre tipos para utilizarlas en distintos
contextos. Las variables de tipo Variant son muy flexibles, pero ocupan mucha memoria y
disminución de la velocidad. Veamos lo siguientes tipos de variables:

Tipo de datos Tamaño


Entero (Integer) 2 bytes
Entero Largo (Long) 4 bytes
Simple (Single) 4 bytes
Doble (Double) 8 bytes
Moneda (Currency) 8 bytes
Cadena de caracteres 1 byte por caracter
(String)
Byte 1 byte

4
Booleano (Boolean) 2 bytes
Fecha (Date) 8 bytes
Objeto (Object) 4 bytes
Variant 16 bytes + 1 byte por cada
caracter

Tipo de Datos Primitivos:


Carácter de
Tipo Descripción
declaración
Boolean Binario True o False
Byte Entero corto 0 a 255
Integer Entero (2 bytes) -32768 a 32767
-2147483648 a
Long Entero largo (4 bytes)
2147483647
Single Real simple precisión (4 bytes ) -3.40E+38 a 3.40E+38
-1.79D+308 a
Double Real doble precisión ( 8 bytes)
1.79D+308
Currency Número con punto decimal fijo (8 bytes) -9.22E+14 a 9.22E+14
Cadena de caracteres (4 bytes +
String 1Cadena de caracteres (4 bytes + 0 a 65500 caracteres.
1byte/car hasta 64 K)
1 de enero de 100 a
31 de diciembre de
9999. Indica también
Date Fecha (8 bytes)
la hora, desde
0:00:00
a 23:59:59.
Fecha/hora; números enteros, reales, o
caracteres (16 bytes + 1 byte/car. en
cadenas de caracteres) ninguno F/h:
como Date
números: mismo rango que el tipo de
Variant .
valor almacenado
User-defined Cualquier tipo de dato o
estructura de
datos. Se crean utilizando la sentencia
Type (Ver Apartado 3.10)

Variables:
Una variable es una ubicación temporal de memoria donde se almacenan datos que
interesan retener durante la ejecución de la aplicación. Las variables pueden contener texto,
valores numéricos, fechas o propiedades de cierto objeto. Es una forma de dar nombre a
una porción de datos con la que deseamos trabajar en nuestro programa. Las variables se
caracterizan por un nombre que las identifica y por un tipo de datos, que establece el
conjunto de valores posibles que pueden contener y operaciones en las que puede
participar. El valor de una variable puede cambiar a lo largo de la vida de ésta. Es necesario
declarar las variables para poder utilizarlas en el programa. En Visual Basic no es
obligatorio pero si recomendable. Al declarar una variable se reserva memoria para ella y se
indica qué valores puede contener a través de su tipo de datos. Para establecer la

5
declaración de una variable antes de ser utilizada en el código, puedes hacerlo en la ficha
entorno del cuadro de diálogo opciones.

Al activar la casilla Declaración de las variables requerida, Visual Basic introduce la


instrucción Option Explicit en la sección de declaraciones de cada módulo nuevo que se
cree, no de los ya existentes donde tienes que introducirlos manualmente. Esta instrucción
obliga a declarar las variables antes de utilizarlas, lo que es muy recomendable. El uso de
las variables puede hacer que la aplicación sea más rápida, por ejemplo, si usas muchas
veces un determinado valor, es aconsejable guardarlo en una variable y utilizarla cuando se
necesite que tener que volver a escribir código cada vez que quieras llamarla. Es más
rápido el acceso a las variables que a una propiedad de un objeto, por lo que también es
aconsejable guardar el valor de una propiedad en una variable.

 Las variables se declaran mediante las instrucciones Dim, Public, Private,..., el


formato completo es: Dim [WithEvents] nombre_variable[([subíndices])] [As [New]
tipo] [,. . .]
 Las variables pueden ser de los distintos intrínsecos de VB, de registros, de objetos
VB, de objetos ActiveX. Ejemplo: Dim nombre_variable As tipo [, . . .]

La forma de declara una variable es a través de la instrucción Dim. En la línea se declara la


variable de nombre Variable y al mismo tiempo Visual Basic guarda espacio en memoria
para poder utilizarla. En la segunda línea ya se utiliza la variable. En este caso sirve para
guardar el valor que existe en un cuadro de texto llamado txtEntrada (representado por la
propiedad Text). En la tercera línea se hace justo lo contrario, se utiliza la variable "Variable"
para establecer el valor de la propiedad Text del cuado de texto txtSalida.

Constantes:
Cuando un valor se repite frecuentemente es interesante guardarlo en una variable. Las
constantes son semejantes a las variables, pero su valor no puede cambiar a lo largo de la
aplicación. Para utilizar una constante hay que declararla previamente. La forma de
declararla es a través de la instrucción: Const NombreConstante = Expresión

Donde la expresión será un valor literal o un conjunto de palabras que se evalúen a un valor
válido. Las constantes pueden ser usadas en cualquier punto en lugar de su valor,
permitiendo cambiarlo cuando sea necesario, sin tener que cambiarlo en todos los sitios en
que se utiliza. La expresión no puede utilizar llamadas a funciones, pues la constante se
calcula en tiempo de compilación, no en tiempo de ejecución.

Formatos:
Nombre del Descripción
Formato
General Number Muestra los números sin separador de millares
Currency Muestra los números con separador de millares, si
procede; muestra dos dígitos a la derecha del
separador decimal. El resultado se basa en los valores
del sistema del usuario
Fixed Muestra al menos un dígito a la izquierda y dos dígitos
a la derecha del separador decimal

6
Standard Muestra los números con separador de millares, al
menos un dígito a la izquierda y dos dígitos a la
derecha.
Percent Multiplica el valor por 100 con un signo de porcentaje
al final.
Scientific Utiliza la notación científica estándar.
General Date Muestra la fecha y la hora si Dato A Formatear contiene
ambas. Si Dato A Formatear sólo es una fecha o una
hora, no presenta la información que falta. La
presentación de la fecha está determinada por los
valores del sistema del usuario.
Long Date Utiliza el formato fecha larga especificado por los
valores del sistema del usuario
Médium Date Utiliza el formato dd-mmmm-aa.
Short Date Utiliza el formato fecha corta especificados por los
valores del sistema del usuario
Long Time Muestra la hora según el formato de hora larga del
sistema del usuario
Médium Time Muestra la hora y los minutos y AM y PM.
Short Time Muestra la hora y los minutos.
Yes/No Cualquier valor numérico distinto de cero(-1)es YES.
Cero es NO
Trae/False Cualquier valor numérico distinto de cero(-1)es TRUE.
Cero es FALSE
On/Off Cualquier valor numérico distinto de cero(-1)es ON.
Cero es OFF
> Cambia a mayúsculas
< Cambia a minúsculas

Operadores aritméticos
Que soportan las operaciones matemáticas más sencillas.

Operador Operación que realiza


+ Suma / Concatenación de cadenas de caracteres
- Resta
* Multiplicación
/ División
\ División entera
Mod Resto de la división entera
^ Exponenciación
& Concatenación de cadena de caracteres

Operadores de comparación:
Para realizar comparaciones, Visual Basic posee los siguientes operadores:

Operador Descripción
> El operador mayor que devuelve True si el valor a su
izquierda es numérica o alfabéticamente mayor que
el que está a su derecha.
< El operador menor que devuelve True si el valor a su

7
izquierda es numérica o alfabéticamente menor que
el que está a su derecha.
= El operador igual (o de igualdad) devuelve True si
los valores comparados son iguales.
>= El operador igual o mayor que devuelve True si el
valor a su izquierda es numérica o alfabéticamente
igual o mayor que el que está a su derecha.
<= El operador menor o igual que devuelve True si el
valor a su izquierda es numérica o alfabéticamente
menor o igual que el que está a su derecha.
<> El operador distinto de devuelve True si el valor a su
izquierda es numérica o alfabéticamente distinto que
el que está a su derecha.

Operadores Lógicos:
Los operadores lógicos se utilizan sobre expresiones booleanas y nos devuelven un valor
booleano (verdadero o falso) resultado de esa operación. Un matiz sería que no es
necesario que los operandos relacionados en el cálculo sean variables booleanas, pudiendo
ser de cualquier tipo. Ejemplos AND, OR, NOT, XOR.

Estructuras de Control
Las estructuras de control nos permiten realizar acciones típicas en nuestros scripts como
lo pueden ser los bucles o la toma de decisiones. VB tiene las estructuras de control típicas
de los lenguajes de programación, veamos la sintaxis y la manera de trabajar de estas
estructuras:

IF:
La estructura de control IF permite decidir entre dos opciones
resultantes de la evaluación de una sentencia. Si la evaluación es
positiva hace una cosa, también podemos especificar acciones para
realizar en caso de que la evaluación sea negativa. Se pueden colocar
todas las sentencias de código que queramos en cada uno de los
bloques de sentencias, siempre que cada sentencia vaya en una línea
distinta

Case:
Con la estructurad de control CASE podemos evaluar una variable y
realizar acciones dependiendo del valor de esta. La diferencia con el
IF consiste en que el número de posibilidades de la evaluación de
esta variable no tiene por que ser si o no, pudiendo hacer cosas para
un número indeterminado de valores.

8
Ciclos o Bucles:

For:
La sentencia FOR se utiliza para los bucles, cuando sabemos el
número de veces que debemos ejecutar el bucle. Existe un valor que
sirve para indicar lo grandes que se desean realizar los saltos entre
ejecución y ejecución, es el valor STEP. Un STEP 2 determinaría que
entre ejecución y ejecución la variable se ha de incrementar en 2
unidades. En el caso de no indicar nada se realizan pasos de 1 en 1.
También podemos realizar pasos en valores negativos. Por ejemplo:

For Each:
La estructura de control FOR EACH sirve para moverse por los
elementos de una estructura de datos, como podría ser un vector, y
realizar acciones para cada una de los elementos.

While y wend:
El bucle WHILE...WEND sirve para realizar un tipo de bucle muy
utilizado en programación que es el bucle Mientras, que se ejecuta
mientras que se cumpla una condición. A diferencia del bucle FOR,
éste se utiliza cuando no conocemos el número de iteraciones que
tenemos que realizar.

Do y loop:
El bucle DO...LOOP es muy versátil. Con el se pueden crear gran
variedad de bucles distintos, bucles que comprueben una condición
antes de ejecutar el bucle una vez, después de la primera ejecución y
con combinaciones con mientras (WHILE) que se cumple una
condición o hasta (UNTIL) que esa condición se cumpla.

Procedimientos y Funciones:
Un procedimiento es una secuencia de instrucciones que se ejecuta como una unidad, a
petición, bajo un nombre que identifica dicha secuencia. Por sí mismos, los procedimientos
no constituyen un programa formal, si no que operan a manera de soporte respecto a un
programa que lo llama.

 Los Procedimientos pueden tener los siguientes comportamientos:


 No utilizan argumentos, no devuelven valores.
 No utilizan argumentos, devuelven valores.
 Utilizan argumentos, no devuelven valores.
 Utilizan argumentos, devuelven valores.

9
Los Argumentos, también llamados parámetros son aquellas expresiones que se le
proporcionan a un procedimiento o instrucción para que realice una determinada tarea con
base en ellos. En otras palabras, el resultado de la ejecución de un procedimiento depende
de los argumentos que se le proporcione. A los procedimientos que devuelven valores,
utilicen o no argumentos, por lo general se les llaman Funciones.

Recomendaciones:
1. Define de manera precisa que quiere hacer con el procedimiento.
2. Determine si el resultado que requiere de un valor desconocido en tiempo de diseño.
3. En caso de que en tiempo de diseño dependa de valores desconocidos, determine
cuantos valores necesitará y de qué tipo.
4. Determine si el resultado esperado es obtener un valor o realizar una tarea.
5. Determine si el procedimiento es útil para uno o varios módulos.
6. Determine un nombre descriptivo para su procedimiento; debe ser un nombre válido
y que no cause conflicto con palabras reservadas y funciones ya existentes en VB.
El nombre debe comenzar con una letra, no debe contener espacios, ni caracteres
reservados y no debe exceder los 255 caracteres.

Procedimientos que no utilizan argumentos, no devuelven valores.


Son las categorías más simples de los procedimientos y se conocen
como subrutinas. Tienen por objeto separar el código con el fin de
obtener mayor modularidad. Este tipo de procedimientos es muy útil
para la reutilización de código cuando una cosa se hace repetidas
veces.

Procedimientos que no utilizan argumentos, devuelven valores.


Es el tipo de procedimientos, como parte de la tarea que realizan,
generan un valor de interés para los procesos que han de ser
desarrollados posteriormente por la aplicación. Por el hecho de
devolver valor comúnmente se les conoce como funciones.

Procedimientos que no utilizan argumentos, no devuelven valores.


Es el tipo de procedimientos que, como parte de la tarea que realizan,
generan o no un valor de interés para los procesos que han de ser
desarrollados posteriormente por la aplicación, pero que la tarea que
desempeñan depende de un valor desconocido cambiante que varía
según se requiera y que es proporcionado en forma de argumento.

Funciones:
Las Funciones son aquellas estructuras de lenguaje que permiten obtener un dato que
necesitamos, ya sea porque el sistema lo posee o bien porque le proporcionamos un dato
de entrada (argumento, llamado en ocasiones parámetro), para que siendo sometido a un
proceso determinado, derive en un resultado.

Las Funciones pueden ser implícitas, es decir, formar parte de Visual Basic o bien
funciones definidas por el usuario, algunas funciones no requieren argumento, como es el
caso de NOW. Los grupos de funciones implícitas son:

1. Funciones de fecha y hora


2. Funciones de Manipulación de Cadenas

10
3. Funciones Matemáticas

Ejercicios.
Mes: Septiembre
Ejercicio 03/SEP/2002:
Propiedades de Visual Basic.

Codigo:
Private Sub Command1_Click()
If et1.Alignment = 0 Then
et1.Alignment = 1
Else
et1.Alignment = 0
End If
End Sub

Private Sub Command2_Click()


If et1.Caption = "Cambio el texto" Then
et1.Caption = "Nuestra primera etiqueta"
Else

11
et1.Caption = "Cambio el texto"
End If
End Sub

Private Sub Command3_Click()


Unload Me 'descarga la forma de la memoria
End 'finaliza el programa
End Sub

Private Sub Command4_Click()


C1.Top = C1.Top - 100
End Sub

Private Sub Command5_Click()


C1.Top = C1.Top + 100
End Sub

Private Sub Command6_Click()


C1.Left = C1.Left + 100
End Sub

Private Sub Command7_Click()


C1.Left = C1.Left - 100
End Sub

Private Sub Command8_Click()


et1.Caption = Text1.Text
End Sub

Private Sub Option1_Click()


et1.BackColor = &H0&
End Sub

Private Sub Option2_Click()


et1.BackColor = &HFFFFFF
End Sub

Private Sub Option3_Click()


et1.BackColor = &HC00000
End Sub

Ejercicio 04/SEP/2002:
Imprimir un mesaje en pantalla.

12
Codigo:
Private Sub cmdmensaje_Click()
Print MsgBox("Este es un mensaje de bienvenida.", 1)
'PRINT NOS PERMITE MOSTRAR LOS DEFERENTES BOTONES.
End Sub

Private Sub Command1_Click()


Unload Me
End
End Sub

Ejercicio 04/SEP/2002:
Tarea: Propiedades de VisualBasic.

13
Codigo:
Private Sub Command1_Click()
If et1.Alignment = 0 Then
et1.Alignment = 1
Else
et1.Alignment = 0
End If
End Sub

Private Sub Command2_Click()


If et1.Caption = "Cambio el texto" Then
et1.Caption = "Nuestra primera etiqueta"
Else
et1.Caption = "Cambio el texto"
End If
End Sub

Private Sub Command3_Click()


Unload Me 'descarga la forma de la memoria
End Sub

Private Sub Command4_Click()


C1.Top = C1.Top - 100
End Sub

Private Sub Command5_Click()


C1.Top = C1.Top + 100
End Sub

Private Sub Command6_Click()


C1.Left = C1.Left + 100
End Sub

Private Sub Command7_Click()


C1.Left = C1.Left - 100
End Sub

Private Sub Command8_Click()


et1.Caption = Text1.Text
End Sub

Private Sub Option1_Click()


et1.BackColor = &H0&
End Sub

Private Sub Option2_Click()


et1.BackColor = &HFFFFFF
End Sub

Private Sub Option3_Click()


et1.BackColor = &HC00000
End Sub

14
Ejercicio 05/SEP/2002:
Mensajes en pantalla y su manipulación.

Codigo:
Dim c As Integer
Private Sub cmdmensaje_Click()
Print MsgBox("Presiona una opción", 1)
End Sub

Private Sub cmdmensaje0_Click()


l1.Caption = MsgBox("Presiona una opción", 0)
End Sub

Private Sub cmdmensaje2_Click()


l1.Caption = MsgBox("Presiona una opción", 2)
End Sub

Private Sub cmdmensaje3_Click()


l1.Caption = MsgBox("Presiona una opción", 3)
End Sub

Private Sub cmdmensaje4_Click()


l1.Caption = MsgBox("Presiona una opción", 4)
End Sub

Private Sub cmdmensaje5_Click()


l1.Caption = MsgBox("Presiona una opción", 5)
End Sub

Private Sub cmdmensaje6_Click()


l1.Caption = MsgBox("Presiona una opción", 16)
End Sub

Private Sub cmdmensaje7_Click()


l1.Caption = MsgBox("Presiona una opción", 32)
End Sub

15
Private Sub cmdmensaje8_Click()
l1.Caption = MsgBox("Presiona una opción", 48)
End Sub

Private Sub cmdmensaje9_Click()


l1.Caption = MsgBox("Presiona una opción", 64)
End Sub

Private Sub cmdsalir_Click()


l1.Caption = MsgBox("Presiona una opción", 4)
If l1.Caption = 6 Then
Unload Me
End
End If
End Sub

Private Sub Command1_Click()


l1.Caption = MsgBox("Presiona una opción", 4096)
If l1.Caption = 1 Then
Unload Me
End
End If
End Sub

Ejercicio 06/SEP/2002:
Mensajes en pantalla y su manipulación.

Codigo:
Private Sub cmdmensaje_Click()
Print MsgBox("Mensaje: Ventana de prueba", vbYesNoCancel, "Titulo: Ventana de Prueba")
End Sub
Private Sub Command1_Click()
Print MsgBox("Mensaje: Ventana de prueba", vbYesNoCancel, Text1.Text)
End Sub

16
Ejercicio 06/SEP/2002:
Manipulando InputBox:

Codigo:
Dim cadena As String
Dim mstrSoftware As String '1.-Cual es la diferencia del primer ejemplo y el segundo?
Private Sub Cmd1_Click()
cadena = InputBox("¿Cual es tu lenguaje de programacion favorito?", "Pregunta: ",
"Mensaje por default")
Print cadena
End Sub

Private Sub Form_Activate()

mstrSoftware = InputBox("¿Cual es tu lenguaje de programacion favorito?")


Print "Captura" & mstrSoftware
mstrSoftware = InputBox("¿Cual es tu software favorito?", "Preferencias: ")
Print "Captura" & mstrSoftware
mstrSoftware = InputBox("¿Cual es tu software favorito?", "Preferencias", "Lenguaje C")
Print "Captura" & mstrSoftware
mstrSoftware = InputBox("¿Cual es tu software favorito?", "Preferencias:", "Lenguaje C",
2000, 4000)
Print "Captura" & mstrSoftware

'1.-Cual es la diferencia del primer ejemplo y el segundo?


'2.-Que aparece como titulo en el cuadro de dialogo si no se especifica algun titulo para él?
'3.-Cual es la diferencia del 3er y 5to ejemplo?
'4.-Que debuelve la funcion inputbox en caso de oprimir cancelar?
'5.-Al declarar la variable se introdujo un comentario, este afectara en la ejecucion del
programa? si no o porque
'6.-Cual es la diferencia entre el ejemplo 1 y otro en el que coloquemos 4 botones uno para
cada inputbox.
End Sub

Ejercicio 12/SEP/2002:
Verificando Variables y Constantes.

17
Codigo:
Dim RESP As String
Dim C, A, B, RESU As Integer
Dim Cad1, Cad2 As String
Dim RE As Boolean

Private Sub Command1_Click()


Unload Me
End Sub

Private Sub Command2_Click()


Cad1 = "ABC"
Cad2 = "'ABC'"
If (Cad1 = Cad2) Then RES = "CIERTO" Else RES = "FALSO"
L1.AddItem "Cad1 = Cad2"
L1.AddItem Cad1 & " = " & Cad2
L1.AddItem "RESULTADO: " & RES

A = 40
Cad1 = "40"
If (A = Cad1) Then RES = "CIERTO" Else RES = "FALSO"
L1.AddItem " "
L1.AddItem "A = " & A & " Cad1 = " & Cad1
L1.AddItem "(A = Cad1)"
L1.AddItem "RESULTADO: " & RES

A=5
B=8
C = 10
RESU = (A + B + C) / 2
L1.AddItem " "
L1.AddItem "A = " & A & " B = " & B & " C = " & C
L1.AddItem "(A + B + C) / 2"
L1.AddItem "(" & A & " + " & B & " + " & C & ") / 2"
L1.AddItem "RESULTADO: " & RESU

A=8

18
B = 12
RESU = A ^ 2 + 5 + 8 + 32 / B
L1.AddItem " "
L1.AddItem "A = " & A & " B = " & B
L1.AddItem "A ^ 2 + 5 + 8 + 32 / B"
L1.AddItem A & " ^ 2 + 5 + 8 + 32 / " & B
L1.AddItem "RESULTADO: " & RESU

A=5
B=7
RESU = A / (2 + 5) + 17 * B + 24
L1.AddItem " "
L1.AddItem "A = " & A & " B = " & B
L1.AddItem "A / (2 + 5) + 17 * B + 24"
L1.AddItem A & " / (2 + 5) + 17 * " & B & "+ 24"
L1.AddItem "RESULTADO: " & RESU

A=2
B=2
C=8
RESU = (A / 5 * C) + B / 4
L1.AddItem " "
L1.AddItem "A = " & A & " B = " & B & " C = " & C
L1.AddItem "(A / 5 * C) + B / 4"
L1.AddItem "(" & A & " /5 *" & C & ") + " & B & " /4"
L1.AddItem "RESULTADO: " & RESU

A = 16
B=2
RESU = (5 * B) / (2 + A)
L1.AddItem " "
L1.AddItem "A = " & A & " B = " & B
L1.AddItem "(5 * B) / (2 + A)"
L1.AddItem "(5 * " & B & ") / (2 +" & A & ")"
L1.AddItem "RESULTADO: " & RESU

A=5
B=8
C = 16
RESU = (A And X) Or (C Xor A)
L1.AddItem " "
L1.AddItem "A = " & A & " B = " & B & " C = " & C
L1.AddItem "(A And B) Or (C Xor A)"
L1.AddItem "(" & A & " And " & B & ") Or (" & C & " Xor " & A & ")"
L1.AddItem "RESULTADO: " & RESU

A=5
B=8
C = 16
RESU = (A And X) Or (C Xor A)
L1.AddItem " "
L1.AddItem "A = " & A & " B = " & B & " C = " & C
L1.AddItem "(A And B) Or (C Xor A)"
L1.AddItem "(" & A & " And " & B & ") Or (" & C & " Xor " & A & ")"
L1.AddItem "RESULTADO: " & RESU

19
RE = (Y > 5) And (Z < "Z")
RESU = (Y > 5) And (Z < "Z")
L1.AddItem " "
L1.AddItem "(Y > 5) And (Z < ''Z'')"
L1.AddItem "(Y > 5) And (Z < ''Z'')"
L1.AddItem "RESULTADO BOL: " & RE
L1.AddItem "RESULTADO INT: " & RESU

End Sub

Ejercicio 13/SEP/2002:
Sentencia IF:

Codigo:
Dim va, vb As Integer
Private Sub Command1_Click()
va = A.Text
vb = B.Text

If A > B Then
MsgBox ("El mayor es A")
Else
MsgBox ("El mayor es B")
End If
End Sub

Private Sub Command2_Click()


Unload Me
End Sub

Ejercicio 14/SEP/2002:
Programa Proceso del Mexicano:

20
Codigo:
Dim Respuesta As Integer

Private Sub C_Click()


Unload Me
End
End Sub

Private Sub S_Click()


'6 = SI
'7 = NO
Respuesta = MsgBox("¿La regaste?", 4)
If Respuesta = 6 Then
Respuesta = MsgBox("¿Se nota?", 4)
If Respuesta = 6 Then
Respuesta = MsgBox("¿Le puedes hechar la culpa a alguien?", 4)
If Respuesta = 7 Then
Respuesta = MsgBox("¿Tiene arreglo?", 4)
If Respuesta = 7 Then
Respuesta = MsgBox("¿Te pueden fregar?", 4)
If Respuesta = 6 Then
MsgBox ("Resultado: TE FREGASTE")
Else: MsgBox ("Resultado: YA LA HICISTE")
End If
Else: MsgBox ("Resultado: YA LA HICISTE")
End If
Else: MsgBox ("Resultado: YA LA HICISTE")
End If
Else: MsgBox ("Resultado: YA LA HICISTE")
End If
Else: MsgBox ("Resultado: YA LA HICISTE")
End If
End Sub

Tarea de Visual.

21
Hacer un programa que acepte 6 números enteros con un ciclo FOR y que después
despliegue los números que leyó con otros ciclo FOR. El tercero tendrá que sumar los 6
números y decir cual es el numero mayor que leyó.

Corridas:

Código:

Option Explicit
Dim A, R, M As Integer
Dim MATRIZ(0 To 6) As Integer
Private Sub Command1_Click()

For A = 1 To 6 Step 1
MATRIZ(A) = InputBox("Teclea el valor [ " & A & " ]")
If MATRIZ(A) = 0 Then
MsgBox ("MENSAJE DE INTERRUPCION")
Exit For
End If
Next
For A = 1 To 6 Step 1
MsgBox ("Los valores de MATRIZ[" & A & "] Son " & MATRIZ(A))
Next
M=0
For A = 1 To 6 Step 1
R = R + MATRIZ(A)
If MATRIZ(A) > M Then M = MATRIZ(A)
Next
MsgBox ("La suma total es: " & R)
MsgBox ("El Mayor es: " & M)

End Sub

Private Sub
Command4_Click()
Unload Me
End
End Sub

Diagrama de Flujo:

22
Tarea de Visual.

Hacer un
programa que
muestre la serie
de Fibonnaci
utilizando un ciclo
FOR.

Corridas:

Código:

Option Explicit
Dim Cuidado As Integer

23
Dim Final, Contador, Anterior, Res, Res2 As Variant

Private Sub Command1_Click()

Final = Val(Text1.Text)
If Final > 25 Then
Cuidado = MsgBox("La cantidad de valores es muy grande. ¿Deseas continuar?", 4,
"Cuidado.")
End If

If Cuidado = 6 Then
Anterior = 0
Res = 1
Text2.Text = ""
Text2.Text = "1-"
For Contador = 1 To Final Step 1
Res2 = Res
Res = Res + Anterior
Anterior = Res2
Text2.Text = Text2.Text & Res & "-"
Next
Else
Text1.Text = 1
Text2.Text = ""
End If
End Sub

Private Sub Command4_Click()


Unload Me
End
End Sub

Diagrama de Flujo:

24
Tarea de Visual.
Objetivos:

Hacer un programa que


muestre el factorial de un
numero dado, utilizando
un ciclo FOR.

25
Corridas:

Código:

Option Explicit
Dim Cuidado As Integer
Dim Final, Contador, Factorial As Variant

Private Sub Command1_Click()

Final = Val(Text1.Text)
If Final >= 10 Then
Cuidado = MsgBox("La cantidad de valores es muy grande. ¿Deseas continuar?", 4,
"Cuidado.")
Else: Cuidado = 6
End If

If Cuidado = 6 Then
Factorial = 1
For Contador = 1 To Final Step 1
Factorial = Factorial * Contador
Next

Else
Text1.Text = 0
Text2.Text = ""
End If

If Final <= 1 Then Factorial = 0


Text2.Text = Factorial
End Sub

Private Sub Command4_Click()


Unload Me
End
End Sub

Diagrama de Flujo:

26
Ejercicio 14/SEP/2002:
Programa Proceso del Mexicano:

Codio:
27
Dim A, S, Mayor As Integer
Dim M(5) As Integer
Dim M2(10, 10) As Integer

Private Sub Command1_Click()


Unload Me
End
End Sub

Private Sub Command2_Click()


S=0
'---------------------------------
For A = 0 To 99
S=S+A
Next
R.Text = S
'---------------------------------
A=0
S=0
'---------------------------------
Do While A < 100
S=S+A
A=A+1
Loop
R2.Text = S
'---------------------------------
A=0
S=0
Do While A < 100
S=S+A
A=A+1
Loop
'---------------------------------
R3.Text = S

End Sub

Private Sub Command3_Click()


Randomize
Mayor = 0
'---------------------------------
For A = 0 To 5
M(A) = InputBox("Teclea el valor de el vector A[" & A & "] :")
Next
'---------------------------------
For A = 0 To 5
MsgBox ("El vector A [" & A & "] : " & M(A))
Next
'---------------------------------
For A = 0 To 5
If M(A) > Mayor Then
Mayor = M(A)
End If
Next
MsgBox ("Con el ciclo FOR el mayor es: " & Mayor)

28
'---------------------------------

End Sub

Private Sub Command4_Click()


Randomize
Mayor = 0
'---------------------------------
For A = 0 To 10
For J = 0 To 10
M(A)(J) = InputBox("Teclea el valor de el vector A[" & A & "," & J & "] :")
Next
'---------------------------------
For A = 0 To 10
For J = 0 To 10
MsgBox ("El vector A [" & A & "," & "] : " & M(A)(J))
Next
'---------------------------------
For A = 0 To 5
If M(A) > Mayor Then
Mayor = M(A)
End If
Next
MsgBox ("Con el ciclo FOR el mayor es: " & Mayor)
'---------------------------------
End Sub

Ejercicio 26/SEP/2002:
Programa Proceso del Mexicano:

Codigo:
Option Explicit
'DECLARAMOS LAS VARIABLES Y LAS MATRISES
Dim N, M, I, J As Integer
Dim A(100, 100) As Integer
Dim B(100, 100) As Integer
Dim C(100, 100) As Integer

Private Sub CmdSalir_Click()


'Cerramos el formulario.
Unload Me
End
End Sub

29
Private Sub CmdSumar_Click()
Randomize Timer
N = Val(TxtN.Text)
M = Val(TxtM.Text)

'INICIAMOS LOS VALORES DEL VECTOR A


For I = 1 To N
For J = 1 To M
If ComboDatos.Text = "Random" Then
A(I, J) = Rnd()
End If
If ComboDatos.Text = "Imput" Then
A(I, J) = InputBox("Teclea el valor de A(" & I & "," & J & ")")
End If
Next
Next
'INICIAMOS LOS VALORES DEL VECTOR B
For I = 1 To N
For J = 1 To M
If ComboDatos.Text = "Random" Then
B(I, J) = Rnd
End If
If ComboDatos.Text = "Imput" Then
B(I, J) = InputBox("Teclea el valor de B(" & I & "," & J & ")")
End If
Next
Next
'SUMATORIA DE LOS VECTORES A,B
If N >= M Then M = N
For I = 1 To M
For J = 1 To M
C(I, J) = A(I, J) + B(I, J)
Next
Next
'DESPLEGAMOS RESULTADO
For I = 0 To N
For J = 0 To M
Print MsgBox("SUMANDO: A( " & A(I, J) & " ) + B( " & B(I, J) & " ) = C( " & C(I, J) & " )",
vbOKOnly, "Suma de dos arreglos de dos dimensiones de NxM.")
Next
Next
End Sub

Private Sub Form_Load()


'Elaborar un programa que realice
'la suma de dos arreglos de dos dimensiones de NxM.
ComboDatos.AddItem "Random"
ComboDatos.AddItem "Imput"
End Sub

Private Sub TxtN_click()


'Limpiamos el cuadro de texto, al hacer click
TxtN.Text = ""
End Sub

30
Private Sub TxtM_click()
'Limpiamos el cuadro de texto, al hacer click
TxtM.Text = ""
End Sub

Ejercicios.
Mes: Octubre
Ejercicio 05/OCT/2002:
Componente: TREVI

Codigo:
Option Explicit
Dim VariableNodo As Node
Dim NumeroHijos As Variant

Private Sub Command1_Click()


Unload Me
End
End Sub

Private Sub Form_Load()


TV1.Nodes.Add , , "N1", "Nodo Papá"
TV1.Nodes.Add "N1", tvwChild, "N1.1", "Nodito 1.1"
TV1.Nodes.Add "N1", tvwChild, "N1.2", "Nodito 1.2"

TV1.Nodes.Add , , "N2", "Nodo Mamá"

31
TV1.Nodes.Add "N2", tvwChild, "N2.1", "Nodito 1.1"
TV1.Nodes.Add "N2", tvwChild, "N2.2", "Nodito 1.2"
TV1.Nodes.Add "N2.2", tvwChild, "N2.2.1", "Nodito 2.2.1"
TV1.Nodes.Add "N2.2", tvwChild, "N2.2.2", "Nodito 2.2.2"
' Cambiamos las opciones de edicion para que no se pueda modificar la etiqueta.
TV1.LabelEdit = tvwManual

End Sub

Private Sub TV1_Click()


Set VariableNodo = TV1.SelectedItem ' Ponemos a la variable nodo el seleccionado.
'NumeroHijos = VariableNodo.Children ' Le pasamos el numero de hijos a la variable.
MsgBox ("El nodo " & VariableNodo.Text & "tiene hijos -->" & VariableNodo.Children)
End Sub

Ejercicio 06/OCT/2002:
Componente: ProgressBar

Codigo:
Option Explicit

Private Sub Command1_Click()


StatusBar1.Panels(1) = "prueba"
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
StatusBar1.Panels(1) = "Cordenadas X = " & Str(X) & "," & Str(Y)
End Sub

32
Ejercicio 07/OCT/2002:
Calculadora Basica.

Codigo:
Option Explicit
Dim Operacion, Resultado, ValorA, ValorB As Integer

Private Sub Command17_Click()


T.Text = "0"
End Sub

Private Sub Form_Load()


P.Enabled = True
End Sub

Private Sub I_Click()


ValorB = Val(T.Text)

Select Case (Operacion)


Case 1: Resultado = ValorA + ValorB
Case 2: Resultado = ValorA - ValorB
Case 3: Resultado = ValorA * ValorB
Case 4
If (ValorB = 0) Then
MsgBox ("ERROR - División entre cero.")
Else
Resultado = ValorA / ValorB
End If
End Select

T.Text = Resultado

End Sub

Private Sub N0_Click()


T.Text = T.Text & 0
End Sub

Private Sub N1_Click()

33
T.Text = T.Text & 1
End Sub

Private Sub N2_Click()


T.Text = T.Text & 2
End Sub

Private Sub N3_Click()


T.Text = T.Text & 3
End Sub

Private Sub N4_Click()


T.Text = T.Text & 4
End Sub

Private Sub N5_Click()


T.Text = T.Text & 5
End Sub

Private Sub N6_Click()


T.Text = T.Text & 6
End Sub

Private Sub N7_Click()


T.Text = T.Text & 7
End Sub

Private Sub N8_Click()


T.Text = T.Text & 8
End Sub

Private Sub N9_Click()


T.Text = T.Text & 9
End Sub

Private Sub OD_Click()


ValorA = T.Text
Operacion = 4
T.Text = ""
End Sub

Private Sub OM_Click()


ValorA = T.Text
Operacion = 3
T.Text = ""
End Sub

Private Sub OR_Click()


ValorA = T.Text
Operacion = 2
T.Text = ""
End Sub

Private Sub OS_Click()


ValorA = T.Text
Operacion = 1

34
T.Text = ""
End Sub

Private Sub P_Click()


T.Text = T.Text & "."
P.Enabled = False
End Sub

Ejercicio 22/OCT/2002:
Calculadora Basica.

Codigo:
Private Sub Command1_Click()
MsgBox ("Hola " & Text1.Text & " tu nombre tiene " & Len(Text1.Text) & " caracteres.")
Text1.Text = ""
End Sub

35
Ejercicios.
Mes: Noviembre
Ejercicio 07/NOV/2002:
Componente: ToolBar

Codigo:
Option Explicit

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)


If (Button.Index = 1) Then
MsgBox "vivamexico"
End If
If Button.Index = 2 Then
MsgBox "abrir imagen"
CommonDialog1.DialogTitle = "Abrir una Imagen"
CommonDialog1.Filter = "Imagenes JPG | *.jpg | Todods * | *.*"
CommonDialog1.ShowOpen
Image1.Picture = LoadPicture(CommonDialog1.FileName)
End If
End Sub

Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)


If (ButtonMenu.Index = 1) Then
MsgBox "submenu1"
End If

36
If (ButtonMenu.Index = 2) Then
MsgBox "submenu2"
End If
End Sub

Ejercicio 08/NOV/2002:
Bases de Datos:

Codigo:
Option Explicit
Dim C As Integer
Dim BaseDeDatos As Database
Dim Registros As Recordset

Private Sub Command1_Click()


Data1.Recordset.Move Data1.Recordset.BOF + (Text1.Text) - 1
End Sub

Private Sub Command2_Click()


Dim Codigo As Long

37
'Es la variable que tiene la cadena a buscar.
Codigo = Data1.Recordset!PubID

Registros.FindFirst ("PubId=" & Str(Codigo))


While Not Registros.NoMatch
List1.AddItem "Titulo: " & Registros!Title
Registros.FindNext "PubID=" & Str(Codigo)
Wend

End Sub

Private Sub Command3_Click()


End
End Sub

Private Sub Command5_Click()


Set BaseDeDatos = Workspaces(0).OpenDatabase("C:\Archivos de programa\Microsoft
Visual Studio\VB98\BIBLIO.MDB")
Set Registros = BaseDeDatos.OpenRecordset("SELECT * FROM Titles", dbOpenDynaset)
'Cargamos la base de datos y asignamos la lectura de registros.
End Sub

Private Sub DBGrid1_Click()


'C = C + 1
'List1.AddItem " N° " & C & " " & Data1.Recordset!Author
End Sub

Ejercicio 08/NOV/2002:
Bases de Datos:

Codio:
Option Explicit

38
Private Sub Command2_Click()
Unload Me
End
End Sub

Private Sub Form_Load()


'--------------------------------------| Teoria Clase del Miercoles 13/11/02 |--------------------------------------

'Sentencia SELECT te permite obtener informacionn de registros.


'y tiene diferentes opciones de manejo:

'SELECT * FROM "Nombredelatabla"


'Es decir se toma toda la informacion desde la tabla "Nombre.."
'SELECT "nombreregistro" FROM "Nombretabla"
'Es decir se toma la informacion del registro nombreregitro que esta en la tabla
"Nombredetabla.."
'SELECT [nombrecampos] FROM ...
'SELECT campo1enTabla1, campo1enTabla2 FROM nombretabla1, nombretabla2
'SELECT tabla1.campoentabla1
'0'El signo (!) nos sirve para referencial el campo con el que vamos a trabajar.
'Ejemplo NombreTabla1 ! NombreRegistro
'Ala hora de manejar tablas tambien podemos utilizar los aslias, de esta manera te permiten
llamar un campo
'Utilizando : SELECT [nombre campo dificl] as NombreCampoSimple FROM
'Sentencia ORDERBY va adentro de la sentencia SELECT, y es opcional.
'Ejemplo: SELECT camponombre, campoedad FROM nombretabla ORDER BY
camponombre as AS
'(Asasendente o DS desendente)
'NOTA: *********
'TODO ESTO VA EN UNA INTRUCCION COMO Data1.RecorSource = "SELECT ..."
End Sub

Ejercicio 08/NOV/2002:
Bases de Datos:

39
Codigo:
Private Sub Timer1_Timer()
If ProgressBar1.Value < ProgressBar1.Max Then
ProgressBar1.Value = ProgressBar1.Value + 1
Select Case ProgressBar1.Value
Case 20: Image1.Picture = LoadPicture("C:\Documents and
Settings\usuario\Escritorio\progressbar/1.jpg")
Case 40: Image1.Picture = LoadPicture("C:\Documents and
Settings\usuario\Escritorio\progressbar/2.jpg")
Case 60: Image1.Picture = LoadPicture("C:\Documents and
Settings\usuario\Escritorio\progressbar/3.jpg")
Case 70: Image1.Picture = LoadPicture("C:\Documents and
Settings\usuario\Escritorio\progressbar/4.jpg")
Case 90: Image1.Picture = LoadPicture("C:\Documents and
Settings\usuario\Escritorio\progressbar/5.jpg")
End Select
Else
End If
End Sub

Ejercicio 08/NOV/2002:
Bases de Datos:

Codio:
Option Explicit
Dim Contador, Aux, Repite, Final, Cadena As Integer
Dim VectorCadenas(100) As Variant
Dim Arreglo(100) As Variant
Dim Arreglo2(100) As Variant
Dim Cad1, Cad2, Temporal As String

Private Sub CmdIniciar_Click()


Final = Val(TxtFinal.Text)

For Contador = 0 To Final


VectorCadenas(Contador) = InputBox("Teclea la letra completo. Cadena Nº " &
Contador)
Next
For Contador = 0 To Final
ListaCadenas.AddItem VectorCadenas(Contador)
Next

40
For Contador = 0 To Final
If VectorCadenas(Contador) = VectorCadenas(Aux) Then
Repite = Repite + 1
Cadena = Contador
End If
Next
MsgBox ("La cadena se repite " & Repite & " veces, y es: " & VectorCadenas(Cadena))
End Sub

Private Sub CmdSalir_Click()


Unload Me
End
End Sub

Private Sub CmdVerific2_Click()


Cad1 = TxtNombre1.Text
Cad2 = TxtNombre2.Text
If InStr(Cad1, Cad2) > 0 Then
MsgBox ("Si se encuentra")
Else
MsgBox ("No se encuentra")
End If
End Sub

Private Sub Command1_Click()


Final = Val(TxtFinal.Text)

For Contador = 0 To Final


Arreglo(Contador) = InputBox("Teclea tu nombre completo. Cadena Nº " & Contador)
Next

ListaCadenas.Clear

For Contador = 0 To Final


ListaCadenas.AddItem Arreglo(Contador)
Next
Aux = 1
For Contador = 0 To Final
Temporal = Arreglo(Contador)
Arreglo2(Aux) = Split(Temporal, " ")
Aux = Aux + 1
Next
MsgBox ("INCIANDO")
For Contador = 0 To Final
ListaCadenas.AddItem Arreglo2(Contador)
Next
End Sub

Private Sub Form_Load()


'Elaborar un programa que captyre 10 nombres completos
'Y que diga cuantas veces se repiten las cadenas.
End Sub

41
Proyecto
Mes: Diciembre

42

También podría gustarte