Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Unidad 04

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

Modulo 4 Trabajando con Formularios

1. Trabajando con la ventana de código

1.1 Modulos en VB

Hay tres tipos de modulos de código en Visual Basic: Formularios, modulos estándar y clases. Cada
uno de ellos contienen instrucciones de código.

a. Módulos de Formulario

Cada formulario en la aplicación tiene asociado un modulo de formulario. Y se guardan con la


extensión .FRM .

Contienen:

La propiedad asignada al formulario y sus controles.


Declaración de variables a nivel del formulario.
Procedimiento evento, Procedimientos generales a nivel del formulario.

Nota : Las descripciones gráficas de un formulario y los controles son almacenados en


formato binario en el archivo con extensión .FRX.

b. Módulos estándar
Pueden contener código que es común a varias formas en la aplicación. Este código es
publico por defecto, lo cual significa que es facilmente compartido con otros códigos de
modulos, tal como un modulo de formulario. Contiene: Procedimientos, tipos y declaración de
variables mas no contienen procedimiento de evento por que no contienen objetos.

c. Módulos de clase
El tercer tipo de código es el modulo de clase. Los módulos de clase contienen : definición
de clases (propiedades y definición de métodos).

1.2 La Ventana de Código

La ventana de código es utilizada para escribir, mostrar y editar código .Ud. puede abrir una ventana
de código para cada modulo en su aplicación, de tal manera que puede ver el código de cualquier
ventana de los formularios y copiar y pegar código entre ellas.

1.3 Código de Navegación

Como el código en la aplicación crece, la navegación cada vez es más compleja. Visual basic incluye
herramientas para asistir a la navegación del código.

Find : el comando Buscar del menú Edición puede buscar un texto especifico. Se puede buscar
secciones específicas de código.

Doble Click en el objeto: Se hace doble click en un objeto en el formulario para visualizar el evento
procedimiento asociado con el objeto.
Click Derecho al objeto: Seleccione la opción ver código del menú shorcut.

Object Browser: Muestra los procedimientos disponibles en cualquier proyecto.

1.4 Editando Código

1. Sangría
Utilice sangrías para diferenciar las partes del código. Para identar una selección de
sentencias de código, utilice la tecla TAB. Y Shift TAB para anular la sangría.

2. Carácter de linea de continuación


LA linea de continuación (_) es utilizada para romper una sentencia de código en múltiple
lineas.

Ejm.
I = MsgBox(prompt:="el password es invalido", _
buttons:=49, title:="Señal", HelpFile:=" Help", context:=3)

3. Comentarios
Añadir documentación y código a su código lo hace más fácil de determinar que es lo que el
código hace. La coma simple ( ' ).

Ejm.
Private Sub cmdAgregar_Click()
' Este procedimiento agrega un nuevo cliente a la lista e inicializa
'el formulario. Debe colocar una lista,boton de comando y caja de texto
LstCliente.AddItem txtName.Text 'Agrega un nombre de cliente a la lista
txtName.Text = "" ' Limpia la caja de texto
txtName.SetFocus ' coloca el foco en la caja de texto
Label1.Caption = LstCliente.ListCount ' muestra el nro de items en la
End Sub

1.5 Cambiar Opciones al Entorno


2. Interactuando con el Usuario

2.1 Funcion MsgBox

Muestra un mensaje en un cuadro de diálogo y espera a que el usuario haga clic en un botón y
devuelve un tipo Integer correspondiente al botón elegido por el usuario.

Sintaxis :

MsgBox(prompt[, buttons][, title][, helpfile, context])

La sintaxis de la función MsgBox consta de estos argumentos con nombre:


Parte Descripción
prompt Requerido. Expresión de cadena que representa el prompt en el cuadro de diálogo. La longitud
máxima de prompt es de aproximadamente 1024 caracteres, según el ancho de los caracteres
utilizados. Si prompt consta de más de una línea, puede separarlos utilizando un carácter de
retorno de carro (Chr(13)) o un carácter de avance de línea (Chr(10)), o una combinación de
caracteres de retorno de carro – avance de línea (Chr(13) y Chr(10)) entre cada línea y la
siguiente.
buttons Opcional. Expresión numérica que corresponde a la suma de los valores que especifican el número
y el tipo de los botones que se pretenden mostrar, el estilo de icono que se va a utilizar, la
identidad del botón predeterminado y la modalidad del cuadro de mensajes. Si se omite este
argumento, el valor predeterminado para buttons es 0.
title Opcional. Expresión de cadena que se muestra en la barra de título del cuadro de diálogo. Si se
omite title, en la barra de título se coloca el nombre de la aplicación.
helpfile Opcional. Expresión de cadena que identifica el archivo de Ayuda que se utiliza para proporcionar
ayuda interactiva en el cuadro de diálogo. Si se especifica helpfile, también se debe especificar
context.
context Opcional. Expresión numérica que es igual al número de contexto de Ayuda asignado por el autor
al tema de Ayuda correspondiente. Si se especifica context, también se debe especificar helpfile.

El argumento buttons tiene estos valores:

Constante Valor Descripción


VbOKOnly 0 Muestra solamente el botón Aceptar.
VbOKCancel 1 Muestra los botones Aceptar y Cancelar.
VbAbortRetryIgnore 2 Muestra los botones Anular, Reintentar e Ignorar.
VbYesNoCancel 3 Muestra los botones Sí, No y Cancelar.
VbYesNo 4 Muestra los botones Sí y No.
VbRetryCancel 5 Muestra los botones Reintentar y Cancelar.
VbCritical 16 Muestra el icono de mensaje crítico.
VbQuestion 32 Muestra el icono de pregunta de advertencia.
VbExclamation 48 Muestra el icono de mensaje de advertencia.
VbInformation 64 Muestra el icono de mensaje de información.
VbDefaultButton1 0 El primer botón es el predeterminado.
VbDefaultButton2 256 El segundo botón es el predeterminado.
VbDefaultButton3 512 El tercer botón es el predeterminado.
VbDefaultButton4 768 El cuarto botón es el predeterminado.
VbApplicationModal 0 Aplicación modal; el usuario debe responder al cuadro de
mensajes antes de poder seguir trabajando en la aplicación
actual.
VbSystemModal 4096 Sistema modal; se suspenden todas las aplicaciones hasta
que el usuario responda al cuadro de mensajes.
VbMsgBoxHelpButton 16384 Agrega el botón Ayuda al cuadro de mensaje.
VbMsgBoxSetForeground 65536 Especifica la ventana del cuadro de mensaje como la
ventana de primer plano.
VbMsgBoxRight 524288 El texto se alínea a la derecha.
VbMsgBoxRtlReading 1048576 Especifica que el texto debe aparecer para ser leído de
derecha a izquierda en sistemas hebreo y árabe.

El primer grupo de valores (0 a 5) describe el número y el tipo de los botones mostrados en el cuadro de
diálogo; el segundo grupo (16, 32, 48, 64) describe el estilo del icono, el tercer grupo (0, 256, 512) determina el
botón predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de mensajes. Cuando se
suman números para obtener el valor final del argumento buttons, se utiliza solamente un número de cada
grupo.

Nota Estas constantes las especifica Visual Basic for Applications. Por tanto, el nombre de las mismas puede
utilizarse en cualquier lugar del código en vez de sus valores reales.
Valores devueltos
Constante Valor Descripción
vbOK 1 Aceptar
vbCancel 2 Cancelar
vbAbort 3 Anular
vbRetry 4 Reintentar
vbIgnore 5 Ignorar
vbYes 6 Sí
vbNo 7 No

Ejm.

Private Sub Command2_Click()


Msg = "desea continuar?"
Style = vbYesNo + vbExclamation + vbDefaultButton2
Title = "demostracion de msgbox"
response = MsgBox(Msg, Style, Title)
If response = vbYes Then
mystring = "yes"
Else
mystring = "no"
End If
End Sub

2.2 Funcion InputBox

Muestra un mensaje en un cuadro de diálogo, espera que el usuario escriba un texto o haga clic en
un botón y devuelve un tipo String con el contenido del cuadro de texto.

Sintaxis

InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])

La sintaxis de la función InputBox consta de estos argumentos con nombre:

Parte Descripción

prompt
Requerido. Expresión de cadena que se muestra como mensaje en el cuadro de diálogo. La longitud
máxima de prompt es de aproximadamente 1024 caracteres, según el ancho de los caracteres
utilizados. Si prompt consta de más de una línea, puede separarlos utilizando un carácter de retorno
de carro (Chr(13)), un carácter de avance de línea (Chr(10)) o una combinación de los caracteres de
retorno de carro-avance de línea (Chr(13) y Chr(10)) entre cada línea y la siguiente.

Title
Opcional. Expresión de cadena que se muestra en la barra de título del cuadro de diálogo. Si omite
title, en la barra de título se coloca el nombre de la aplicación.

Default
Opcional. Expresión de cadena que se muestra en el cuadro de texto como respuesta
predeterminada cuando no se suministra una cadena. Si omite default, se muestra el cuadro de texto
vacío.

Xpos
Opcional. Expresión numérica que especifica, en twips, la distancia en sentido horizontal entre el
borde izquierdo del cuadro de diálogo y el borde izquierdo de la pantalla. Si se omite xpos, el cuadro
de diálogo se centra horizontalmente.

Ypos
Opcional. Expresión numérica que especifica, en twips, la distancia en sentido vertical entre el borde
superior del cuadro de diálogo y el borde superior de la pantalla. Si se omite ypos, el cuadro de
diálogo se coloca a aproximadamente un tercio de la altura de la pantalla, desde el borde superior de
la misma.

Helpfile
Opcional. Expresión de cadena que identifica el archivo de Ayuda que se utilizará para proporcionar
ayuda interactiva para el cuadro de diálogo. Si se especifica helpfile, también deberá especificarse
context.

Context
Opcional. Expresión numérica que es el número de contexto de Ayuda asignado por el autor al tema
de Ayuda correspondiente. Si se especifica context, también deberá especificarse helpfile.

Ejm.

retvalue = InputBox(prompt: = "Por favor ingrese su nombre", title:="Demo de Inputbox",


default:="BOB")
Ejm.
Dim Mensaje, Título, ValorPred, MiValor
Mensaje = " Introduzca un número del 1 a 3" ' Establece el mensaje.
Título = "Demostración de InputBox" ' Establece el título.
ValorPred = "1" ' Establece el valor predeterminado.
' Muestra el mensaje, el título, y el valor predeterminado.
MiValor = InputBox(Mensaje, Título, ValorPred)

' Se muestra el diálogo en la posición 100, 100.


MiValor = InputBox(Mensaje, Título, ValorPred, 100, 100)

3. Trabajando con Instrucciones de codigo

3.1 Constantes
VB reconoce un numero predefinido de constantes que pueden ser utilizadas en la codificacion en
lugar de valores numéricos. Por ejemplo: la Propiedad WindowState puede aceptar las siguientes
constantes:

Constante Valor Descripción


vbNormal 0 Normal
vbMinimized 1 Minimizar
vbMaximized 2 Maximizar

Ejm. Frmlogon.WindowState=2
o
Frmlogin.WindowState=vbMaximized

3.2 Nombres de Argumentos


Los argumentos pueden ser pasados a los metodos, funciones y procedimientos de dos maneras:
Posicionando los argumentos y cuando se pasan los argumentos por un nombre en el orden
deseado.
Ejm.

Private Sub Form_Load()


MsgBox "Password Invalido", vbOKCancel + vbExclamation + vbMsgBoxHelpButton +
vbMsgBoxRight, _
"Mensaje", "c:\seguridad\sibib\setup\support\biblio.hlp", 0
End Sub
Ejm.

Dim respuesta As Integer


respuesta = MsgBox(prompt:="Evaluando el Password", buttons:=vbOKCancel + vbExclamation +
vbMsgBoxHelpButton + vbMsgBoxRight, Title:= _
"Mensaje", HelpFile:="C:\Documents and Settings\All Users\Escritorio\EasyHelp\AyudaVB.hlp",
context:=0)
If respuesta = vbCancel Then
MsgBox "Ingrese nuevamente el password"
Text2.SelStart = 0
Text2.SelLength = Len(Text2.Text)
Text2.SetFocus
ElseIf respuesta = vbOK Then
If Text2.Text = "999" Then
MsgBox "Ingreso correcto", vbInformation
Unload Form1
Form2.Show
Else
MsgBox "Ingreso incorrecto", vbCritical
Text2.SelStart = 0
Text2.SelLength = Len(Text2.Text)
Text2.SetFocus
End If
End If

4. Administrando Formularios

Tareas Método o Función

Cargar un formulario en la memoria Utilice la sentencia Load


Cargar y mostrar un formulario Utilice el metodo Show
Mostrar un formulario cargado Utilice el metodo Show
Ocultar un formulario pero no lo descarga Utilice el método Hide
Ocultar una forma y descargarla de memoria Utilice instrucciòn Unload

4.1 Mostrando una formulario

a. El método Show

Sintaxis : object.Show style

Ejm. frmForm1.Show

b. Sentencia Load

Sintaxis : Load object


Ejm. Load frmForm1

4.2 Formularios Modal y Modeless


Un formulario Modal no permite al usuario interactuar con otros formularios en la aplicación al mismo
tiempo. Muchos de los comandos de dialogo en Visual Basic son modales. Cuando un formulario
modal es mostrado, la aplicación suena si el usuario hace click fuera de el .

Un formulario modeless permite al usuario saltar a otro formulario o caja de dialogo. Ejm. ventanas de
los formularios, propiedades , del ambiente de desarrollo del proyecto.

El argumento style para el método show determina si la forma es modal o no modal.

Ejm. frmForm1.show vbModeless „0


frmForm1.show vbModal „1

4.3 Ocultando un Formulario

Cuando es necesario remover un formulario de la pantalla para mostrar otro formulario. Existen dos
métodos para hacer esto : El método Hide (Ocultar) y la sentencia Unload.

a. El método HIDE : Oculta un formulario pero no lo descarga de memoria.

Sintaxis
object.Hide

Ejm. frmForm1.Hide

Cuando un formulario esta oculto, este es removido de la pantalla.

b. Instrucción Unload
La instrucción Unload descarga un formulario o control de la memoria. El argumento object es el
formulario o elemento del arreglo de controles por descargar. Descargar un formulario o control puede
ser necesario utilizarlo en algunos casos donde la memoria utilizada se requiere para algo mas, o
cuando usted necesita restablecer propiedades en sus valores originales.
Cuando se descarga un formulario, todos los controles colocados sobre el formulario durante la
corrida ya no son accesibles.
Sintaxis

Unload object
Ejm.
Unload frmForm1
Unload me

Tip: Utilizar la palabra Me para referirse al formulario actual de la memoria.

c. Evento Unload

El evento Unload ocurre cuando:


El formulario es descargado usando la instrucción Unload.
El formulario es cerrado por el usuario escogiendo la opción Terminar o cerrando con el botón en
la barra de titulo del formulario.
El evento Unload no ocurre si el formulario es removido de la memoria por la instrucción End.
4.4 Cambiando el Inicio de un Formulario o Procedimiento

Visual Basic por defecto carga el primer formulario establecido en el proyecto cuando la aplicación se
ejecuta. Sin embargo se puede especificar cualquier formulario que se desee iniciar primero.

En el menú Proyecto podemos ejecutar un formulario independientemente de todos los demás


formularios trabajando con el objeto inicial .

Si va especificar un Formulario
1.Desde las herramientas del Menú seleccione la opción Proyecto, luego Propiedades del Proyecto.
2. En la ficha General, en la lista despegable Objeto Inicial seleccione el formulario que desea
ejecutar primero.

Si especifica un procedimiento:

1. Escriba un procedimiento general Sub llamado Main y grabarlo en un modulo estándar.


2. Desde las herramientas del Menú seleccione la opción Proyecto, luego Propiedades del Proyecto.
3. En la ficha General, en la lista despegable Objeto Inicial seleccione el procedimiento Sub Main.

Cuando un programa comienza a ejecutarse el procedimiento Sub Main es llamado inmedi atamente.
Este procedimiento puede ser utilizado para mostrar la “Bienvenida” o la pantalla de CopyRight
cuando se inicializa el primer formulario en su aplicación.

Ejm. Trabaje con dos formularios y coloque un mensaje en cada formulario, en el primer formulario la
bienvenida a su sistema y en el formulario 2 el CopyRight . Inserte desde el menú Proyecto - Insertar
Modulo. Y escriba lo siguiente:

Sub Main()
Dim i As Integer
frmSplashScreen.Show
MsgBox "Este es el método show"
frmFirstForm.Show
MsgBox " Este el método hide"
frmSplashScreen.Hide
frmFirstForm.Hide
End
End Sub
4.5 Finalizando su Aplicación
a. Instrucción End

Puede finalizar la ejecución de su programa descargando el último formulario de su aplicación o


utilizando la instrucción End. La instrucción End termina la ejecución de su aplicación y descarga
todos los formularios de la memoria.

Ejm. End

b. Evento Unload
Utilice esta instrucción para cerrar un formulario.

Ejm.
Sub cmdTerminar( )
Unload Me
End Sub

Ahora escriba escriba un procedimiento en el evento Unload.

Private Sub Form_Unload(Cancel As Integer)


If MsgBox("Finalizar el Programa?", vbOKCancel) = vbCancel Then
Cancel = True
End If
End Sub

También podría gustarte