Manual de Visual Basic 2
Temas abordados
Manual de Visual Basic 2
Temas abordados
Una vez que una aplicacin es cargada, puede ejecutarse haciendo clic en el icono
barra de herramientas, una pauas en la ejecucin usando
usando el botn
de la
y terminar la ejecucin
En el modo diseo, cuando una forma esta activa, se puede agregar cdigo a ella o
insepccionar cualquier objeto haciendo doble clic sobre el. De esta forma en la aplicacin
Calculadora haz doble clic el botn que muestra % para ver el cdigo contenido en este.
estudia el cdigo contenido en los controles. Estos te pueden servir para aprender de la
observacin y la experimentacin. Inspecciona el cdigo que contienen los dgitos, est es
muy compacto Alot can be learned from observation and experimentation. Inspect the code
behind the digits, it is very compact (ms adelante analizaremos arreglos). Pon atencin en
el color del cdigo (es verde para los comentarios, azul para la palabras reservadas de VB)
sta caracteristica es de mucha ayuda para entender un programa. Los ejemplos de cdigo
en el men Help de VB son invaluables, all se te da la sintaxis y la funcin de las comandos
de VB.
Ahora es el momento de que t disees una interface propia. selecciona New Project del
men File. Usa una forma en blanco para disear la interface de una base de datos
estudiantil. Supn que deseamos una interface grfica para un sistema con el cual se pueda
interogar a los estudiantes sobre datos personales, tal forma deber tener secciones para:
Nombre, direccin, Universidad donde estudia, divisin de estudios en donde se encuentra,
carrera, tetramestre o semestre, fecha de nacimeinto, foto, si tiene experiencia en
computacin (si o no).
Experimenta con esta interface creada para hacerla tan profesional como te sea posible,
agregando ttulos y el logo de la Universidad.
Barra de Herramientas
Caja de herramientas
Formas
Barra de Mens
Ventana de Proyecto
Ventana de Propiedades
Barra de herramientas
La barra de herramientas contiene iconos para las opciones ms comunes en Visual Basic. Por ejemplo hay
iconos para crear una nueva forma y mdulos, guardar un proyecto, iniciar y parar la ejecucin de un
programa, y facilidades para checar los errores (depurar). La tabla siguiente lista todos los iconos, su funcin, y
la opcin equivalente si se usan los menus.
Icon
Operacin
Crea una nueva forma
Crea un nuevo mdulo
Abre un proyecto existente
Salva el proyecto actual
Muestra la ventana del diseador de menus
Presenta la ventana de propiedades
Ejecuta la aplicacin que esta en modo diseo.
Realiza una pausa en la ejecucin de la aplicacin
Suspende la ejecucin de la aplicacin actual
Menu Equivalente
File | New Form
File | New Module
File | Open Project
File | Save Project
Window | Menu
Design
Window | Properties
Run | Start
Run | Break
Run | End
Debug | Toggle
Breakpoint
Debug | Instant
Watch
Debug | Calls
Debug | Single Step
Puntero (Pointer)
Etiqueta (Label)
Marco (Frame)
Botn de comando
(Command Button)
Barra de desplazamiento
horizontal (Horizontal Scroll Bar)
Barra de desplazamiento
vertical (Vertical Scroll Bar)
Temporizador (Timer)
Formas (Shape)
Lnea (Line)
Imagen (Image)
Rejilla (Grid)
Medidor (Gauge)
Grficas (Graph)
Comunicaciones
(Communications)
Esquema (Outline)
Caja de verificacin
tridimensional (3D Check Box)
Botn de opciones
tridimensional (3D Option
Button)
Botn de comandos
tridimensional (3D Command
Button)
Barra de herramientas
(Toolbar)
Formas
Las formas son usadas para crear ventanas y cajas de dalogo en una aplicacin. Ellas actuan como
contenedoras grficas de controles tales como botones, etiquetas, cajas combinadas, etc. Existen tres tipos de
formas:
<>
La interface de documento simple (SDI) no tiene padre ni nios, es una simple ventana donde se colocan los
controles. La interface de mltiple documento (MDI) necesita una forma padre y una o varias formas nios.
Estos dos tipos de formas MDI se usan para crear aplicaciones que pueden abrir ms de un documento a la vez.
Cualquier forma nio es contenida por una forma MDI padre. Un ejemplo de este tipo puede
ser Excel de Microsoft.
Nota: Para crear una aplicacin MDI primero debers crear una forma MDI padre escogiendo
'File | New MDI Form'. Las formas nio pueden ser creadas como una forma normal y
seleccionando en las propiedad `MDI Child' a 'True'.
Una forma SDI puede verse como sigue:
Para agregar un control a una forma , seleccionalo de la caja de herramientas, Mueve el puntero a la forma
destino y da clic manteniendo el botn depresionado arrastra el ratn hasta formar un rectangulo , en seguida
libera el botn y el control aparecer en la forma.
Barra de menus
La barra de mens da acceso a todas la s opciones del medio ambiente de Visual Basic. Representa un men
estandar para el ambiente de windows
Las opciones ms usadas son presentadas usando icones en la Barra de herramientas.
Ventana de proyecto
La ventana de proyecto muestra todas las formas, mdulos y controles del proyecto actual. El botn marcado
con 'View Form' es usado para mostrar la forma si esta no esta realmente visible. El botn de 'View Code'
muestra una ventana de cdigo para la forma o mdulo seleccionado. La ventana de cdigo tambin dando
doble clik sobre un control.
Icon
Meaning
Forma SDI (Single Document Interface)
Forma padre MDI (Multiple Document
Interface)
Forma nio MDI (Multiple Document
Interface)
Mdulo (Module)
Control
Ventana de Propiedades
Visual Basic llama a una coleccin de archivos que componen todo el proyecto de la apliacin. Un proyecto
consiste de:
Formas
Los archivos con extensin .FRM contienen toda la informacin asociada con la forma. Detalles de controles, sus
popiedades y el cdigo asociado a los objetos que stan en la forma. Por default los archivos de formas no son
salvados como ASCII, para hacer esto marca 'Save as Text' en la caja de dilogo de save.
Mdulos
Aparte del cdigo asociado a los objetos en la forma y la respuesta de los eventos a ellos, la programacin en
VB involuvra la escritura de procedimientos generales que son idependientes a los objetos de la forma y que
pueden ser llamados desde culaquier lugar usando cdigo. Tales mdulos tienen extensin .BAS . Note que los
archivos .BAS fpueden no contener declaracines (de variables, constantes , etc.). Como las formas, los
archivos de mdulo no se salvan por default en formato ASCII. para hacer esto marca ' Save as Text' en
la caja de dilogo de save.
Controles Personales
Los archivos con extensin .VBX contienen la informacin necesaria para incluir un control en la caja de
herramientas (toolbox) .Para agregar un control .VBX, se utliza el men file, usando el comando Add File, al
agregarlo, el correspondinete icono es automaticamente insertado en la caja de herramientas y esta lista para
ser utilizado por el programador.
Archivo de Proyecto
El archivo de proyecto (.MAK) contiene los nombre de todos los archivos que componene el proyecto (.FRMs,
.VBXs, .BASs) y los detalles de sus rutas de acceso. Este archivo tambin guarda informacin acerca del medio
ambiente de VB (environment settings). Los archivos de Proyecto son salvados en cdigo ASCII y se pueden
leer con aplicaciones como el Notepad. esto, lo puedes modificar facimente, sin embargo, no trates de cambiar
una lnea a menos que estes seguro de lo que vas a realizar.
La caja de dalogo del proyecto contiene tres opciones. La segunda es la ms usada en esta etapa. Esta
contiene la identificacin de la primera forma que ser cargada cunado la aplicacin se est ejecutando.
Generalmente esta deber ser la Form1 (Es el valor por default), pero no necesariamente. Cualquier forma
puede ser diseada para ser la priemra en arrancar (the start up form). Alternativamente, t puedes desear
iniciar una aplicacin sin mostrar una forma (por ejemplo, quieres determinar primero el da de la semana y
entonces cargar una de siete formas). Esto puede realizarce creando un mdulo llamado Sub Main,
escribimos el cdigo de inicio aqu y entonces hacemos que este mdulo sea el primero en cargarse
seleccionado Sub Main como iniciador en start up 'form' en la caja de dalogo de las opciones del proyecto.
Accin
Cierra la aplicacin actual, presentando una ventana para salvar los ltimos cambios. Crea un
New Project
proyecto en blanco.
Open
Project
Cierra la aplicacin actual, presentando una ventana para salvar los ltimos cambios. Presenta una
ventana de dilogo ella cula presnta los proyectos que se pueden seleccionar para abrir. Abre un
proyecto existente.
Accin
Add Files
Agrega una forma existenete, mdulo o control a el proyecto (uno que realmente exista
en el disco).
Remove
File
Save File
Save File
As
Note que los proyectos comparten archivos comunes. Sin embargo es importante para comprender que
VB solamente almacena una copia del archivo. Cuando agregas un archivo al proyecto, VB no hace una copia
del archivo en el proyecto. Esto significa que cualquier cambio a un archivo deber afectar todos los proyectos
que uses con este archivo.
Ten cuidado de eliminar archivos fuera del medioambiente de VB (por ejemplo usando el ardministrador de
archivos) , entonces la aplicacin que use este archivo no podrn encontrarlo a pesar de que est su
informacin en el proyecto y sto producir un error en la ejecucin del proyecto.
Cuando un proyecto esta completo, se puede crear un archivo ejecutable (.EXE), este puede ejecutarse fuera
del ambiente de >VB (por ejemplo desde el admistrador de archivos de cualquier mquina que este ejecutando
Windows sin necesidad de tener VB) . Para realizar un ejecutable slecciona 'Make EXE File' del men
File. Debers escribir un nombre para archivo. Puedes especificar un icono para la aplicacin, tecleando el
nombre o seleccionandolo de una lista en la caja 'Use Icon From'.
Nota: Simpre que un proyecto a sido convertido a ejecutable (.EXE) , para poder ejecutarlo fuera del ambiente
de VB deber necesitar un o ms archivos externos. Esto es porque los archivos EXE de VB no tienen estn
completamente en cdigo de mquina. estos estn en un Pseudo-cdigo. De esta forma es necesario un archivo
.DLL externo el cual traduce los comando P-Code a comandos que pueden ser entendidos por Windows En
seguida se muestra una lista de los archivos DLL que son necesarios:
Vesin de VB
Archivos DLL
1.0
VBRUN100.DLL
2.0
VBRUN200.DLL
3.0
VBRUN300.DLL
4.0 (16-bit)
VB16400.DLL
4.0 (32-bit)
VB32400.DLL
Estilos de programacin
Cada programador tiene su propio estilo para escribir. Un buen estilo para programar deber tener una
estructura de cdigo fcil de entender, no solo para otra gente sino tambin para si mismo. Aqu hay varios
criterios para un buen estilo:
Nombre de controles en VB
Los nombres de variables y procedimientos definidos por el usuario debern ser significativos. Estos nombres
deben ser autoexplicativos con respecto a su propsito. Para ayudar al usuario en la asignacin de nombres se
puede manejar un estandar de nombres convensionales. Cada tipo de control tiene su propio Prefijo el cual es
seguido de un parte definida por el usuario la cual deber ser una identificacin nica para especificar el tipo de
control.
Control
Prefijo
Ejemplo
Check box
chk
chkSoloEscritura
Combo box
cbo
cboLenguaje
Command button
cmd
cmdCancelar
dir
dirDestino
drv
drvFuente
fil
filSeleccionado
Form
frm
frmPrincipal
Frame
fra
frmImpresoras
Grid
grd
grdCantidades
hsb
hsbColor
Image
img
imgBitMap
Label
lbl
lblAyuda
Line
lin
linSeleccionado
List Box
lst
lstCodigoColor
Menu
mnu
mnuAbrirArchivo
Option Button
opt
optNegritaBold
Picture Box
pic
picMemoria
Shape
shp
shpCuadrado
Text Box
txt
txtEntrada
Timer
tmr
tmrInciaAlarma
vsb
vsbRango
Nota: Los nombres de control son usados para hacer referencia a un especifico control de tiempo de ejecucin,
no se deben confundir con propiedades de control tales como text y caption.
For num_semana = 1 To 52
Print "Semana #"; num_semana
For num_dia = 1 To 7
Select Case num_dia
Case 1
Print "Domingo"
Case 2
Print "Lunes"
Case 3
Print "Martes"
Case 4
Print "Mircoles"
Case 5
Print "Jueves"
Case 6
Print "Viernes"
Case 7
Print "Sbado"
End Select
Next num_dia
Next num_semana
Las lneas en blanco pueden tambin ser identadas entre las lneas de cdigo para romper un procedimiento y
hacerlo en pequeos bloques de cdigo.
Documentando el Cdigo
Las complicadas e inusuales secciones de cdigo de bern ser documentadas. Idealmente cada variable y
arreglo deber tener comentarios donde se definan tal que su funcin pueda ser entendida despues. Hay dos
formas de documentar cdigo en VB, la declaracin REM que puede ser usado en lneas separadas y el '
(apstrofe) seguido por el texto de comentario. El ' le dice a VB que ignore todas la palabras que estan
enseguida hasta el fin de la lnea.
Ejemplo:
Ejemplo:
Procedimienos Coherentes
Cada procedimiento deber ser diseado para una tarea simple.Si un procedimiento maneja muchas tareas, es
lgico que pueda ser dificl de entender y pueda ocurrir facilmente un error.
Minimizar el acoplamiento
Pasar un parmetro es una buena prctica de programacin, pero muchos parmentros y el cdigo pueden
llegar a ser muy difciles de manejar. Los procedieminetos con muchos prmetros son altamente acoplables,
ellos tienen muchas ligas o otros procedimientos. Hasta donde sea posible se deben minimizar stas ligas. !Sin
embargo las variables globales no debern ser usadas en lugar de ellas .
procedimiento en el mdulo puede accesar la variable, pero los procedimientos en otros mdulos tienen acceso
denegado.
Estructura de datos
Variables
Las variables son estructura de datos usados para almacenar informacin. Hay dos tipos de informacin que
puede ser almacenada: Nmeros y texto. Antes de usar una variable sta, deber primero ser definida:
Rango permitido
Integer
-32,768 a 32,767
Long
-2,147,483,648 a 2,147,483,647
Single
Double
-3.402823E38 a -1.401298E-45
1.401298E-45 a 3.402823E38
-1.79769313486232D308 a -4.94065645841247D-324
4.94065645841247D-324 a 1.79769313486232D308
Currency
-922337203685477.5808 a 922337203685477.5807
String
0 a 65,000 bytes
Valores de fechas: 1/1/0000 a 12/32/9999
Variant
Si una nueva variable es declarada sin especificacin VB por default la deber tomar como
tipo Variant
Una vez que una variable se ha creado, se le puede asignar un valor. Para esto se usa el operador ' = '. En el
primer ejemplo de abajo a una variable se le asigna un valor constante, mientras que en el segundo se le
asigna el contenido de una variable multiplicada por 10.
Ejemplo 1:
Ejemplo 2:
precio = 29.95
precio_total = precio * 10
El Alcance de una variable es definido como su rango de operacin. Hay tres tipos de alcance en una variable:
Global - Pueden ser accesados desde cualquier procedimiento y desde cualquier forma. (usa
Variables Estticas
El declarar variables y arreglos (ver abajo ) como local en un procedimieneto/funcin es muy usado, porque
esto minimza los efectos extraos que pueden ocurrir cuando se usan variables globales. Sin embargo, cuando
usamos una variable local en un procedimiento VB crea un espacio de memoria para mantener el valor de esta
variable , esto sucede cuando lee el estatuto Dim, pero cuando llega al final del procedimiento (End Sub) VB
libera el espacio asigndo para el valor de la variable local. Agrega el siguiente cdigo a un botn de comando y
observa que valores son impresos:
Sub Command1_Click ()
Dim numero As Integer
numero = numero + 1
Print numero
End Sub
Despus de dar clic varias veces al botn de comando debers ver una columna de unos en el lado izquierdo de
la forma. El valor nunca ser arriba de uno a pesar de que el valor de la variable se incrementa en uno cada
vez. Esto es porque cada vez que el procediemineto es llamado, haciendo clic en el botn, VB esta trabajano
con una variable diferente. Esta tiene exactamente el mismo nombre en el programa pero es una variable
completamente diferente. Para que sto no suceda as, introduce Staticen el lugar de Dim:
Sub Command1_Click ()
Static numero As Integer
local
numero = numero + 1
Print numero
End Sub
Ahora en vez de que el valor de la variable se pierda cuando el procedimiento termina, con este cambio (static)
su valor permanecer hasta que todo el programa termine. De esta manera, podemos ver una lista de nmeros
que se incrementan en uno cada vez que se le da clic al botn de comando.
Nota: La nueva variable esttica es una variable de alcance local, si cualquier procedimiento trata de accesar
esta variable no prodr lograrlo. Agrega a la forma un nuevo botn de comando, el cual deber tener un nuevo
procedimiento 'Click', y trata de corregir o imprimir el valor de la variable esttica que contiene el primer
botn.
El contenido de un arreglo local, tambin puede mantenerse mientras el programa se ejecute. Para hacer esto
agrega el estatuto 'Static' en lugar de 'Dim' como lo hicimos en el ejemplo de arriba.
Constantes
Las constantes son similares a una variable pero tienen un valor determinado que se mantiene igual en toda la
ejecucin del programa. El contenido de una varible puede cambiar tantas veces sea necesario. Porque usar
una constante si no puede cambiar de valor?. Hacemos esto cuando deseamos usar un mismo nmero o una
palabra (string) varias veces. Por ejemplo, en un programa para calcular los impuestos de todo el ao, deber
hacer referencia a un valor en varias partes del programa, que puede ser el porciento de impuesto mensual con
respecto a las ganancias. Par ello podemos usar una variable llamada IMP, que mantendr el valor en el evento
Form_Load.
En el siguiente ejemplo definimos una contante llamada ' IMP ' y le asignamos el valor de 1.175. Ese es usado
en estatuto Print con la variable pago_total para calcular la cantidad total a pagar. Note que en lugar de
escribir 1.175 en la frmula nos referimos a el nombre de la constante.
Ejemplo:
a la
pago_total = 560.95
Print "Total = "; pago_total * IMP
Como las variables las constantes tambin tiene reglas de alcance. Hay constantes globales que pueden ser
accesadas por cualquier mdulo o cualquier forma del proyecto, las constantes de mdulo solo son accesadas
por la foma que los contiene, y las contantes locales son accesadas solamente por el objeto actual o
procedimiento/funcin.
Arreglos (arrays)
La variables son muy usadas para lamacenar pequeas cantidades de informacin, pero no son convenientes
para grandes cantidades de informacin muy similar. Por ejemplo, para almacenar los salarios de doscientos
empleados, necesitaremos 200 variables diferentes. Una mejor forma de almacenar esta informacin ser usra
una estructura de datos llamada arreglos array.
Un arreglo es similar a las celdas en un panal de abejas. Todo el arreglo tiene un nombre, y cada celda tiene
una direccin. Para el problema de los salarios planteado arriba, un arreglo el cual tiene 200 elementos (celdas)
, usaremos el comando Dim para cerar un nueva variable, pero marcaremos tambin el tamao de esta
variable .
En el ejemplo de arriba creamos un arreglo con 200 elementos. El tamao marcado es de 199 porque por
default VB empieza la numeracin con 0.
Si sabemos que el nombre 'Jaime ' es el empleado nmero 24 y tiene un salario de 25,000 pesos mensuales,
podemos lintroducir esta cantidad en el arreglo de la siguiente forma:
salarios(23) = 25000
Contrario a lo anterior, si deseamos saber cula es el salario del empleado nmero 189, podemos usar:
lblvalor.Caption = salarios(188)
Nota: En los dos ejemplos anteriores, para accesar un elemento es necesario colocar el nmero del elemento
anterior (si deseamos el 150, pedimos el 149). esto es VB empieza un arreglo de 0, no de 1. Sin embargo VB
pude ser forzado a empezar con 1, agregando el estatuto ' Option Base 1' en la seccin de declaraciones
generales de la forma o el mdulo.
Dynamic Arrays
Podemos crear arreglos tantas veces lo necesitemos , pero en ciertos momentos es necesario cambiar el
tamao del arreglo en una aplicacin. Para hecer esto podemos usar un arreglo ' dnamico '. Primero el arreglo
puede ser declarado en la misma forma, pero sin el nmero de elementos:
ReDim libros(99)
Normalmente el contenido de un arreglo se pierde cuando se redimensiona, sin embargo para que esto no
suceda use:
Control de un programa
Visual Basic como otros lenguajes de programacin ejecutan las lneas de cdigo de arriba hacia abajo. Sin
embargo fecuentemente deseamos que no todas la lneas se ejecuten siempre cuando el progrma esta
corriendo. En lugar de escribir varios progrmas diferentes para este trabajo, se pueden usar comandos de
repeticin y bifurcacin (ramificacin).
Los comandos de bifurcacin (ramificacin) se usan para determinar cuando se ejecuta una pequea seccin de
cdigo o cuando no se debe ejecutar. Un ejemplo de este tipo de comando es ' If'.Si la expresin que acomaa
al comando If es veradadera el cdigo deber ser ejecutado, en caso contrario VB continua con las lneas de
cdigo de ms abajo.
La repeticin de comandos es usada para que pequeas secciones de cdigo se ejecuten varias veces. Si un
programador necesita que que el programa lea 200 lineas de texto de un archivo, l deber usar 200 lneas de
cdigo, una para cada una de la expresiones en el archivo o alternativamente un ciclo ' For Next' puede
hacer un trabajo similar usando solo tres o cuatro lneas de cdigo.
Comandos de ramificacin
If
If en Lnea simple (Ejemplo):
10"
If en Multi-lnea (Ejemplo):
If y Else (Ejemplo):
Selecciona caso
Si ms ramas son necesarias, entonces usamos el comando 'Select
Case'
Case (Ejemplo):
mensaje si se introduce un valor no definido en el bloque de casos, deberemos usar ' Case
de la siguiente manera.
...
Case 7
nombre_del_dia = "Sbado"
Case Else
MsgBox "Error en seleccin, una semana tiene solamente 7 dias"
End Select
Estructuras de repeticin
Los siguientes comandos pueden ser usados para repetir varias veces la ejecucin de una seccin de
cdigo.
Ciclo Do (Sintaxis):
Do While condicin
lneas de cdigo
Loop
Ciclo Do (Ejemplo):
hoy = 1
Do While hoy = 7
hoy = hoy + 1
Loop
Un ciclo similar a el 'Do While' es el 'Loop While'. La principal diferencia es que el ciclo Do
While la condicin para poder continuar esta al principio (primero ceha la condicin y luego ejecuta
el cdigo que se desea repetir), mientras que en el Loop While esta al final, esto es despus de que
ejecuta el cdigo checa si debe continuar. Esto significa que un ciclo Do While, puede nunca ser
ejecutado, mientras que un ciclo Loop While siempre al menos se ejecutar una vez.
Ciclo While (Sintaxis):
Do
lneas de cdigo
Loop While condicin
Ciclo While (Ejemplo):
temp = 0
Do
temp = temp + 1
Loop While temp = 100
' No hierve
Los ciclos For si los programadores saben cuantas veces un cliclo debe ser ejecutado.
Ciclo For (Sintaxis):
For semana_actual = 1 To 52
For dia_actual = 1 To 7
...
Next dia_actual
Next semana_actual
El incremento en Step como parte del ciclo, es usado para decirle a VB cuanto debe aumentar en
cada ciclo la variable de control. Introduce el siguiente cdigo y observa que valores se imprimen.:
Menus
Los mens Pull down son usados en todas las aplicaciones de Windows. Con ellos se tienen las
siguientes ventajas:
Los nombres de los mens son visibles textualmente sobre la barra de mens, de tal forma
que el usuario puede ver de un solo vistazo las funciones principales de la aplicacin.
Los ttulos de los mens y los comandos del men (tal como Open Project en el men File)
no debern ser ambiguos, esto nos lleva a poder crear iconos para botones en una forma rpida y
de la barra de herramientas.
La parte de arriba del Menu Design Window contiene propiedades para el control del men. La parte de abajo
es para el contenido de la caja del men, donde se puede constuir el men y los submens si son necesarios. El
contenido en el diseo del men en la grfica anterior produce el siguiente men.
Cuando un comando es tecleado en la caja para crear el men, este deber aparecer en el men al ser
desplegado. Para editar un comando, solo se selecciona ( de la misma manera se pueden editar las propiedades
en la parte de arriba de la ventana, como el name, caption, Shortcut, etc.).
Un comando que aparece en el lado izquierdo de la caja de lista, representa el ttulo del
men.
Los comandos del men son identados usando el control de flecha derecha. Para regresar a
un previo nivel se usa el control de flecha izquierda.
Las flechas de arriba y abajo son usadas para mover comandos entre los mens.
El botn de insert abre un espacio para un men o comando extra. El botn delete elimina
un comando seleccionado.
Si es neseario crear un submen, estos son creados identando dos veces. En tiempo de
ejecucin la presencia de un submen se indica con un smbolo de punta de flecha que se
encuentra a la derecha. VB puede soportar cuatro niveles de submens.
Si deseamos que una letra del comando este subrayada para accesarla con el teclado,
debemos usar el ampersand &, colocando este smbolo antes de la tecla que deseo este
subrayada.
Para crear una lnea de separacin entre los comandos en un men, usamos el caracter
guin -. usa esto para dividir grupos de comandos que tengan relacin lgica.
El name de un men es el nombre que deber ser usado en el cdigo del programa para
hacer referencia de l.
El shortcut, perimte que a cualquier comando se le pueda asignar una combinacin de
teclas rpidas para accesarlo. Al ttulo de un men no se le debe aplicar esta propiedad.
Si la propiedad checked es marcada, esto hace que en el comando aparezca una marca
indicando que las opciones de este comando estan activas.
Para hacer esto en tiempo de ejcucin (activar el checked del submenu de la imagen anterior se
usa la orden case):
End Select
End Sub
Close
As....
Mens Pop-up
Un men pop-up es aquel que es mostrado enla forma pero no esta amarrado a la barra de mens.
Ejemplo del mtodo PopupMenu :
El cdigo de abajo muestra un men pop-up, que puede accesar si usas el botn derecho del ratn
apliandolo a la forma. Para probar este ejemplo, crea una forma con un men llamado mnuFile
(mnuFile debera tener el sub-men tambin). Copia el cdigo en la seccin de Declarations de la
forma y ejecuta la aplicacin.
Funciones del VB
Archivo
FileAttr - Devuelve informacin del sistema operativo acerca dl archivo que esta abierto.
Nmero
Cadena
InStr - Devuelve la posicin de la primera ocurrencia de una cadena dentro de otra cadena
de caracteres
LCase, LCase$ - Devuelve una cadena de caracteres en la cul todas las letras han sido
convertidas a minsculas.
Left, Left$ - Devuelve los n cacarteres a la izquierda de un cierto argumento. (cadena).
Hora/Fecha
IsDate - Returns a value indicating whether of not a Variant argument can be converted to
a date.
Minute - Returns an integer between 0 and 59, inclusive, that represents the minute of the
hour corresponding to the time provided as an argument.
Month - Returns an integer between 1 and 12, inclusive, that represents the month of the
year for a date argument.
Now - Returns a date that represents the current date and time according to the setting of
the computer's system date and time.
Time, Time$ - Returns the current system time.
Timer - Returns the number of seconds that have elapsed since 12:00 a.m. (midnight).
Weekday - Returns an integer between 1 (Sunday) and 7 (Saturday) that represents the
day of the week for a date argument.
Year - Returns an integer between 100 and 9999, inclusive, that represents the year of a
date argument.
Variable Conversion
Crear un control de cada uno de los tipos mencionados y usando la caja de heramientas y
colocarlos en la forma.
Agregar un texto (caption) apropiado a los controles creados.
Introducir un cdigo simple para que los controles respondar a un evento clic.
Agrupar controles usando un Marco (frame).
Hacer una simple alteracin a la interface, tal como cambiar el color de fondo en tiempo de
ejecucin.
En el tutorial anterior seleccionamos un icono de la librera de VB, que se encuentra en \vb\icons\, y ese
icono lo colocamos en un picture box. Esta tcnica se repetir, pero en lugar de cargar un icono, deber
explorar cuando un usuario realice una seleccin. La sintaxis del comando LoadPicture se da en ms
abajo.
Picture1 = LoadPicture("D:\VB\ICONS\COMM\PHONE08.ICO")
Esta expresin carga en un picture box llamado
Todos los iconos necesarios debern encontrase en la librera de VB. Para ver el contenido
del directorio de iconos, activa la ventana de propiedades, selecciona la propiedad picture y
luego presiona el botn ...como se ve abajo. Muchos iconos tienen nombres significativos
como bicycle.ico, otros (como
exactamente como son.
Si primero creas un frame y luego le agregas los botones de opciones dando clic sobre el
control en la caja de herramientas y arrastras el cursosr de cruz delgada dentro del frame
para crear ete control, esto dar como resultado que los botones de opciones estn fijos al
frame, tal que si deseamos moverlos, todos se movern juntos. Nota que si creas primero el
frame y enseguida para crear los botones de opciones das doble clic sobre el control en la
caja de herramientas y luego cada botn de opcin creado lo arrastras hasta colocarlo
dentro del frame, cuando estan integrados y deseas moverlo, no se moveran juntos.
Nota que cuando ejecutas la aplicacin el mismo icono es cargado primero (probablemente
el telfono, si creaste primera este botn de opcin). Puedes cambiar la opcin que primero
tiene el foco, seleccionado una de las otras opciones y cambiando el valor de la propiedad
tabindex a 1.
Esta aplicacin requiere insertar algo de cdigo en un evento clic para cada una de las cajas
de verificacin. El cdigo nos dira si la caja esta seleccionada mostrarando el icono
apropiado y si no esta seleccionada presentar un blanco en la picture box. Este
procedimiento lgico usa una expresin condicional (un if) que determina el estado de la
propiedad value. El cdigo para la primera caja de verificacin se da abajo. estudia como
trabaja y que hace. Introduce este cdigo en la forma. Haz lo mismo para cada uno de los
otras cajas de verificacin (el cdigo puede ser copiado y pegado).
Sub Check1_Click ()
If Check1.Value = 1 Then
Picture1 = LoadPicture("D:\VB\ICONS\COMPUTER\DISK02.ICO")
Else
Picture1 = LoadPicture()
End If
End Sub
Si creaste el programa cargando los iconos directamente de la ventana de propiedades,
cuando lo ejecutes todos los iconos aparecern an si estn deseleccionadas. Para estar
seguro que que todas las imgenes y las cjas de verificacin esten en blanco,
introduciremos cdigo en la forma para un evento cargar (load event). Para realizar esto
haz doble clic en la forma si estas en el modo de diseo. Del cdigo que usaste para las
cajas de verificacin, deberas ser capaz de modificarlo y adaptarlo para usarlo aqu.
Finalmente , en tiempo de ejecucin trata de dar color a las picture box Finally. Consulta el
Help de VB Help para buscar la funcin QBColor para saber como se puden cambiar los
colores. QBColor tiene un simple parmetro que esta entre 0 (negro) y 15 (blanco). En el
cdigo de abajo se agrego una expresin para el color de fondo del picture box antes de sea
mostrado el icono. Una segunda expresin se agrego para para cambiar el color de fondo a
blanco si la imagen es en blanco (no hay imagen).
Sub Check1_Click ()
If Check1.Value = 1 Then
Picture1.BackColor = QBColor(10)
Picture1 = LoadPicture("D:\VB\ICONS\COMPUTER\DISK02.ICO")
Else
Picture1.BackColour = QBColor(15)
Picture1 = LoadPicture()
End If
End Sub
El objetivo de este tutorial es aprender las diferentes caractersticas de las cajas de lista y las cajas
combinadas y ser capaz de usar cada una de ellas dentro de un programa de VB. Al finalizar este
tutorial sers capaz de:
Las cajas de lista y las cajas combinadas son usadas para proporcionar una lista de opciones al usuario. En la
caja de herramientas estos dos controles estan representados por :
caja combinada.
para una
Cajas de lista
Una caja de lista es til cuando al usuario se le presenta un conjunto de opciones fijas (el puede escoger
solamente de las opciones mostradas, no hay posibilidad de teclear otra alternativa).
Un ejemplo puede ser al ofrecer una lista de los dias de la semana, los lugares para vacacionar de una agencia
de viajes, o los tratamientos ofrecidos por un saln de belleza.
Sub Form_Load ()
List1.AddItem "Peugot 405"
List1.AddItem "VW Passat"
List1.AddItem "Volvo 740"
List1.AddItem "Montego"
List1.AddItem "Nissan Sunny"
List1.AddItem "Vauxhall Astra"
List1.AddItem "Mercedes"
List1.AddItem "Ford Sierra"
List1.AddItem "Citroen"
End Sub
En el ejemplo anterior, note que los items en la caja de lista aparecen en el orden en que fueron tecleados. Pero
si cambiamos la propiedad sorteda veradadero (true) en lugar de falso (false) en la caja de propiedades de este
control, los nombres de autos aparecern en orden alfabtico (primero Citroen).
List1.RemoveItem
La expresin para eliminar requiere un ndice. La lista de items es numerada de 0, 1, 2, etc. Esta expresin
eliminar el primer item de la lista.
Nota: La propiedad ListCount alamacena el nmero de items en la lista, as
usada para determinar el nmero de items en la caja de lista
List1.
ListIndex da el indice del item seleccionado en ese momento. De esta manera, la expresin
List1.RemoveItem List1.ListIndex elimina el item que est seleccionado en ese momento.
La propiedad
Se puede agregar un item con elegancia, usando una caja de dialogo para entrada de datos (InputBox). Prueba
la siguiente lnea de cdigo:
Tarea:
Crea la caja de lista que aqu se mostr. Explora como trabaja en tiempo en la ejecucin
con la propiedad sortedprimero false y luego true. Luego agrega un botn de comando
como se muestra abajo. Usa este botn con el evento clic, para agrgar items a lista o para
eliminarlos.
Crea una caja de texto que muestre el nmero de items en la lista. Ejecuta la aplicacin y
checa el cambio en la caja de texto creada al agregar un item o al eliminarlo. Create a text
box to display the number of items in the list. Run the application and see this text box
change as you add and remove items. Ms abajo se muestra el cdigo que ser agregado en
le botn de comando usando el eventoclic. Note que las partes fijas del txto que se
muestra entre comillas ( " ), el valor de la propiedad
signo llamado ampersand (&).
Sub Command1_Click ()
List1.AddItem "Jaguar 4.2"
Text1.Text = "Hay " & List1.ListCount & " autos en
lote."
End Sub
el
Modifica tu aplicacin de tal forma que cuando el usuario de doble clic en la lista de items,
la caja de texto muestre el auto seleccionado, tal como:
Interface
Comportamiento
Este es un simple programa que contiene tres mens, tres cajas de listas un botn para terminar.
Todos los mens actuan sobre las cajas de listas, cambiando el color de fondo (background) y el color de las
letras (foreground), el tamao y el tipo y permite insertar y borrar datos. Cualquiera de estas acciones lafecta
las tres listas simultaneamente.
Las estructura de los mens esta descrita abajo.
Nota: Dando clic sobre cualquier dato en la lista causa que las otras dos listas seleccionen inmendiatamente
palabras correspondientes.
Colours
-------
Fonts
-----
Color de texto
-------------Grey
Light Blue
Light Green
Light cyan
Tamao
-----10pt
12pt
15pt
20pt
25pt
Tipo
---Roman
Script
Courier
Modern
Vocabulry
---------
Agregar
Borrar
Ayuda:
Si no sabes como crear un men de cascada, por favor lee : Mens de cascada y Popup.
Introduce los datos en las listas tal que correspondan las palabras con la misma posicin en
cada lista. Puedes agregar un dato (item) con la sentencia
AddItem en el procedimento
FormLoad o usar la funcin Add del men bar para hacerlo en tiempo de ejecucin.
Para borra una palabra seleccionada en las tres listas, solo usa el
accesarlas.
La funcin Add necesita las indicaciones del usuario para que los tres items de las lista
sean las adecuadas en la seleccin. .
Frecuentemente es muy usual crear un conjunto de controles que pueden ser referidos por su nombre de
control ms su ndice. De esta manera es posible:
Tener varios controles compartiendo el mismo cdigo. Por ejemplo, podemos tener un
conjunto de cajas de texto en la pantalla y querer seleccioar cada una de ellas. Esto se puede hacer
creando una caja de texto como un arreglo y programar el evento MouseMove para seleccionar o
deseleccionar el que deseamos. Con un arreglo (array) , todos los objetos en el arreglo responden a
los eventos programados, solamente necesitas poner cdigo en un elemento del arreglo para que
todos lo tengan, as no es necesario duplicar cdigo.
Tener un conjunto de controles para realizar una accin donde cada control esta
relacionado con su posicin en el arreglo. Por ejemplo en la calculadora hecha en VB, los botones
de comandos representando los nmeros de 0-9 fueron creados como un arreglo. La posicin Indice
(index) de cada botn de comando esta en correspondencia con la etiqueta de su Caption. Haciendo
click en cualquiera de estos botones ejecutar la misma pieza de cdigo, y el valor del ndice se usa
para mostrar el caracter apropiado del 0-9 que se leera en la caja de texto.
Interface
Coloca el color amarillo en la propiedad forecolor de todas las cajas de texto. Esto se puede realizar dando clic
en una parte de la forma y con el clic sostenido arrastrar el mouse hasta crear un rectngulo que encierre los
objetos que deseas seleccionar, enseguida en la ventana de propiedades cambia el color (forecolor) como si lo
hicieras para un objeto.
Comportamiento
Introduce el siguiente cdigo en el evento click del botn de comando.:
Sub Command1_Click ()
Dim i As Integer
For i = 0 To 4
text1(i).BackColor = QBColor(i)
text1(i).Text = i
Next i
End Sub
Ejecuta el programa y asegurate que entiendas lo que la aplicacin esta haciendo.
Tareas
Manten la misma interface que tienes arriba, pero elimina el botn de comando. Crea un
panel 3D debajo de las cajas de texto (como una barra de estado). Usa la caja de
herramientas para esto. Cambia el backcolor de todas las cajas de texto a gris. Programa el
evento MouseMove de Text1() tal que:
a) Cuando el mouse se mueva sobre las cajas de texto, el backcolor de la caja en cuestin
cambie a color rojo y las otras a gris.
b) El Panel 3D (el cual es usado como una barra de estatus) tenga un caption, el cual su
valor ser la caja de texto que se selecciono esto es, deber aparecer por ejemplo,: El
mouse esta sobre el Text1(3).
El encabezado para el procedimiento del evento MouseMove tiene en su lista de parmetros
uno llamado index. Esto significa que VB captura el valor del indice actual (en la variable
indexada) y ste valor te lo da para que puedas usarlo.
Una forma para hacer la tarea 1 es la siguiente:
Dim i As Integer
como contador
For i = 0 To 4
' poerqu hay cinco cajas
If i = index Then
' Esta es la seleccionada
text1(i).BackColor = QBColor(4)
' rojo
Else
text1(i).BackColor = QBColor(8)
' gris
End If
Next i
panel3d1.Caption = "El
index & ")"
End Sub
Text1(" &
Modifica el programa de tal forma que cuando el cursor entre a una nueva caja de texto,
esta caja se seleccione y la pcaja previa se deseleccione . Algo como esto:
El objetivo de este tutorial es aprender como usar las barras de desplazamiento vertical y
horizontal. Al terminar este tutorial sers capaz de:
Tareas
Interface:
Comportamiento:
Las cajas de texto en el final de las barras muestran los valores mximos y mnimos (pon
los valores en el modo diseo).
Las cajas de texto en medio de la ventana muestran la velocidad y la altitud cuando el
usuario interactua con las barras de desplazamiento. Esto se hace en modo de ejecucin
(cuando la aplicacin esta corriendo).
Tip:El cdigo para la barra horizontal esta ms abajo. El smbolo & es un operador para la
concatenacin el cual permite pegar elementos de cadena (string). Note que las partes
constantes La velocidad actual es aparecen entre comillas, con ello Vb la presentara tal
como esta escrita. Las variables tales como hscroll.value (el valor actual de la barra
horizontal) puede ser inculido para seguir a una cadena de caracteres - estas variables son
evaluadas y VB inserta el resultado de ellas.
Sub HScroll1_Change ()
" &
Usando las barras para manipular objetos en la pantalla,en este ejemplo se usan objetos
diferentes.
Interface:
Comportamiento:
Los tres botones de comando cambian el tipo de objeto como lo indica su contenido (Circle,
Rectangle, Elipse).
La barra de despalzamiento vertical controla la altura del objeto y la barra de
desplazamiento horizontal controla el ancho del objeto.
Cuando generes el objeto, experimenta con el ancho y el alto para determinar los mximos
valores sensibles. Los mnimos valores de las barras a el valor del alto y anco que tienen los
objetos al inicio.
Nota: El crciulo de hecho deber no podr cambiar su ancho y alto en forma independiente.
Tip: Esta aplicacin solo tiene UNA lnea de cdigo para cada uno de los cinco controles
interactivos.
De hecho se puede alterar las propiedades interactivamente (tal como size) de la
pantralla de objetos de otras maneras, por ejemplo usando menus, botones de comando,
cajas de verificacin, etc. - realiza unos experimentos cambiando el color y fontsize
por diferentes mtodos.
Usa Paintbrush para disear una serie de imagenes que puedan ser mostradas
sucesivamente creando con ello una animacin . Crea un arreglo conn estas imagenes
usando el control Picture . Usa el portapapeles (clipboard) para importar las imagenes una
por una en el arreglo creado. Pon la propiedad Visible en False a todas la imagenes .
Crea una caja ms que no sea parte del arreglo, sta deber ser visible. Agrega un botn de
comando a la forma. Pon cdigo en este botn usando el evento Click para que con l
arranque la animacin. La animacin se realizar ciclando las imaganes, (usa un contador
como se uso en la tarea 1) carga cada imagen en turno dentro de la cada visible. Dibuja un
hombre con trazos de lneas, es ms fcil y puede tener un movimeinto ms efectivo.
En el ejemplo de abajo las figuras creadas en Paintbrush y cortadas y pegadas en pegadas
en la forma. Las imagenes invisibles son llamadas Picture1(0)... Picture1(3)
(estos nobres son por default ). La caja de imagen que es visble (a la izquierda de la forma)
se llama Picture2.
Todo lo que tienes que hacer es agregar cdigo para ejecutarlo.
El objetivo de este tutorial es aprender como crear una aplicacin multiforma y navegar entre
formas en tiempo de ejecucin. Al final de este tutorial sers capaz de:
Para agregar una forma en blanco a una aplicacin, seleccione New Form del men
Esta forma puede ahora ser diseada y cdificada de la misma forma como la primera (la
aplicacin).
Para incluir en nuestro proyecto una forma que fu creada y salvada ( en el disco duro o un
disco flexible), selecciona
File.
Para moverte entre las formas en tiempo de ejecucin necesitas esconder la forma que
dejas Hide, y presentar la forma a la que vas Show. Para hacer esto utiliza las instrucciones que
estan en seguida, solo cambia frmX y frmY, colocando los nombres de tus formas. Este cdigo
puede colocarse en algn evento (button click po ejemplo) para que el cambio de la forma se
realice.
frmX.Hide
frmY.Show
Nota: Cualquier forma que es mostrada con este procedimiento se mantiene en memoria, cuando es
escondida, todava esta en memoria. Esto no es un problema fuerte para los recursos de memoria si
se trabaja con dos o tres formas, pero ms alla de estas la memoria puede saturarse y no ejecutar
la aplicacin. Si esto sucede la solucin es descartar algunas de las formas que no son muy
necesarias despues de mostrarlas. Use el comando Unloadpara realizar esto:
Unload frmX
Contrariamente el comando
mostrarla .
Load puede usarse para cargar una forma en memoria pero sin
Tarea
Solo para tener una idea rpida de una aplicacin multi-forma, crea un programa maestro que contenga varios
de los ejercicios realizados en los tutoriales anteriores.
Inicia un nuevo proyecto. La primera forma deber tener una pantalla de bienvenida (llamala frmWelcome),
usa herramientas grficas se vea atractiva. Incluye sobre la forma un panel 3D que contenga tres botones de
comando con aprpiadas imagenes sobre ellos(usa el botn de comando 3D
) para representar las tres
aplicaciones que deseas incluir (por ejemplo el language tutor, restaurant program, animation program).
Agrega un botn para salir y terminar el programa.
Usando la opcin Add File, carga las formas de las aplicaciones en tu proyecto. Las formas debern tener
npmbres diferentes entre ellas antes de cargarlas. Si cuando las creaste y las salvaste con el nombre de form1,
antes de cargarlas a tu aplicacin cambiales el nombre.
Codifica los botones de comando en la pantalla de bienvenida para que esta pantalla se esconda y muestren la
siguiente forma.
Si las pantallas siguientes tiene un botn de salir (quit) cambia el Caption y su cdigo para que con el se pueda
regresar a la pantalla de Bienvenida, si no tienen agrega un botn para que tenga esta funcin.
Si tienes variables globales que se estan usando, deberas tenerlas en un
cualquier nombre de variable duplicado.
Cambia la propiedad
True
Diagrama de la aplicacin
Trata de ver si puedes hacer que la aplicacin se regrese a la pantalla de bienvenida siempre y cuando al estar
en una forma el usuario no haya interaccionado con ella despus de un minuto. Tipt: Necesitars usra el control
Timer
, el evento
MouseMove y una variable global que actue como un reloj. Usa la Ayuda de VB
Timer.
Entender como operan un MDI padre y las formas nio, y diferencias entre estas.
La interface de mltiple documento (MDI) permite a los programadores crear aplicaciones que puedan manejar
varios archivos (documentos) abiertos a la vez . Hay solo una ventana padre y una ciierta cantidad de ventanas
nio . As las ventanas nio pueden ser minimizadas o maximizadas y estas estarn dentro de la ventana padre
(sin salir). Word y Excel son ejemplo de aplicaciones MDI. Si no estas familiarizado en el como trabajan las
aplicaciones MDI, prueba abriendo Word, ExcelI o Power Point.
MDIChild a
True. Eso hace que la forma cambie a ser una SDI (Simple Document Interface) y la
En todas las formas, sin incluir la forma padre cambia el valor de la propiedad
Cuando una forma MDI nio es maximizada, su ttulo (caption) se combina con el ttulo de
la ventana padre
Las formas no no pueden ser escondida (comando hidden). Para esconder una forma nio
esta debe ser descargada.
Si la forma nio activa tiene un men de cascada, este es remplazado por el men del MDI
padre. Si la forma nio no tiene men pero la forma padre si, entonces este men es
presentado. Los mens de remplazamiento pueden ser vistos en Microsoft Word cuando
todos los documentos estan cerrados, solo aparece la barra de mens con dos items : File y
Help. sin embargo cuando un documento es abierto o creado la barra de mens cambia y
aparecen : File, Edit, View, Insert, Format, Tools, Table, Window y Help.
Cuando una forma MDI nio es minimizada o maximizada no podr salir de la ventana del
MDI padre.
Tarea
Crea forma MDI padre y cambia varias de sus propiedades (por ejemplo Caption).
File
...New
......Exit
Crea una forma normal y transforma aen una MDI nio. Esto se hace en la ventana de
propiedades.
Crea un men de cascada en la forma MDI nio con la siguiente estructura:
File
...New
...Close
......Exit
Window
...Cascade
...Tile
...Arrange Icons
Coloca cualquier control en la forma nio tal como cajas de texto, cajas de imagenes y
botones de comandos.
En el comando New del men del MDI padre introduce el cdigo para crear una forma MDI
nio nueva.
Exemplo:
Sub mnuNew_Click ()
Dim frmNew As New frmChild
' Crea una nueva forma nio
frmNew.Show
frmNew.Caption = "MDI Child #" & (forms.Count - 1)
End Sub
El cdigo de arriba crea una nueva forma de tipo nio debido a la instruccin frmChild. El
nombre de la nueva forma es frmNew y la siguiente lnea usa el comando Show para
mostrar la forma.
Nota:ebido a que los menus de las formas nio es remplazado por los menus del padre, es
necesario introducir algo de cdigo.
Introduzca Unload
Escribe el cdigo para las opciones de presentacin de las ventanas, tales como cascada, .
El cdigo para hacer esto es el siguiente:
frmMDIParent.Arrange 0
' Cascada
frmMDIParent.Arrange 1
frmMDIParent.Arrange 2
frmMDIParent.Arrange 3
En la ventana de creacin de menus, estando en la forma MDI nio, haga clic en la caja de
verificacin de Windows List (Ver abajo en la grfica).
El objetivo de este tutorial es aprender como crear y usar una rejilla. Al terminar este tutorial sers
capaz de:
Rejillas (Grids)
El control grid crea tablas las cuales pueden ser capaces de de mantener texto y/o grficos. Las rejillas son muy
usadas para presentar y resumir datos nmericos como una hoja de clculo (como Excel) El tamao de una
rejilla puede ser controlado por dos propiedades: Row (profundidad), y Col (ancho). El tamao mximo de
una rejilla o celda es de 2000 filas (rows) y 400 columnas (columns). Las cajas individuales dentro de una
rejilla se les lIaman celdas. Cada celda, como en un arreglo elemental, tiene una direccin de referencia usando
dos cooredenadas para ello, que son fila y columna. El contenido de cada celda pude ser leido y editado en
tiempo de ejecucin.
Tarea
Crea una tabla de gastos caseros usando una rejilla para tener un control presupuestal sencillo.
Haz que la primera columna sea fija y etiqueta las celdas de ella con los nombres de los
doce meses del ao. La primera fila deber tambin ser fija, pero etiquetalas con las
actegorias de los gastos mensuales. ( Gas, Electricidad, Renta, Telfono, Cable TV,
Transporte, etc).
Nota: Como los arreglos en las celdas de las rejillas de VB inician con 0, implica que Enero
estara en la columna 0, fila 1, y Gas en la columnn 1, fila 0.
Centra los encabezados de gastos y alinea a la derecha las celdas que no tienen informacin
cambia el ancho de la columna hasta donde sea necesario para tener una presentacin tal
que no se trunquen los datos al ser presentados.
Sintaxis:
Ejemplo:
Grid.ColWidth(column) = width
grdExpenses.ColWidth(1) = 1500
Introduce los gastos a las celda de la rejilla. Recuerda que antes de introducir un dato a
una celda, debes de decirle a Vb que celda deseas alterar. Usa la propiedad
hecer esto en tiempo de ejecucin:
grdExpenses.Row = 1
grdExpenses.Col = 1
grdExpenses.Text = 50.99
El cdigo de arriba deber remplazar el texto en la segunda columna, segunad fila, el valor
ser 50.99, el cula representa el gasto de Gas en Enero.
Nota:Como las cajas combinadas y las cajas de lista, el mejor lugar para colocar este cdigo
es en el evento Form_Load .
Agrega una nueva columna en la parte ms baja de la rejilla que represente los Totales.
Etiqueta la columna 0 como Totales y entonces usa alguna estructra repetitiva (en
tiempo de ejecucin) que a travs de todas la celdas y en cada columna coloque el total.
Esta fila de totales deber ser igual a todos los gastos de Gas en el ao (para la columna de
Gas) y de la misma manera para los demas gastos.
Nota: La rejilla muestra nmeros, pero estos estn almacenados como texto (strings). Para
sumar dos strings como si ellos fueran nmeros, primeros hay que usar la funcin
Val()para los nmeros y sumarlos con esta funcin.
El objetivo de ste tutorial es manejar los diferentes tipos de archivos de almaceamiento. Al fnal de
este tutorial sers capaz de:
Tipos de archivos.
Visual Basic tiene tres formas interconstruidas para accesar alchivos (excluyendo el control Data la cual accesa
bases de datos): 1) Acceso secuencial, 2) Acceso aleatorio, y 3) Acceso binario.
Acceso secuencial: Los datos de los archivos son leidos y escritos lnea por lnea. El almacenamiento es
eficiente, pero al accesar los datos en diferentes secciones del archivo es dficil, por el mecanismo secuencial de
acceso.
Acceso aleatorio Lee y escribe datos registro por registro a cualquier localizacin dentro del archivo. Este tipo
de acceso es conveniente cuando el archivo contiene tipos de datos homogeneos.
Acceso BinarioLee y escribe datos byte por byte a cualquier localizacin dentro del archivo. este tipo de
archivo es efieciente en trminos de almacenamiento, pero es dificil de programar.
Usando el evento Form_Unload escribe una rutina que abra un archivo y almacene todos
los cambios actuales.
FileNum = FreeFile
Open "A:\SETTINGS.DAT" For Output As FileNum
Print #FileNum, lstEnglish.FontName
Print #FileNum, lstEnglish.BackColor
...
Close FileNum
' Importante para cerrar el archivo
Agrega al evento Form_Load una rutina que abra el mismo archivo creado en 2, lea el
contenido, entonces inicializa los valores de diferentes controles donde sea necesario para
restaurar el estado antrior de la aplicacin.
Option Explicit
Type PersonData
FirstName As String * 20
LastName As String * 25
PhoneNo As String * 14
Age As Integer
Comments As String * 100
End Type
Nota: Las variables de tipo cadena (String) tienen en seguida un * y un nmero que
muestra la longitud asignada a sus caracteres en el archivo (tamao del campo).
El cdigo de arriba define un tipo de dato nuevo llamado PersonData el cual puede ser
usado para declarar variables . Declaremos una variable para este tipo introduciendo
cdigo en la seccin de declaraciones generales de la forma principal :
Option Explicit
PersonData.
Crea una estiquetas (label) y unas cajas de texto en la forma principal para que el usuario
pueda introducir o editar informacin de cada persona en la base de datos.
para que los datos se almacenen podemos introducir las siguientes lneas :
Person.FirstName = txtFirstName.Text
Person.LastName = txtLastName.Text
Person.PhoneNo = txtPhoneNo.Text
Nota: la variable Person tiene en seguida un . y en seguida el nombre de un campo el cual
es el mismo que fue usado en el MODULE1.BAS con el comando Type. Debemos recordad
que Person no es una simple variable como una String, esta es una variable compuesta
hecha de 5 diferentes tipos de datos.
Para salvar los datos a un archivo primero este deber ser abierto. Deberemos decirle a VB
la longuitud en caracteres de cada registro. Los errores aqu tienen consecuencias
desagradables. Para los detalles en a base de datos personal la longuitud es (20 + 25 + 14
+ 2 + 100). Esta es la longuitud de las cadenas (strings) agregadas ms 2 lo cual es el
nmero de caracteres que un entero necesita.
Para leer datos de un archivo aleatorio usa el siguiente cdigo despues de que el archivo
este abierto:
El objetivo de este tutorial es aprender como se establece una liga entre una base de datos creada
en Access y una aplicacin hecha en VB. Al termino de este tutorial seras capaz de:
Establecer una liga entre la tabla de base de datos y los campos usandos los controles
apropiados de VB.
Microsoft Access
MS Access Es una base de datos relacional que almacena datos (informacin) en campos los cuales son se
agrupan para formar registros. Una tabla es una coleccin de registros. Los campos son pequeas unidades de
datos en una tabla. Como en Vb los campos sirven para especificar un acceso aleatorio, en Access los campos
tambin se pueden asignar de diferentes tipos que son:
Text (Default)
Memo
Number
Date/Time
Currency
Yes/No
OLE Object
Los campos tienen relacin con los registros, por ejempo: Un registro mdico puede incluir los siguientes
campos: nombre del paciente, direccin del paciente, edad, peso, altura historial clnico, lista de alergias, notas,
etc. cada paciente tendr un registro de informacin. Por lo tanto si un Doctor tiene 10 pacientes , significa que
tendr una tabla de 10 registros.
MS Access es un poderoso manejador de base de datos con su propio lenguaje Basic interconstruido. Sin
embargo, este lenguaje es un subconjunto de VB, de tal manera que en ciertas situaciones es necesario un
lenguaje ms completo como VB para dar soporte a una aplicacin. Para cubrir algunas de la limitaciones de
Access se usa Visual Basic.
BOOKS.MDB y, 2)
Despues de que creaste la tabla con sus correspondientes campos introduce algunos
registros, en seguida salva la informacin. La tabla deber aparecer como la imagen
siguiente:
Una vez que Vb se ha cargado y se muestra una forma en blanco, da clic en el icono del
control Data
y dibuja un rectngulo sobre la forma. El control resultante deber ser un
pequeo rectngulo con dos flecha una del lado izquierdo y otra del lado derecho.
En este momento nuestro control no conoce la base de datos que debera accesar. Para
decirle usamos la propiedad DatabaseName y hacemos clic en el botn marcado con ....
Una ventana de dilogo deber aparecer donde t puedes seleccionar la base de datos que
usaremos.(..\BOOKS.MDB).
Ahora que la base de datos ha sido seleccionada podemos decirle a VB cual tabla usaremos.
Para hacer esto, damos clic en RecordSource de la ventana de propiedades y
seleccionamos la tabla Book Collection .
Con el procediemento anterior hemos ligado la base de datos a la forma de VB, pero hasta
ahora somos incapeces de ver o modificar informacin en la base de datos. Para poder
hacer esto debemos agregar algunos controles. Usaremos controles Label para mostar
informacin. Controles de Text para mostrar y actualizar informacin (acceso de lectura y
escritura). Crea un control de text sobre la forma y en la ventana de propiedades
seleccionan DataSource y en seguida Data1de la caja combinada. Esto le dice a VB que
este control obtendra datos del control new Data1 el cual esta conectado a la base de datos
BOOKS.MDB. Sin embargo, Data1 maneja toda la informacin para la tabla Book Collection.
Haz clic en DataField y selecciona un campo apropiado de la caja combinada (por
ejemplo
Title).
Repite el paso 4 hasta que los controles muestren toda la informacin contenida en la base
de datos.
Posibilidades adicionales.
Navegacin:
En lugar de confiarse de los controles Data para cambiar a diferentes registros en la base de datos, pueden
usarse los comandos especiales Recordset. Cambia la propiedad Visible del control Data a False.
Ahora se puede agregar un botn que contenga el siguiente cdigo para ir al siguiente registro:
Sub Command1_Click ()
Data1.Recordset.MoveNext
End Sub
Buscando:
Agrega un nuevo botn o una entrada de men y etiquetala como Encontrar o Buscar. En seguida en
el evento del nuevo botn agrega el siguiente cdigo:
Sub cmdFind_Click ()
Dim SearchCriteria
SearchCriteria = InputBox$("Introduce el autor a buscar:",
"Encuentra ttulo")
If Trim$(SearchCriteria) <> "" Then
SearchCriteria = "Author = '" + SearchCriteria + "'"
Data1.Recordset.FindFirst SearchCriteria
End If
End Sub
La cadena Author = se agrega al inicio de SearchCriteria porque esto especifica cual campo en la
tabla ser usado para la bsqueda. Para buscar un diferente campo cambia este campo por el alternativo.
Random access file handling in Visual Basic allows direct reading and writing to any position in a file, as opposed to sequential access which requires reading through the file linearly. This efficiency is evident when managing personal data, such as a database of contact information. Using random access, a specific record can be accessed or modified directly by setting the position index, eliminating the need to read all preceding data . For instance, storing person data like names and phone numbers in a structured format allows a program to jump to a particular record index directly and make updates or read data efficiently, vastly improving speed and performance over the sequential method .
SDI (Single Document Interface) forms are independent windows each containing their own controls and do not have parent or child relationships. In contrast, MDI (Multiple Document Interface) requires a parent form that can contain multiple child forms. This architecture allows applications like Microsoft Excel to open multiple documents within the same main window, improving the organization of documents and resources . Furthermore, MDI allows shared menus and tools between documents, enhancing the user's ability to work across multiple windows simultaneously, whereas SDI requires more independent resource handling for each window .
The Instant Watch feature in Visual Basic allows developers to view the current values of selected variables directly in the code window, facilitating immediate observation of variable states without interrupting the application flow . Toggle Breakpoint, on the other hand, enables developers to set breakpoints at specific lines of code, pausing execution at these points to examine program state and behavior. This pinpoint control supports precise troubleshooting and identification of logic errors, enhancing the effectiveness of the debugging process as developers can step through code execution line-by-line . Together, these tools provide a deep view into the application's operational state, aiding in rapid identification and correction of errors.
Visual Basic provides a comprehensive programming environment that complements Microsoft Access by offering advanced control over application logic and user interfaces. While Access is capable of managing relational databases and simple queries through its built-in capabilities, VB enhances this with the ability to create detailed user interfaces, handle complex logic, and integrate various components into a cohesive application. This expands the functionality beyond Access's native capabilities, allowing for more sophisticated data manipulation and a richer user experience . Leveraging VB for more complex interactions and UI requirements offers the potential to overcome limitations encountered with Access alone, providing a powerful solution for elaborate database-driven applications .
In the Visual Basic environment, the Toolbar provides quick access to frequently used commands and options, enhancing usability by minimizing the need to navigate through menus. It presents standard tools like run, pause, and debug commands via icons, streamlining user interaction with the IDE and improving efficiency in application development . The toolbar functions as a customizable and accessible interface element, allowing developers to focus on writing and managing code with less interruption. Its presence is essential for enhancing developer productivity in a graphical UI environment .
The LoadPicture function in Visual Basic is used to load an image from a specified path into a Picture Box control. This action dynamically alters the visual interface by updating the graphical representation within the Picture Box, responsive to user actions or code triggers . When a user makes a selection or performs an action, LoadPicture can be called to change the displayed image, creating interactive and intuitive UI experiences. By updating the Picture Box in real-time, developers can provide immediate visual feedback to users, enhancing the interactivity and engagement of the application .
Defining the data structure in random access files is crucial because it establishes the format and size of each data record. In Visual Basic, this is often done using the Type statement to specify fields and their lengths, such as strings and integers . This fixed-size record structure allows the program to calculate exact positions for reading or writing, enabling precise access to data within the file. Mistakes in defining the size could lead to data corruption or access errors. Properly structured definitions ensure data integrity and efficient access patterns, supporting reliable file operations by clearly delineating data boundaries and memory allocation .
Variable scope in Visual Basic determines the accessibility and lifespan of a variable. Local variables are limited to the procedure where they are declared, making it easier to manage and debug within that context. Module-level variables extend access to any procedure within the same module, which can facilitate communication between procedures but risks unintended interactions. Global variables, accessible from any module, provide ease of data sharing but significantly increase the risk of side effects and make debugging more complex . Understanding these implications is crucial in designing robust applications, as improper scope management could lead to resource leaks or unintended behavior .
Declaring a variable as 'Static' in a Visual Basic procedure ensures that the variable retains its value between different procedure calls, unlike normal local variables which are reinitialized each time the procedure is executed. This impacts application behavior by maintaining state across executions, enabling cumulative operations or data persistence within a session . For instance, a counter implemented with a Static variable would increment across multiple calls, as opposed to resetting each time, thereby preserving its historical value through the program’s lifecycle .
The Project Window in Visual Basic plays a critical role in organizing and managing application components by displaying all forms, modules, and controls included in the project. It provides developers with visual access to project structure, allowing them to easily navigate and manage the various elements through simple selection and interaction . Features such as 'View Form' and 'View Code' buttons streamline switching between the design and code views, facilitating efficient project management. This organizational tool enhances workflow by providing a clear overview and quick access to different parts of the application, aiding in systematic development processes .