Visual Basic 2008
Visual Basic 2008
Visual Basic 2008
En si Visual Basic es un lenguaje que est orientado a la programacin por eventos debido a necesidad
de desarrollar un software que pueda interactuar con el usuario en la forma ms sencilla posible.
La idea de generar un lenguaje de programacin Visual est enfocada al uso comn de Drag and Drop
(Arrastrar y colocar). Para as no enfocar, tanto tiempo al diseo y centralizar todo en el anlisis.
Ahora bien, con este sistema de programacin, se va a tener que tomar en cuenta ciertos
conceptos que se seguirn utilizando a lo largo del curso que nos van a ayudar en el desarrollo:
1. Objeto.
Un objeto se conoce tambin como control o componente, nosotros al trabajar visualmente vamos
a trabajar con una serie de objetos, que nos van a servir para el diseo de la interfaz grfica del
usuario, en los cuales vamos a desarrollar las aplicaciones.
2. Propiedades
Las propiedades van a ser caractersticas especficas de cada objeto, las cuales nos van a servir para
personalizar el objeto a tal grado de que nos es til. Cada objeto va a tener una serie de
propiedades, que pueden ser especficas para este objeto o generales que seran las mismas en
varios objetos.
3. Mtodos
Un mtodo es una aplicacin especfica del objeto. Cada objeto va a tener una serie de mtodos que
cumplen con la funcin de ejecutar algo con l.
4. Eventos
Se puede decir, que el evento en s, es la esencia de Visual Basic, quizs el 90% de toda la
programacin se realizar en estos, ya que este es una accin aplicada sobre un objeto. Por
ejemplo, en el momento que se le da clic a un botn, o cuando presionamos una tecla se ejecuta un
evento. Por lo que se tendr que programar sobre estos para dar solucin a un problema.
1
INGRESAR AL VISUAL BASIC.NET
Al ingresar por primera vez al visual basic.net observara la siguiente pantalla:
En esta pantalla se muestra principalmente la pgina de inicio con proyectos recientes y las opciones
para abrir o crear un nuevo proyecto. Tambin se muestra en cuadro de herramientas y el explorador de
soluciones, pero, vacos porque no hay ningn proyecto activo.
Para visualizas todos los componentes de Visual Basic.Net debe crear una aplicacin.
2
Esta ventana contiene las plantillas instaladas de Visual Studio.Net en forma
predeterminada se elige Aplicacin para Windows.
En la caja Nombre, escriba el nombre de su nueva aplicacin y presione Enter o haga clic en el botn
Aceptar.
Como puede observar, el Visual Basic 2008 express edition contiene todos los elementos de versiones
anteriores como se muestra a continuacin
BARRA DE TITULO
Contiene el nombre del proyecto y su estado. Cuando estamos en estado de diseo, es decir, dibujando
los controles o escribiendo las instrucciones, la barra solo nuestra el nombre del proyecto.
3
Durante este estado, la aplicacin solo ejecutara las instrucciones indicadas y no se podr modificarlas ni
alterar el diseo de la aplicacin.
Durante la ejecucin de una aplicacin, esta se puede interrumpir para modificar, agregar una nueva
instruccin, en este estado se visualiza la palabra depurando.
Los siguientes botones se encuentran en la barra estndar permiten iniciar, interrumpir, detener o
Como en versiones anteriores de Visual Basic, se puede ejecutar una aplicacin pulsando la tecla F5.
LA BARRA DE MENU
La barra de men contiene todas las opciones que permiten utilizar el Visual Basic 2008 Express.
Al pasar el puntero del mouse por cada uno de los botones se visualiza un mensaje indicando la funcin
de cada uno de ellos.
4
Este botn permite marcar como comentario la lnea de instruccin actual o el bloque de lneas
seleccionadas.
Este botn permite quitar la marca de comentario a la lnea de instruccin actual o el bloque de
lneas seleccionadas.
Al hacer clic en estndar se visualiza la ventana con los botones. Usted puede activar o desactivar su
casilla para visualizarlos o no.
EL CUADRO DE HERRAMIENTAS
5
Si desea que el cuadro de herramientas este permanente en su pantalla debe de hacer clic en el botn
Ocultar Automticamente.
EL FORMULARIO
Para dibujar un control que se encuentra en el cuadro de herramientas, se puede hacer doble clic sobre
el control o arrastrarlo desde el cuadro de herramientas hacia el formulario.
LA VENTANA DE PROPIEDADES
6
Despus de la barra de ttulo, la ventana de propiedades muestra el nombre y tipo de control al cual se
le est asignando las propiedades.
En el siguiente ejemplo indica que se est asignando propiedades al formulario llamado Form1.
En el siguiente ejemplo indica que se est asignando propiedades al control llamado Button1 y es un
botn de comandos
En el siguiente ejemplo indica que se est asignando propiedades al control llamado TxtNombre y es una
caja de textos.
Esta seccin de la ventana de propiedades contiene una flecha donde usted puede seleccionar otro
control que ha dibujado en su formulario para asignarle propiedades.
En la parte inferior del nombre del control se muestran los botones que permiten lo siguiente:
7
Cuando se tiene la lista de los eventos de un control, se puede hacer doble clic en su nombre para abrir
la ventana de cdigo.
Para regresar al formulario, puede pulsar las teclas Shift + F7 o hacer clic en la hoja: Form1.vb [diseo]*
que se encuentra en la parte superior.
El siguiente ejemplo muestra el explorador de soluciones con una clase, tres formularios, un mdulo con
control de usuario.
8
Propiedad del Archivo Propiedad de Proyecto
VENTANA DE CDIGO
Ventana De Diseo
Como en versiones anteriores de Visual Basic, tambin se puede ingresar a la ventana de cdigo de un
objeto pulsando la tecla F7 y para regresar a la ventana de diseo Shift + F7.
En la primera venta debe de seleccionar el elemento de Visual Basic que desea configurar.
9
La barra de estado indica si el Visual Basic .Net est Listo para trabajar o esa realizando algn Proceso, el
nmero de fila y columna donde se encuentra el cursor dentro de un programa en la ventana de cdigo
y si el teclado est en el modo Insert.
Si desea modificar el tipo de letra y los colores que utiliza el Visual Basic.Net, debe elegir de la primera
seccin la opcin Entorno/Fuentes y colores.. Se visualiza la siguiente seccin:
Para cambiar el tipo y el tamao de letra que se utilizara para las instrucciones que escriba, seleccione
Texto sin formato de la lista de elementos y luego seleccione Fuente y Tamao.
10
En el siguiente ejemplo se ha seleccionado de la lista elementos la
opcin {comentario para configurar la letra de cada comentario
que hagamos de un programa.
Puede hacer clic en el botn Buscar (...) de cada una de las cajas para indicar la carpeta
predeterminada.. Cuando grabe un proyecto se visualizar la ventana con la carpeta que ha configurado.
11
Option Explicit
Permite indicar si es obligatorio o no declarar las variables que utilizamos dentro de un programa. El
valor On indica que es obligatorio declarar las variables. Cuando el Visual Basic.Net est configurado
para que se declaren las variables, estas se visualizan subrayadas cuando no las declaramos..
Option Strict
Permite configurar el Visual Basic .Net para que controle la conversacin de datos. Cuando est en On
no permite conversaciones donde se pierdan datos. Por ejemplo, en las siguientes instrucciones ha
declarado la variable N para almacenar valores enteros pero se le est asignando un valor decimal, por
lo que se muestra subrayada, indicando error.
Junto al texto explicativo se muestra un icono de admiracin y al pulsar las teclas Shift + Alt F10 se
muestra la solucin al error cometido.
Option Compare
Permite configurar al Visual Basic .Net para el tipo de comparacin de cadenas de caracteres.
El tipo de comparacin puede ser Binary o Text.
El tipo de comparacin Binary compara cada carcter por su valor binario que lo representa. La
caracterstica principal de este tipo de comparacin es que las letras maysculas con diferentes a las
minsculas.
12
Por ejemplo, las siguientes instrucciones muestran el mensaje: No son iguales si se ha configurado
Comparacin Binary.
Por ejemplo, cada vez que forma la condicin en una instruccin if y presiona la tecla Enter,
automticamente se escribe la instruccin End if. Lo mismo sucede con la instruccin For Next y
similares.
13
En el siguiente ejemplo se muestran los controles, cuyo contenido puede devolver un dato tipo entero.
La opcin diseador de Windows Forms/General permite configurar el formulario. Por ejemplo, puede
asignar el valor true a la opcin ShowGrid para que en los formularios se muestren con lneas en el
modo de diseo.
GRABAR UN PROYECTO
En la ventana que se visualiza existe una casilla llamada guardar nuevo proyecto al crearlo.
En este caso crear un nuevo proyecto, el Visual Basic .Net slo le pedir el nombre del proyecto.
14
El nombre predeterminado de una aplicacin es WindowsAplication, reemplcelo por el nombre que
usted le desea asignar a su nueva aplicacin y luego pulse la tecla Enter o haga clic en el Botn Aceptar.
De esta manera se crea y se visualiza una nueva aplicacin, pero no se grabar. Si desea grabar la
aplicacin despus de crearla, debe hacer clic en la opcin o en el botn Grabar Todo o pulsar las teclas
Crtl + Shift + S. si slo desea grabar el formulario, puede hacer clic en la opcin o en el botn Grabar
Form.Vb o pulsar las teclas Crtl. + S.
En esta ventana puede hacer clic en el botn Examinar para buscar y/o seleccionar una nueva carpeta
donde grabar el proyecto.
Visual Basic .Net crea en forma automtica una carpeta con el nombre
del proyecto dentro del cual graba todos los archivos de ese proyecto.
En la ventana de ejemplo se observa que se ha creada la carpeta
Trabajo dentro de C:\Ejemplos.
15
El contenido de la carpeta que se crea con el nombre del proyecto depende de activar o no la casilla:
Crear directorio para solucin.
Contenido de la carpeta
Algunos archivos del proyecto se encuentran en las carpetas Bin, Obj y My Proyect.
16
Depende de la ventana de configuracin, en la caja: Ubicacin de Proyectos de Visual Studio.
El proyecto se grabara al momento de crearlo. La siguiente ventana visualiza cuando el Visual Basic .Net
est configurado para grabar proyectos al momento de crearlo.
Los controles de aplicaciones en esta nueva ventana son los siguientes y los pasos para grabar el
proyecto son los mismos.
ABRIR UN PROYECTO
Para abrir un proyecto lo puede hacer desde el explorador de
Windows haciendo doble clic en el nombre de la solucin o
del proyecto que se crea al grabarlo.
Nombre de la Solucin
17
Nombre del Proyecto
Nombre de la Solucin:
Una forma ms directa de abrir un proyecto es haciendo
clic en la opcin Archivo/Abrir Proyecto. En esta ventana,
despus de seleccionar la carpeta donde grab el
proyecto, visualiza el nombre del proyecto y de la
solucin creada. Para abrir el proyecto, haga doble clic en
cualquiera de los archivos o seleccione cualquiera de ellos
y haga clic en el botn Abrir.
El Formulario
El Control Button
El Control Label
El Control TexBox
18
El Control ToolTip
El Control Contextmenustrip.
EL FORMUALRIO
El formulario es el objeto principal de cada aplicacin porque aqu se construye la interfaz del usuario,
es decir, la comunicacin del usuario con la aplicacin que se desarrolla.
El desarrollo de una aplicacin consiste en agregar los formularios necesarios y asignarles sus
propiedades luego dibujar los controles que cada uno de ellos necesitan y asignarles tambin sus
propiedades y finalmente escribir las instrucciones requeridas por la aplicacin.
Cuando se crea una aplicacin, en forma predeterminada se crea un formulario llamado Form1. Para
agregar nuevos formularios a su aplicacin puede elegir la opcin Proyecto/Agregar Windows Forms.
El botn Agregar elemento de la barra Estndar tambin tiene la opcin Agregar WindowsForms.
Si desea, antes de hacer clic en el botn Agregar puede asignarle un nombre diferente al
predeterminado del nuevo formulario. En el siguiente ejemplo se est agregando un nuevo formulario
con el nombre FrmPersonal.
19
Para eliminar un formulario haga clic derecho en su nombre en el
explorador de soluciones y del men contextual que se visualiza elija la
opcin Eliminar.
Del mensaje que se visualiza, haga clic en el botn Aceptar para confirmar la eliminacin En la siguiente
ventana de ejemplo, el proyecto est compuesto por cuatro formularios:
Como en versiones anteriores, al ejecutar el proyecto, se visualiza el primer formulario. Para indicar el
formulario inicial puede elegir la opcin Herramientas/Propiedades o haciendo clic derecho en el
nombre de la aplicacin de explorador de soluciones y eligiendo Propiedades.
La ventana que se visualiza tiene dos secciones. La primera seccin contiene un conjunto de opciones de
las cuales debe elegir Aplicacin.
En esta seccin debe elegir en Formulario de Inicio el formulario que desea ejecutar primero.
20
PRINCIPALES PROPIEDADES DE LOS FORMULARIOS
Name
Se utiliza para asignarle un nombre al formulario. Este nombre tambin se le puede asignar al momento
de agregar el formulario.
ControlBox
Esta propiedad permite mostrar o no los botones de control del formulario.
Cursor
Se utiliza para seleccionar el tipo del puntero del mouse cuando se pase por el
formulario.
Ejemplo.
FormBorderStyle
Esta propiedad permite configurar el estilo del borde del formulario. Del estilo que se elija depende los
botones que se visualice y su comportamiento cuando se ejecuta. Ejemplos:
MaximizeBox
Se utiliza para indicar si el formulario debe mostrar el botn maximizar.
MaximumSize
Se utiliza para indicar el tamao mximo que puede tener el formulario.
MinimizeBox
Se utiliza para indicar si el formulario debe mostrar el botn minimizar.
MinimumSize
Se utiliza para indicar el tamao mnimo que puede tener el formulario.
21
StartPosition
Se utiliza para indicar la posicin del formulario cuando se ejecute.
Text
Se utiliza para escribir el ttulo del formulario.
WindowState
Se utiliza para indicar el tamao iniciar del formulario cuando se ejecute.
Los controles se encuentran en el cuadro de herramientas agrupados en fichas. Usted puede expandir la
ficha segn el tipo de control que necesita. Si desea visualizar todos los controles expanda la ficha.
Todos los formularios Windows Forms
En este casi los controles que va dibujando se van ubicando en la parte superior izquierda del
formulario.
EL CONTROL BUTTON
Este control, como en versiones anteriores del Visual Bsic.Net, permite escribir instrucciones, las cuales
se ejecutan normalmente cuando se hace clic en dicho control.
Name
Esta propiedad permite asignarle un nombre al control. Se recomienda que su nombre empiece con las
letras Btn.
22
Image
Esta propiedad permite asignarle un grfico al botn.
ImageAlign
Esta propiedad permite linear el grafico dentro del control. En Visual Basic.Net existen 9 formas de
alinear, como se muestra a continuacin.
Text
Esta propiedad permite asignarle un ttulo al botn. En esta propiedad se puede utilizar tambin el
smbolo & para poder ejecutar las instrucciones pulsado la tecla Alt y la letra subrayada del ttulo del
botn.
TextAlign
Esta propiedad permite alinear el ttulo del botn.
Esta aplicacin permite llamar a 3 formularios desde un formulario principal. El formulario principal se
llama FrmPrincipal y los otros: FrmPaises, FrmEmpleados y FrmProductos. Ejemplo:
23
Cada uno de los botones tiene asociado un grfico utilizando su propiedad image. Los tres primeros
botones tienen el grafico alineado a la mitad y lado izquierdo (MiddleLeft). El texto de cada uno de ellos
estn alineados a la mitad y centro (MiddleCenter).
El botn BtnFinalizar tiene el grafico alineado a la mitad y centro (MidlleCenter) y su texto en el centro
de la parte inferior (ButtomCenter).
El resto de formularios solo tiene un botn llamado BtnCerrar con un grfico a la mitad y centro
(MiddleCenter) y su texto en el centro de la parte inferior (BottomCenter).
Dentro de cada uno de los botones BtnCerrar del resto de formularios se utiliza el mtodo Close.
Close()
Para llamar y utilizar un formulario, tambin se le puede crear una referencia. Por ejemplo, para llamar
al formulario FrmEmpleados se pueden escribir las siguientes instrucciones.
F.Show()
El mtodo Show muestra el formulario en modo No Modal, esto quiere decir, que despus de llamar a
un formulario principal sin cerrar el formulario secundario.
Por ejemplo, si se tiene los dos formularios y haces clic en cualquier parte del formulario principal, ste
queda activado y el formulario FrmEmpleados minimizado en la barra de tareas.
24
Barra de tareas
Si queremos llamar a los formularios en modo Modal, es decir, que solo se active el formulario principal
cuando cerramos el formulario secundario, debemos utilizar el mtodo ShowDialog.
De esta manera cuando se haga clic en cualquier parte del formulario principal no se activar hasta
cerrar el formulario FrmProductos
A cada uno de los botones podemos asignarle un texto explicativo para que se visualice cuando se pase
el puntero del mouse por el control.
EL CONTROL TOOLTIP
El control ToolTip permite establecer un texto explicativo para otros controles cuando el usuario pase el
puntero del mouse por el control.
En el siguiente ejemplo se ha asignado un texto explicativo a los botones BtnPaises y BtnFinalizar.
25
Para Para poder asignarle a los controles el texto explicativo, debe dibujar en su formulario el control
ToolTip.
La siguiente ventana de propiedades pertenece al botn BtnPaises despus de haber dibujado el control
ToolTip en su formulario.
Adicionalmente el texto explicativo asignado a cada botn, podemos hacer que el color de fondo de
cada uno de ellos cambie de color cuando el usuario pase el puntero del mouse sobre cualquier botn.
26
En los siguientes ejemplos se muestra el cambio del color de cada botn en el formulario principal.
Para lograr la activacin de colores utilizamos la propiedad BackColor de cada botn y el evento
MouseMove del formulario y de los botones.
EL CONTROL LABEL
El control label permite mostrar mensaje o resultados de algn clculo numrico en el formulario.
Sus principales propiedades son:
Name
Esta propiedad permite asignarle un nombre al control. Se recomienda que su nombre empiece con las
letras Lbl.
AutoSize
Permite indicar si el tamao del control debe ajustarse en forma automtica a la calidad y tamao de las
letras que contiene. En forma predeterminada tiene el asignado el valor True.
Para poder cambiarle su tamao en tiempo de diseo debe asignarle el valor False a esta propiedad.
27
BackColor
Permite asignar un color de fondo. El color se puede asignar desde
tres hojas y el predeterminado se llama Control que se encuentra en
la hoja Sistema.
BordesStyle
Esta propiedad permite cambiar el estilo del borde del control. Son
tres estilos:
ContextMenuStrip
Se utiliza cuando deseamos mostrar un men contextual cuando el usuario haga clic derecho sobre el
control. El men contextual debe estar creado previamente, utilizando el control ContexMenuStrip. En
el siguiente ejemplo se muestra un men contextual sobre una etiqueta.
Cursor
Se utiliza para seleccionar el tipo del puntero del mouse cuando se pase por el
control. Algunos tipos de punteros son:
Dock
Esta propiedad permite indicar la forma de acoplamiento del cursor. Las formas son las
siguientes:
La opcin None ubica el control donde se dibuj. Los siguientes ejemplos se muestran
utilizando un botn de comando:
Font
Esta propiedad permite asignar el tipo, estilo y tamao de letra, as como algunos efectos con la que el
control mostrara la informacin.
28
ForeColor
Permite asignar un color a la letra del control. El color se puede
seleccionar desde tres hojas y el predeterminado se llama
ControlText que se encuentra en la hoja Sistema. La ventana que
visualiza es la misma que la propiedad BackColor.
Image
Esta propiedad permite seleccionar un grfico para que se muestre
en el control. Al ingresar a esta propiedad se muestra la siguiente
ventana:
El botn Importar permite seleccionar el grafico. Si elegimos la segunda opcin, los grficos que
seleccionemos formaran parte del proyecto y se agregaran al explorador de soluciones.
El ejemplo muestra 2 imgenes seleccionadas con la opcin: Archivo de cursos del proyecto.
ImageAlign
Esta propiedad permite alinear el grafico dentro del control. Tiene las siguientes
opciones de alineacin:
ImageIndex
Esta propiedad permite indicar el nmero del grafico almacenado en un control ImageList que debe
mostrar el control Label. El primer elemento es el nmero cero.
Para que esta propiedad funcione debe de agregar un control ImageList con algunos grficos al proyecto
y asignar el nombre de esa ImageList en la propiedad ImageList del control
Label.
29
Ejemplo:
Location
Se utiliza para indicar la posicin del control en el formulario. Se le debe asignar dos valores separados
por un punto y coma. Ambos valores se refieren a la esquina superior derecha del control. El primer
valor indica la posicin horizontal y el segundo la posicin vertical.
MaximunSize
Se utiliza para indicar el tamao mximo que puede tener el control. Acepta dos valores separados por
un punto y coma. El primer valor indica el tamao mximo horizontal y el segundo el tamao mnimo
vertical. Si no se desea asignar limite, ambos valores deben ser ceros.
MinimunSize
Se utiliza para indicar el tamao mnimo que puede tener el control. Acepta dos valores separados por
un punto y coma. El primer valor indica el tamao mnimo horizontal y el segundo el tamao mnimo
vertical. Si no se desea asignar limite, ambos valores deben ser ceros.
Padding
Esta propiedad se utiliza para indicar el espacio interior del control, es decir, el espacio entre los
mrgenes y el texto grafico que visualicen.
Size
Esta propiedad se utiliza para indicar el tamao del control. Aceptar dos valores separados por punto y
coma que representan la esquina inferior derecha. Para poder cambiar estos valores le debe asignar el
valor False a la Propiedad AutoSize.
TabIndex
Esta propiedad se utiliza para indicar el orden de ubicacin del cursor en los controles cada vez que se
pulse la tecla Tab.
Tag
Se utiliza para almacenar algn valor que podemos usar dentro de la ejecucin de un programa.
Text
Esta propiedad permite almacenar el texto o valor que el control debe mostrar. En versiones anteriores
los controles Label usaban la propiedad Caption.
TextAling
Esta propiedad permite alinear la informacin que se muestra en un control. Tiene
las siguientes opciones de alineacin:
30
UseMnemonic
Esta propiedad permite indicar si se puede acceder a la etiqueta o control dibujado, inmediatamente
despus de la etiqueta al pulsar la tecla precedida por el smbolo &.
UseWaitCursor
Esta propiedad permite indicar si se cambia la propiedad Cursor del control al valor WaitCursor.
Ejemplo:
Visible
Esta propiedad permite indicar si el control se debe visualizar o no cuando se ejecute la aplicacin.
Esta Esta aplicacin permite mostrar el nombre, edad y distrito de una persona. Se utiliza un control
Label llamado LblDato y cuatro botones de comandos llamados: BtnNombre, BtnEdad, BtnDistrito y
BtnFinalizar
El control LblDato tiene en su propiedad AutoSize el valor False, en su propiedad TxtAlign el valor
MiddleCenter y en su propiedad Font el tamao 12 y negrita.
Este programa utiliza una etiqueta (LblSaludo) y el evento Form_Load para mostrar un saludo al
ejecutarlo.
Para desarrollar este programa solo debe dibujar en un formulario y una etiqueta llamada LblSaludo y
asignarle en su propiedad AutoSize el valor False.
31
Instrcciones del evento Load del formulario.
Este control es utilizado para ingresar datos de una manera muy sencilla en una aplicacin.
Sus principales propiedades son:
Name
Esta propiedad permite asignarle un nombre al control. Se recomienda que su nombre empiece con las
letras Txt.
AcceptsReturn
Esta propiedad su utiliza para indicar si en este control se debe pasar a la siguiente lnea cuando se pulse
la tecla Enter si est configurado para escribir en mltiples lneas.
AcceptsTab
Esta propiedad se utiliza para indicar si el cursor debe pasar al siguiente control cuando el usuario pulse
la tecla Tab.
AutoCompleteCustomSource
Esta propiedad se utiliza cuando deseamos que el control TextBox autocomplete alguna palabra que
podemos escribir la letra J se auto completa con los meses que empiecen con esa inicial o inciales.
Al activar esta propiedad se visualizar la palabra Coleccin y un botn con tres puntos.
Al hacer clic en el botn con tres puntos se visualiza la siguiente ventana donde debe escribir sus
iniciales.
AutoCompleteMode
Esta propiedad se utiliza para
indicar la forma como se deben
auto completar las palabras en el
control TextBox y son las
siguientes:
32
Suggest Append Suggest Append
AutoCompleteSource
Esta propiedad se utiliza para indicar el origen de las palabras que se deben auto completar en el control
TextBox.
BorderStyle
Esta propiedad permite asignar un borde al control TextBox. Los tipos de bordes son los siguientes:
CharacterCasing
Esta propiedad permite indicar si las letras que el usuario escribe en el control TextBox deben quedar
como las escribe o convertirse a maysculas o minsculas.
La opcin Normal deja las letras como el usuario las escribe. Upper las convierte a maysculas y Lower
las convierte a minuscilas.
ContextMenuStrip
Se utiliza cuando deseamos mostrar un men contextual cuando el usuario haga clic derecho sobre el
control. El men contextual debe estar creado previamente utilizando el control
ContextMenuStrip.
33
Cursor
Se utiliza para seleccionar el tipo del puntero del mouse cuando se pase por el control. El
predeterminado en este control es lBeam.
Lines
Esta propiedad se utiliza para ingresar el texto en modo de diseo cuando el control TextBox esta
configurado para utilizar mltiples lneas. Al ingresar a esta propiedad se muestra las siguiente venta
donde debe escribir el texto deseado.
Locked
Esta propiedad se utiliza para indicar si se puede mover, cambiar el tamao del control en tiempo de
diseo. Cuando se le asigna el valor True a esta propiedad, el control no se podr mover ni cambiar de
tamao y el control se visualizara con un candado en la parte superior derecha.
MaxLength
Esta propiedad se utiliza para establecer la cantidad mxima de caracteres que debe aceptar el control
TextBox. La cantidad predeterminada de caracteres que acepta el control es: 32,767.
MultiLine
Esta propiedad se utiliza para indicar si el control de aceptar varias lneas de texto. Cuando se asigna el
valor True a esta propiedad se debe indicar las barras de desplazamiento que debe tener el control. Para
ello debe utilizar su propiedad ScrollBars.
PasswordChar
Se utiliza cuando queremos evitar que se visualicen los caracteres que
escribimos en el control TextBox, como por ejemplo cuando ingresamos
contraseas. Acepta solo un carcter, el cual reemplazara a todo lo que se
escribe en el control. Ejemplo:
ReadOnly
Se utiliza para indicar si el usuario puede escribir o modificar los datos que se encuentran en el control
TextBox. En versiones anteriores de Visual Basic, esto se haca con la propiedad Locked.
RightToLeft
En esta propiedad se puede indicar si el texto se puede escribir de derecha
a izquierda.
34
ScrollBars
Esta propiedad se utiliza para indicar la barra de desplazamiento que
debe acompaar el control TextBox cuando est configurado para
escribir en mltiples lneas, es decir, cuando la propiedad MultiLine tiene el valor True. La opcin Both
muestra ambas barras: Vertical y Horizontal.
El siguiente formulario muestra una caja de textos configurada para que acepte varias lianas de texto y
con la barra de desplazamiento Vertical.
TabIndex
Esta propiedad se utiliza para indicar el orden de ubicacin del cursor en los controles TextBox cada vez
que se pulse la tecla Tab.
TabStop
Esta propiedad se utiliza para indicar si el cursor se debe ubicar en el control cuando el usuario pulse la
tecla Tab en el control anterior.
Text
En esta propiedad se almacena el texto que el usuario escribe en el control TextBox.
TextAlign
Esta propiedad permite alinear un texto en el control TextBox. Tiene las siguientes opciones:
UseWaitCursor
Esta propiedad permite indicar si se cambia la propiedad Cursor del control al valor WaitCurose.
Ejemplo:
Visible
Esta propiedad permite indicar si el control se debe visualizar o no cuando se ejecuta la aplicacin.
WordWrap
Se utiliza para indicar si al llenarse una lnea, el cursor debe pasar automticamente a la siguiente,
cuando el control est configurado en mltiples lneas.
35
Controles utilizados
Aplicacin Desarrollada
Permite ingresar el nombre y tres notas y mostrar los puntos y el promedio. Si est aprobado, su
promedio se muestra en azul, de lo contrario en rojo.
Controles utilizados
36
Instrucciones del Botn BtnNuevo:
Podemos modificar las instrucciones del botn calcular para que verifique el ingreso correcto de las
notas.
If txtnombre.Text.Trim = ""Then
MessageBox.Show("Ingrese el Nombre del Alumno", "Por Favor",
MessageBoxButtons.OK, MessageBoxIcon.Information)
txtnombre.Focus()
ExitSub
EndIf
If txtnota1.Text.Trim = ""OrSingle.Parse(txtnota1.Text.Trim) < 0
OrSingle.Parse(txtnota1.Text.Trim) > 20 Then
MessageBox.Show("Ingrese la Nota 1", "Entre 0 y 20",
MessageBoxButtons.OK, MessageBoxIcon.Error)
txtnota1.Text = ""
txtnota1.Focus()
ExitSub
EndIf
If txtnota2.Text.Trim = ""OrSingle.Parse(txtnota2.Text.Trim) < 0
OrSingle.Parse(txtnota2.Text.Trim) > 20 Then
MessageBox.Show("Ingrese la Nota 2", "Entre 0 y 20",
MessageBoxButtons.OK, MessageBoxIcon.Error)
txtnota2.Text = ""
txtnota2.Focus()
ExitSub
37
EndIf
If txtnota3.Text.Trim = ""OrSingle.Parse(txtnota3.Text.Trim) < 0
OrSingle.Parse(txtnota3.Text.Trim) > 20 Then
MessageBox.Show("Ingrese la Nota 3", "Entre 0 y 20",
MessageBoxButtons.OK, MessageBoxIcon.Error)
txtnota3.Text = ""
txtnota3.Focus()
ExitSub
EndIf
Dim nota1, nota2, nota3, puntos, promedio AsSingle
nota1 = Single.Parse(txtnota1.Text)
nota2 = Single.Parse(txtnota1.Text)
nota3 = Single.Parse(txtnota1.Text)
puntos = nota1 + nota2 + nota3
promedio = puntos / 3
lblpuntos.Text = puntos.ToString
lblpromedio.Text = promedio.ToString
Else
lblpromedio.ForeColor = Color.Red
EndIf
Aplicacin desarrollada
Este programa permite ingresar el nombre de un cliente y el monto total de su factura y calcula y
muestra por separado importe e IGV (19%). La suma del importe e IGV debe dar el monto de la factura.
txtcliente.Text = ""
txtmonto.Text = "" controles usados
lblimporte.Text = ""
lbligv.Text = ""
txtcliente.Focus()
38
APLICACIN DESARROLLADA
Este programa permite ingresar un nmero e indicar si es par o impar. Contiene otra forma de borrar el
contenido de una caja de textos y de convertir valores.
En los programas anteriores se utiliza parse para convertir los valores ingresados en controles textbox al
tipo de dato que se ha definido la variable donde se almacenan.
En este programa se utiliza la funcin ctype que tambin permite realizar conversiones de datos.
Para limpiar el contenido de un control textbox se le puede asignar un valor vaco entre comillas. Por
ejemplo:
Txtdato.text =
If txtnumero.Text.Trim = ""Then
MessageBox.Show("Ingrese un Numero", "Por Favor",
MessageBoxButtons.OK, MessageBoxIcon.Error)
txtnumero.Clear()
txtnumero.Focus()
ExitSub
EndIf
EL CONTROL CONTEXTMENUSTRIP
Permite crear un menu contextual en un formulario, el cual se podra enlazar a cualquier control para
que se visualiza cuando se hace clic derecho.
39
Cuando se dibuja en el formulario o se selecciona, se muestra la ventana para escribir las opciones que
debe mostrar el men contextual. Ubique el cursor en cada caja donde dice: Escriba aqu y escriba las
opciones:
Name
Esta propiedad permite asignarle un nombre al control.
AutoClose
Esta propiedad permite indicar si el men contextual se debe cerrar automticamente despus de elegir
una opcin.
BackgroundImage
Esta propiedad permite seleccionar un grfico que servir de donde al men contextual.
ImageScalingSize
Esta propiedad permite indicar el tamao de los grficos que pueden acompaar a las opciones del
Items
Esta propiedad permite acceder a la ventana donde se puede agregar y/o editar las opciones del men
contextual.
40
ShowChechMargin
Permite indicar si se debe mostrar el margen izquierdo del men contextual donde se muestra el check
que indica si la opcin esta elegida o no.
ShowImageMargin
Permite indicar si se debe mostrar los grficos asignados a cada una de las opciones del men
contextual.
ShowItemToolTips
Permite indicar si se debe mostrar el texto de la propiedad ToolTipText.
TextDirection
Permite indicar la direccin del texto de las opciones del men.
Las principales propiedades cuando se selecciona una opcin son:
Name
Esta propiedad permite asignarle un nombre a la opcin. En forma predeterminada toma el nombre del
texto escrito para la opcin seguro de: ToolStripMenuItem.
Checked
Esta propiedad permite indicar si la casilla de verificacin de la opcin debe estar activada o
desactivada. Para que se visualice la casilla, debe asignar el valor
CheckOnClick
Esta propiedad permite indicar si la casilla de verificacin de la opcin debe activar y desactivar cuando
se haga clic en la opcin.
CheckState
Permite indicar el estado de la casilla de verificacin de la opcin.
41
DisplayStyle
Permite indicar lo que se debe mostrar en la opcin.
Image
En esta propiedad se puede seleccionar un grfico que se mostrara junto a la opcin.
ShortCutKeyDisplayString
En esta propiedad se puede escribir un texto que reemplazara al texto que representa a la combinacin
de teclas de acceso rpido en la opcin.
ShortCutKeys
Permite indicar la combinacin de teclas de acceso rpido a la opcin
del men contextual.
ShowShortCutKeys
Permite indicar si la combinacin de teclas de acceso rpido a la opcin se debe visualizar junto a la
opcin.
ToolTipText
Esta propiedad permite escribir un texto que se visualizara cuando se pase el puntero del mouse por una
opcin.
Debe hacer doble clic en cada una de las opciones para escribir las instrucciones que deben ejecutar.
Tambin puede hacer clic en el botn Ver Cdigo. En el siguiente ejemplo se ha hecho doble clic en la
opcin Edad.
42
Aplicacin desarrollada
Este programa permite mostrar el nombre, edad o distrito de una
persona utilizando un men contextual que funciona dentro de un
control Label y cual se utiliza para mostrar el dato seleccionado. El
men contextual tambin tiene la opcin para finalizar el
programa.
Ejemplo:
Para desarrollar este programa debe dibujar en su formulario un control Label llamado LblDato y un
control ContextMenuStrip1
Al control Label le debe asignar valores en las siguientes propiedades:
43
Instrucciones de la opcin del men contextual.
Aplicacin desarrollada
Este programa permite ingresar el nombre y 3 notas de un alumno y mostrar los puntos obtenidos y su
promedio.
Este programa no tiene ningn botn de comando, las opciones para Clacular el Promedio, Ingresar los
datos de un nuevo alumno y finalizar un programa se eligen de un men contextual que se esta
enlazando al formulario, es decir, el men contextual se muestra cuando se hace clic derecho en
cualquier parte del formulario. El men contextual es el siguiente:
Para desarrollar este programa debe de dibujar los siguientes controles incluyendo el control
ContextMenuStrip para crear el men contextual
El formulario tiene como ttulo: CETDI y lo debe enlazar con el control ContextMenuStrip1 como se
muestra a continuacin:
44
El men contextual debe tener las siguientes opciones:
Aplicacin Desarrollada
Este programa permite ingresar los mismos datos y mostrar los mismos resultados del programa
anterior.
45
Se diferencian porque tiene las siguientes caractersticas:
1. Los resultados se calculan y muestran en forma automticas cuando se han ingresado el nombre
del alumno y sus tres notas.
2. Las notas deben ser nmeros entre 0 y 20 de los contrario se muestra el siguiente mensaje de
error:
4. Al pulsar la tecla Enter en la nota N 3 los datos se limpian para ingresar lo datos de un nuevo
alumno.
Los controles para este programa son los mismos que se usaron en el programa anterior a excepcin del
control ContextMenuStrip.
Este valor permitir que el formulario detecte la pulsacin de la tecla ESC para que el programa finalice.
A los controles TxtNota1, TxtNota2 y TxtNota3 debe asignarle el valor 2 en su propiedad MaxLength
Este valor permitir que solo se ingresen dos caracteres. La verificacin que sean numricos y entre 0 y
20 se realiza dentro del programa.
Los controles LblPuntos y LblPromedio deben tener las mismas propiedades del programa anterior:
46
Despus de dibujar los controles y asignar las propiedades debe importar el espacio de nombre:
Microsoft.VisualBasic para utilizar la funcin LSNumeric que permite saber si un valor es numrico o no.
Esto se realiza en la seccin de declaracin del formulario:
Para este programa tambin debe crear cuatro procedimientos llamados: Calcular, Nuevo, Limpiar y
Comprobar.
Para crear un procedimiento, ubique el cursor debajo de cualquier palabra End Sub y escriba Sub y el
nombre del procedimiento que desea crear.
Procedimiento Nuevo: Este procedimiento limpia el contenido de los controles para ingresar los datos
de un nuevo alumno.
Sub Nuevo()
TxtNombre.Text = ""
TxtN1.Text = ""
TxtN2.Text = ""
TxtN3.Text = ""
LblPromedio.Text = ""
LblPuntos.Text = ""
TxtNombre.Focus()
EndSub
Procedimiento Limpiar: Este procedimiento limpia los resultados del programa es decir los puntos y el
promedio del alumno. Este procedimiento es llamado cuando por ejemplo se ha ingresado en forma
incorrecta una de las notas.
Sub Limpiar()
LblPuntos.Text = ""
LblPromedio.Text = ""
EndSub
47
Procedimiento Comprobar: Este procedimiento se ejecuta cuando se ingresan o modifican los datos. Si
todos los datos se han ingresado, llama al procedimiento Calcular, de lo contrario llama al
procedimiento Limpiar.
Sub Comprobar()
If TxtNombre.Text <>""And IsNumeric(TxtN1.Text) And IsNumeric(TxtN2.Text) And
IsNumeric(TxtN3.Text) Then
Call Calcular()
Else
Call Limpiar()
EndIf
EndSub
Procedimiento Calcular: Este procedimiento calcula y muestras los puntos y promedio del alumno.
Tambin verifica que las notas estn entre 0 y 20.
Sub Calcular()
If Val(TxtN1.Text) < 0 Or Val(TxtN1.Text) > 20 Then
MsgBox("La Nota 1 debe estar entre 0 y 20", MsgBoxStyle.Critical, "Verifique")
TxtN1.Text = ""
TxtN1.Focus()
ExitSub
EndIf
LblPromedio.ForeColor = Color.Red
EndIf
LblPromedio.Text = promedio
EndSub
48
Instrucciones del evento KeyPress del formulario
Estas instrucciones pasan el cursor al control TxtNota1 cuando el usuario pulsa la tecla Enter despus de
ingresar el nombre.
Esta instrucciones pasan el cursor al control TxtNota2 cuando el usuario pulsa la tecla Enter despus de
ingresar la nota N1.
Estas instrucciones limpian los datos ingresados cuando el usuario pulsa la tecla Enter
49
despus de ingresar la nota N3.
Estas instrucciones llaman al procedimiento. Comprobar que verifica si se han ingresado todos los datos
para llamar al procedimiento calcular o al procedimiento Limpiar.
Now
Esta funcin devuelve la fecha y hora del sistema. La siguiente instruccin muestra la fecha y hora en el
control Label 1. Se pueden escribir en el evento Load del Formulario:
El formato en el que se visualiza la fecha y hora depende de la configuracin que tiene la computadora:
50
Para cambiar la configuracin, ingrese al Panel de Control y elija la siguiente opcin:
TimeString
Esta funcin devuelve slo la hora del sistema como una cadena de caracteres. La siguiente instruccin
muestra la hora en el control Label1.
Label1.Text = TimeString
DateString
Esta funcin devuelve slo la fecha del sistema como una cadena de caracteres. La siguiente instruccin
muestra la fecha en el control Label1.
Label1.Text = DateString
ToDate
Esta funcin devuelve tambin la fecha del sistema.
Hour
Esta funcin devuelve slo el nmero de la hora del sistema.
Minute
Esta funcin devuelve slo los minutos de la hora del sistema.
Seconds
Esta funcin devuelve slo los segundos de la hora del sistema.
La siguiente instruccin muestra en forma separada las horas, minutos y segundos de la hora del
sistema:
Label1.Text = Son las & Hour(TimeString) & horas con & Minute(TimeString) & minutos y &
Second(TimeString) & segundos
Day
Esta funcin devuelve slo el nmero del da de la fecha del sistema.
Month
Esta funcin devuelve slo el nmero del mes de la fecha del sistema.
51
MonthName
Esta funcin devuelve el nombre del nmero del mes de una fecha.
Year
Esta funcin devuelve slo el ao de la fecha del sistema.
Las siguientes instrucciones devuelven los datos anteriores separados:
WeekDay
Esta funcin devuelve un nmero entre 1 y 7 que representa el nmero del da de la semana.
WeekDayName
Esta funcin devuelve el nombre del nmero del da de la semana.
Las siguientes instrucciones muestran en el control Label1 el nmero y nombre del da de la semana.
IsDate
Esta funcin devuelve el valor True si un valor es de tipo Fecha.
Las siguientes instrucciones muestran un mensaje indicando si el contenido del control TextBox1 es de
tipo fecha.
If IsDate(TextBox1.Text) Then
MsgBox(Si es una fecha)
Else
MsgBox(No es una fecha)
End If
Aplicacin Desarrollada
Este programa permite ingresar una fecha y mostrar por separado toda su informacin. El programa
verifica que se ingrese una fecha correcta.
52
Controles del formulario
Este formulario est compuesto por una caja de textos llamada
TxtFecha, un botn llamado BtnVer y por controles Label
donde se muestran los resultados deseados.
DateDiff
Esta funcin devuelve la diferencia entre dos fechas.
Su sintaxis es:
DateDiff(Intervalo,Fecha1,Fecha2)
53
Las siguientes instrucciones muestran en un control llamado LblDias la diferencia en das entre el 01-05-
2006 y el 03-05-2006.
Las siguientes instrucciones muestran en un control llamado LblHoras la diferencia en horas entre el 01-
05-2006.
Dim A, B As Date
A = Date.Parse(01-05-2006)
B = Date.Parse(02-05-2006)
LblHoras.Text = La diferencia es: &
DateDiff(DateInterval.Hour, A, B) & Horas
Las siguientes instrucciones muestran en un control llamado LblMinutos la diferencia en minutos entre
las 16:05 y las 16:20.
Dim A, B As Date
A = Date.Parse(16:05)
B = Date.Parse(16:20)
LblMinutos.Text = La diferencia es: &
DateDiff(DateInterval.Minute, A, B) & Minutos
Aplicacin Desarrollada
54
En esta ventana de ejemplo se muestra la diferencia en
aos.
55
Tiempo = DateDiff(DateInterval.Year, Fecha1, Fecha2)
LblTiempo.Text = Son & Tiempo & Aos de diferencia
DateAdd
Esta funcin permite incrementar o disminuir un intervalo de tiempo a una fecha.
Su sintaxis es:
DateAdd(Intervalo,Numero,Fecha)
El nmero es el valor que se le va a incrementar o disminuir a la fecha. Si
el valor es negativo se disminuye a la fecha. El intervalo puede ser
cualquiera de los siguientes valores:
Dim A As Date
A = Date.Parse(24-08-2006)
LblMinutos.Text = La nueva fecha es: & DateAdd(DateInterval.Day, 3, A)
Aplicacin Desarrollada
Este programa permite ingresar una fecha y un nmero y muestra una nueva fecha incrementada o
disminuida en das, semanas, meses y aos.
56
En esta ventana de ejemplo se muestra la incrementada
en meses.
57
Instrucciones del botn BtnAos:
Aplicacin Desarrollada
Este programa es similar al anterior, se diferencia porque est desarrollado con una funcin.
La funcin que utiliza este programa se llama NuevaFecha la cual slo tiene un parmetro que indica un
intervalo de tiempo que se debe incrementar a la fecha, y puede tener los siguientes valores:
1 Das
2 Semanas
3 Meses
4 Aos
58
Instrucciones del botn BtnDas:
LblNuevaFecha.Text = NuevaFecha(1)
DatePart
Esta funcin permite obtener un dato de una fecha reemplazando a
algunas funciones estudiadas anteriormente.
Su sintaxis es:
DatePart(Dato,Fecha)
DateInterval.Day
Obtiene el nmero del da del mes que puede ser entre 1 y 31 dependiendo del mes de la fecha.
DateInterval.DayOfYear
Obtiene el nmero del dia del ao que puede ser entre 1 y 365 dependiendo de la fecha.
Ejemplo: Las siguientes instrucciones muestran el nmero 32 porque el da 01-02-2006 es el da N 32
del ao.
DateInterval.Hour
Obtiene las horas cuando dentro de la fecha se encuentran las horas:
Ejemplo: Las siguientes instrucciones muestran el 15 porque la fecha
contiene las 15 horas y 20 minutos.
59
DateInterval.Minute
Obtiene los minutos cuando dentro de la fecha se encuentran las
horas:
DateInterval.Month
Obtiene el nmero del mes de la fecha.
Ejemplo: Las siguientes instrucciones muestran el nmero 8, porque la
fecha es del mes de Agosto.
DateInterval.Quarter
Obtiene un nmero del 1 al 4 que representa el
trimestre del ao al que pertenece la fecha como se
explica en el siguiente cuadro:
DateInterval.Second
Obtiene los segundos cuando dentro de la fecha se encuentran las
horas:
Ejemplo: Las siguientes instrucciones del botn Ver muestran el 45
porque la fecha contiene las 20 horas, 13 minutos y 45 segundos.
DateInterval.WeekDay
Obtiene el nmero del da de la semana que puede ser entre 1 y 7
dependiendo de la fecha. El da domingo es el N 1.
Ejemplo: Las siguientes instrucciones muestran el 1, porque la fecha
utilizada en la funcin: 05-02-2006 es un da domingo.
60
Dim Fecha As Date
Fecha = Date.Parse(05-02-2006)
LblResultado.Text = DatePart(DateInterval.Weekday, Fecha).ToString
DateInterval.WeekOfYear
Obtiene el nmero de la semana del ao que puede ser entre 1 y 53
dependiendo de la fecha.
Ejemplo: Las siguientes instrucciones muestran el 18, porque la
fecha utilizada en la funcin:
01-05-2006 pertenece a la semana 18 del ao.
Dim Fecha As Date
Fecha = Date.Parse(01-05-2006)
LblResultado.Text = DatePart(DateInterval.WeekOfYear, Fecha).ToString
DateInterval.Year
Obtiene el ao de la fecha.
Ejemplo: Las siguientes instrucciones muestran el ao 2006.
Dim Fecha As Date
Fecha = Date.Parse(01-05-2006)
LblResultado.Text = DatePart(DateInterval.Year, Fecha).ToString
Len(Cadena)
Ejemplo: las siguientes instrucciones muestra el nmero 10.
Las variables tipo String tiene una propiedad llamada Length que tambin devuelve la cantidad de
caracteres que contiene.
Ejemplo: las siguientes instrucciones muestran el mismo resultado.
Left
Esta funcin devuelve una cantidad de caracteres de una cadena
empezando por la izquierda.
Para evitar confusiones con propiedades Left de otros objetos, se
debe utilizar su espacio de nombre: Microsoft.VisualBasic.Left. Por
ejemplo, el formulario tiene una propiedad Left:
61
Microsoft.VisualBasic se puede utilizar para todas las funciones:
Microsoft.VisualBasic.Left(Cadena,N)
N es la cantidad de caracteres que se desea obtener
de la cadena.
Right
Esta funcin devuelve una cantidad de caracteres de una
cadena empezando por la derecha.
Su sintaxis es:
Microsoft.VisualBasic.Right(Cadena,N)
Mid
Esta funcin devuelve una cantidad de caracteres de una cadena a
partir de una determinada posicin.
Su sintaxis es:
Microsoft.VisualBasic.Mid(Cadena,P,N)
P es la posicin de la cadena a partir de la cual se desean obtener
los caracteres.
62
Dim Texto As String
Texto = Hola Mundo
LblResultado.Text = Microsoft.VisualBasic.Mid(Texto,3,4)
Las variables tipo String tienen un mtodo llamado SubString que obtiene el mismo resultado de la
funcin Mid, con la diferencia que el primer elemento es el cero (0). Se le debe dar como parmetros la
posicin inicial y la cantidad de caracteres. Ejemplo: las siguientes instrucciones muestran el mismo
resultado anterior:
Aplicacin Desarrollada
Este programa permite ingresar el cdigo de un alumno y mostrar los datos que representa.
63
Ejemplo: Controles del formulario:
Los controles Labels que muestran los resultados tienen las siguientes propiedades:
Case Else
Semestre = Error
End Select
Obtiene la especialidad
Select Case Esp
Case CI
Especialidad = Computacin
Case CO
64
Especialidad = Contabilidad
Case ET
Especialidad = Enfermera
Case SE
Especialidad = Secretariado
Case Else
Especialidad = Error
End Select
Obtiene el Ciclo
Select Case Cic
Case 1
Ciclo = Primero
Case 2
Ciclo = Segundo
Case 3
Ciclo = Tercero
Case 4
Ciclo = Cuarto
Case 5
Ciclo = Quinto Case 6
Ciclo = Sexto
Case Else
Ciclo = Error
End Select
Obtiene el Turno
Select Case Tur
Case M
Turno = Maana
Case T
Turno = Tarde
Case N
Turno = Noche
Case Else
Turno = Error
End Select
LblAo.Text = Ao
LblSemestre.Text = Semestre
LblEspecialidad.Text = Especialidad
LblCiclo.Text = Ciclo
LblTurno.Text = Turno
LblGrupo.Text = Gru
UCase
Esta funcin convierte un texto a maysculas.
Su sintaxis es:
Microsoft.VisualBasic.UCase(Cadena)
Ejemplo: Las siguientes instrucciones muestran las palabras
hola mundo en maysculas.
Dim Texto As String
Texto = hola mundo
LblResultado.Text = Microsoft.VisualBasic.UCase(Texto)
65
Si no existe ninguna propiedad o mtodo que se llama UCase se puede escribir directamente el nombre
de la funcin. Por ejemplo, las siguientes instrucciones muestran el mismo resultado anterior.
LCase
Esta funcin convierte un texto a minsculas.
Su sintaxis es:
Microsoft.VisualBasic.LCase(Cadena)
StrConv
Esta funcin convierte un texto a caracteres de otra regin o
minsculas, maysculas o slo la primera letra de cada palabra a
Maysculas.
Su sintaxis es:
Microsoft.VisualBasic.StrConv(Cadena, Tipo)
El tipo representa la conversin que desea realizar al texto y se
pueden utilizar las siguientes opciones:
Las opciones que se pueden utilizar para la configuracin de nuestra regin son:
VbStrCon.LowerCase
66
Convierte el texto a minsculas.
VbStrCon.ProperCase
Convierte el texto a slo la primera letra de cada palabra a maysculas.
VbStrCon.UpperCase
Convierte el texto a maysculas.
Aplicacin Desarrollada
Este programa permite ingresar una frase y mostrarla en minsculas, maysculas y slo la primera letra
de cada palabra en maysculas.
Trim
Esta funcin quita los espacios en blanco que se encuentran a la izquierda o derecha de una cadena.
Su sintaxis es:
Microsoft.VisualBasic.Trim(Cadena)
67
Las variables String tienen tambin mtodo con el mismo nombre y cumple la misma funcin.
Las siguientes instrucciones devuelven el mismo resultado anterior, pero, utilizando los mtodos.
Visual Basic .Net tambin tiene las funciones LTrim y RTrim que slo quitan los espacios en blanco que
se encuentran a la izquierda o derecha de una cadena.
GetChar
Esta funcin devuelve un carcter de una cadena.
Su sintaxis es:
Microsoft.VisualBasic.GetChar(Cadena, N)
Donde N es el nmero del carcter que se desea obtener. Las siguientes instrucciones de ejemplo
devuelven la letra M:
InStr
Esta funcin devuelve la posicin inicial de una subcadena dentro de una cadena. La subcadena se
empieza a buscar por la izquierda de la cadena.
Su sintaxis es:
Microsoft.VisualBasic.InsStr(Cadena, SubCadena)
InStrRev
Esta funcin devuelve la posicin inicial de una subcadena dentro de una cadena. La subcadena se
empieza a buscar por la derecha de la cadena.
Su sintaxis es:
Microsoft.VisualBasic.InStrRev(Cadena, SubCadena,I)
Donde I es un valor opcional que indica la posicin de la cadena a partir de la cual se desea realizar la
bsqueda.
68
Las siguientes instrucciones de ejemplo muestra la posicin nmero 2 porque la primera letra O est en
la posicin 2 empezando por la izquierda ya que se usa la funcin anterior InStr:
En las dos funciones anteriores se puede indicar tambin en forma opcional el tipo de comparacin que
se desea realizar que puede ser: Binaria o Texto.
Replace
Esta funcin permite reemplazar una subcadena por otra dentro de una cadena.
Su sintaxis es:
Microsoft.VisualBasic.Replace(Cadena, SubCadena1, SubCadena2)
Las siguientes instrucciones de ejemplo devuelven el texto: Hola_Mundo porque reemplazan los
espacios en blanco por un guion bajo.
Space
Esta funcin devuelve una cantidad de espacios en blanco.
Su sintaxis es:
Microsoft.VisualBasic.Space(N)
69
For I = 1 To Texto.Length
N = N & GetChar(Texto, I) & Space(1)
Next
LblResultado.Text = N.Trim
Str
Esta funcin convierte un valor a tipo String
Su sintaxis es:
Microsoft.VisualBasic.Str(Valor)
Las siguientes instrucciones convierten a tipo String dos nmeros y los concatenan con el operador +
devolviendo el nmero: 1025. Tambin se utiliza el mtodo Trim para quitar los espacios en blanco.
Dim A, B As Integer
A = 10
B = 25
LblResultado.Text = Str(A).Trim + Str(B).Trim
Si uno de los valores no se convierte a String, Visual Basic .Net realiza la operacin aritmtica de suma.
Dim A, B As Integer
A = 10
B = 25
LblResultado.Text = A + Str(B).Trim
StrComp
Esta funcin convierte un valor a tipo String.
Su sintaxis es:
Microsoft.VisualBasic.StrComp(Cadena1,Cadena2,Tipo)
Tipo es opcional y se utiliza para indicar el tipo de comparacin de las cadenas que puede ser Binary o
Text.
El tipo de comparacin Binary compara cada carcter por su valor binario que lo representa. La
caracterstica principal de este tipo de comparacin es que las letras maysculas son diferentes a las
minsculas.
Esta funcin devuelve cualquiera de los siguientes valores como resultado de la comparacin:
Dim A, B As String
A = Hola
B = hola
If StrComp(A, B, CompareMethod.Text) = 0 Then
LblResultado.Text = Si son iguales
Else
LblResultado.Text = No son iguales
End If
70
StrReverse
Esta funcin invierte el orden de los caracteres de una cadena.
Su sintaxis es:
Microsoft.VisualBasic.StrReverse(Cadena)
Ejemplo: Las siguientes instrucciones muestran las palabras Hola Mundo en el orden inverso.
Remove
Es un mtodo de las variables String que permiten eliminar una subcadena de una cadena. Se le debe
indicar la posicin inicial y la cantidad de caracteres que se desea eliminar. La primera posicin e cero
(0).
Su sintaxis es:
Microsoft.VisualBasic.Asc(Caracter)
Chr
Esta funcin devuelve el carcter de un valor que se enva como parmetro.
Su sintaxis es:
Microsoft.VisualBasic.Chr(Caracter)
Por ejemplo, la siguiente instruccin muestra el carcter
representado por el nmero 209.
LblResultado.Text = Microsoft.VisualBasic.Chr (209)
71
El control TextBox1 tiene en su propiedad MaxLength el valor 1 para que slo se ingrese un carcter
Dim C As Char
C = TextBox1.Text
LblResultado.Text = Microsoft.VisualBasic.Asc(C)
Aplicacin Desarrollada
La consistencia de los datos se controla en el evento KeyPress de cada una de las cajas de texto.
72
FUNCIONES NUMRICAS
Fix
Esta funcin devuelve slo la parte entera de un nmero. Si el nmero es negativo, esta funcin
devuelve el primer nmero entero negativo mayor o igual que el nmero.
Su sintaxis es:
Microsoft.VisualBasic.Fix(Numero)
Ejemplo: la siguiente instruccin muestra el nmero 12.
LblResultado.Text = (Microsoft.VisualBasic.Fix(12.6))
Hex
Esta funcin convierte un nmero al sistema hexadecimal.
Su sintaxis es:
Microsoft.VisualBasic.Hex(Numero)
Ejemplo: la siguiente instruccin muestra la letra A.
LblResultado.Text = Microsoft.VisualBasic.Hex(10)
Int
Esta funcin devuelve slo la parte entera de un nmero. Si el nmero es negativo, esta funcin
devuelve el primer nmero entero negativo menor o igual que el nmero.
Su sintaxis es:
Microsoft.VisualBasic.Int(Numero)
Ejemplo: la siguiente instruccin muestra el nmero 23.
LblResultado.Text = Microsoft.VisualBasic.Int(23.5)
IsNumeric
Esta funcin permite saber si un dato es numrico. Si el dato es numrico devuelve True de lo contrario
devuelve False.
Su sintaxis es:
Microsoft.VisualBasic.IsNumeric(Numero)
73
End If
Oct
Esta funcin convierte un nmero al sistema octal.
Su sintaxis es:
Microsoft.VisualBasic.Oct(Numero)
Val
Esta funcin convierte un valor a tipo numrico.
Su sintaxis es:
Microsoft.VisualBasic.Val(Valor)
Abs
Esta funcin devuelve el valor absoluto de un nmero.
Su sintaxis es:
System.Math.Abs(Numero)
CeiLing
Esta funcin permite redondear un nmero decimal al entero mayor
ms prximo.
Su sintaxis es:
Math.CeiLing(Numero)
74
LblResultado.Text = Math.CeiLing(2.1)
Floor
Esta funcin permite redondear un nmero decimal al entero menor
ms prximo.
Su sintaxis es:
Math.Floor(Numero)
Ejemplo: la siguiente instruccin muestra el nmero 2.
LblResultado.Text = Math.Foor(2.1)
Max
Esta funcin devuelve el nmero mayor de dos nmeros que se pasan
como parmetros.
Su sintaxis es:
Math.Max(Numero1, Numero2)
Min
Esta funcin devuelve el nmero menor de dos nmeros que se pasan
como parmetros.
Su sintaxis es:
Math.Min(Numero1, Numero2)
Pow
esta funcin devuelve la potencia de un nmero.
Su sintaxis es:
Math.Pow(Numero, Potencia)
Ejemplo: la siguiente instruccin muestra el nmero 8.
LblResultado.Text = Math.Pow(2, 3)
Round
Esta funcin permite redondear un nmero. Si el valor decimal es mayor
a 0.5 se redondea al entero mayor ms prximo.
Su sintaxis es:
Math.Round(Numero)
Sign
Esta funcin permite saber si un nmero es cero, positivo o negativo. Si
el nmero es cero devuelve 0, si el nmero es positivo devuelve 1 y si el
nmero es negativo devuelve -1.
75
Su sintaxis es:
Math.Sign(Numero)
Sqrt
Esta funcin permite obtener la raz cuadrada de un nmero.
Su sintaxis es:
Math.Sqrt(Numero)
Aplicacin Desarrollada
Este programa permite ingresar un nmero y mostrar su raz cuadrada.
Aplicacin Desarrollada
Este programa permite ingresar dos nmeros y muestra cual es el
nmero mayor y cul es el nmero menor.
Si los nmeros ingresados son iguales se muestra el mensaje en una ventana como se muestra a
continuacin:
76
Si alguno de los nmeros no se ingresa, se visualiza un mensaje de advertencia.
Dim A, B As Integer
A = Integer.Parse(TxtValor1.Text)
B = Integer.Parse(TxtValor2.Text)
Pregunta si los nmeros son iguales
If A = B Then
LblMayor.Text =
LblMenor.Text =
MsgBox(Los nmeros son iguales, MsgBoxStyle.Information, Resultados)
Else
77
Muestra el nmero mayor
LblMayor.Text = Math.Max(A, B)
Muestra el nmero menor
LblMenor.Text = Math.Min(A, B)
End If
Aplicacin Desarrollada
Este programa permite ingresar un nmero y muestra un mensaje si el nmero es positivo, negativo o
cero.
78
End If
Aplicacin Desarrollada
Este programa permite ingresar dos nmeros y muestra el resultado del primer nmero elevado a la
potencia del segundo:
Aplicacin Desarrollada
Este programa permite ingresar tres nmeros y muestra el nmero mayor.
79
Aplicacin Desarrollada
Este programa permite ingresar cuatro nmeros y muestra el nmero menor.
80
Menor2 = Math.Min(Menor1, C)
Menor3 = Math.Min(Menor2, D)
Pregunta si los cuatro nmeros son iguales
If A = B And B = C And C = D Then
LblResultado.Text = Los nmeros son iguales
Else
LblResultado.Text = El Nmero menor es: & Menor3
End If
Editado por: Ing. Jos Ruiz Ramrez, Director de Cepeu.
129 Curso de Microsoft Visual Basic 2008
OTRAS FUNCIONES
Rnd
Esta funcin permite obtener un nmero al azar entre 0 y 1.
Su sintaxises:
Microsoft.VisualBasic.Rnd ()
La siguiente instruccin de ejemplo muestra un nmero al azar entre 0 y 1 en
el control
LblResultado:
LblResultado.text= Microsoft.VisualBasic.Rnd ()
Aplicacin desarrollada
Este programa consiste en un juego con nmeros que se generan al azar utilizando la funcin Rnd
Al hacer un clic en el botn jugar un nmero al azar entre 10 y 20, el cual ser el nmero jugado y el
jugador debe hacer clic en cualquiera de los tres botones: menor, igual, mayor.
81
Estos 3 botones muestran un nmero al azar entre 5 y
25. El jugador debe acertar con el nmero que se
genera y con el botn donde hace clic.
82
Cada uno de los botones tiene asignado un texto explicativo en su propiedad tooltip.
Ejemplo:
Todos los botones actan como inteligentes como por ejemplo, cuando se hace clic en cualquiera de los
botones menor, igual o mayor, estos se desactivan para que el jugador ya no vuelva a jugar hasta
generar un nuevo nmero a jugar.
Cada uno de los botones tiene su propiedad image, un grfico asignada con una alineacin
determinada, para lo cual se utiliza su propiedad imageAlign.
El control tooltip1 se agrega al aplicacin para asignar a cada uno de los botones un texto explicativo en
su propiedad tooltip. Ejemplos:
83
Los controles Labels que tiene un nombre asignado donde se visualizan los resultados, tiene un tamao
de letra asignado en su propiedad Font y las siguientes propiedades:
Antes de escribir las instrucciones debe de declarar de tipo Integer y a nivel de formulario las variables
puntos y jugadas, las cuales se utilizan para llevar la estadstica del juego.
Randomize()
Lblnumero.Text = String.Empty
Lblresultado.Text = String.Empty
Lblmensaje.Text = String.Empty
lblpuntos.Text = "tiene 0 puntos en 0 jugadas"
Btnmayor.Enabled = False
Btnigual.Enabled = False
Btnmenor.Enabled = False
Dim numero AsByte
numero = Int((20 - 10 + 1) * Rnd() + 10)
Lblnumero.Text = numero
Lblresultado.Text = String.Empty
Lblmensaje.Text = String.Empty
Btnmayor.Enabled = True
Btnigual.Enabled = True
Btnmenor.Enabled = True
Btnjugar.Enabled = False
Dim numero, juego AsByte
84
jugadas += 1
numero = Int((25 - 5 + 1) * Rnd() + 5)
Lblresultado.Text = numero
juego = Byte.Parse(Lblnumero.Text)
If numero < juego Then
Lblmensaje.Text = "gano"
Lblmensaje.ForeColor = Color.Red
puntos += 1
Else
Lblmensaje.Text = "perdio"
Lblmensaje.ForeColor = Color.Blue
EndIf
lblpuntos.Text = "tiene"& puntos &"puntos en"& jugadas &"jugadas"
Btnmayor.Enabled = False
Btnigual.Enabled = False
Btnmenor.Enabled = False
Btnjugar.Enabled = True
Dim numero, juego AsByte
jugadas += 1
numero = Int((25 - 5 + 1) * Rnd() + 5)
Lblresultado.Text = numero
juego = Byte.Parse(Lblnumero.Text)
If numero = juego Then
Lblmensaje.Text = "gano"
Lblmensaje.ForeColor = Color.Red
puntos += 3
Else
Lblmensaje.Text = "perdio"
Lblmensaje.ForeColor = Color.Blue
EndIf
lblpuntos.Text = "tiene"& puntos &"puntos en"& jugadas &"jugadas"
Btnmayor.Enabled = False
Btnigual.Enabled = False
Btnmenor.Enabled = False
Btnjugar.Enabled = True
Dim numero, juego AsByte
jugadas += 1
numero = Int((25 - 5 + 1) * Rnd() + 5)
Lblresultado.Text = numero
juego = Byte.Parse(Lblnumero.Text)
If numero > juego Then
Lblmensaje.Text = "gano"
Lblmensaje.ForeColor = Color.Red
Else
Lblmensaje.Text = "perdio"
Lblmensaje.ForeColor = Color.Blue
EndIf
lblpuntos.Text = "tiene"& puntos &"puntos en"& jugadas &"jugadas"
Btnmayor.Enabled = False
Btnigual.Enabled = False
Btnmenor.Enabled = False
Btnjugar.Enabled = True
puntos = 0
jugadas = 0
Lblnumero.Text = String.Empty
85
Lblresultado.Text = String.Empty
Lblmensaje.Text = String.Empty
lblpuntos.Text = "tiene"& puntos &"puntos en"& jugadas &"jugadas"
Btnmayor.Enabled = False
Btnigual.Enabled = False
Btnmenor.Enabled = False
Btnjugar.Enabled = True
El Control NumericUpDown
Este control permite ingresar datos numricos en una aplicacin. El ingreso puede ser digitando el
numero o pulsando la flecha hacia arriba o hacia abajo para incrementar o disminuir hasta encontrar el
numero deseado.
Sus principales propiedades son:
DecimalPlaces
Esta propiedad permite indicar la cantidad de decimales que debe aceptar
el valor numrico que se ingresa o selecciona en el control. En la siguiente
ventana de ejemplo, el control se ha configurado para 2 decimales:
Hexadecimal
Esta propiedad permite indicar si el control debe mostrar el valor en
Hexadecimal. En la siguiente ventana de ejemplo esta propiedad tiene valor
True y muestra el nmero 12 en hexadecimal.
Increment
Esta propiedad permite indicar el valor que se debe incrementar o disminuir cada vez que se pulse la
flecha hacia arriba o hacia abajo. En forma predeterminada es 1. El incremento tambin puede ser en
decimales, por ejemplo 0.5.
Maximun
Esta propiedad se utiliza para indicar el valor mximo al que se puede incrementar este control o el
valor mximo que se pueda ingresar. Si se ingresa un valor mayor que el mximo establecido, el control
mostrar el valor mximo al ubicar el cursor en otro control.
Mnimum
Esta propiedad se utiliza para indicar el valor mnimo al que se puede disminuir este control o el valor
mnimo que se pueda ingresar. Si se ingresa un valor mnimo que el mximo establecido, el control
mostrar el valor mnimo al ubicar el cursor en otro control.
ReadOnly
Esta propiedad se utiliza para indicar el usuario puede indicar el valor en el control. Si esta propiedad
tiene valor True, el usuario solo podr hacer clic en la flecha hacia arriba o hacia abajo para incrementar
o disminuir el valor.
TextAligm
Esta propiedad permite alinear el valor dentro del control y puede ser hacia la izquierda, derecha o
centro.
86
ThousandsSeparator
Esta propiedad permite indicar si el valor de este control se debe mostrar
con el separados de miles. En el siguiente ejemplo esta propiedad tiene
valor True:
UpDownAlign
Esta propiedad permite indicar la ubicacin de la flecha del control que
puede ser a la derecha o izquierda como se muestra a continuacin.
Value
Esta propiedad almacena el valor que se digita o se selecciona en el control.
87