Você está na página 1de 6



Dirección General de Servicios de Cómputo Académico


Dirección de Cómputo para la Docencia

CURSO: Lenguaje de Programación Visual Basic (Avanzado)


INSTRUCTOR: L.I. Raymundo Lumbreras López

Nombre del participante: __________________________________________________________________

Práctica No. 10

Objetivo: El participante insertará en sus aplicaciones los objetos DateTimePicker y MaskEdBox para controlar la
captura por parte del usuario en campos de tipo Numérico y Fecha.

Instrucciones: Diseñe la interfaz que se muestra, respete los prefijos sugeridos para los objetos. inserte los objetos
que se muestran, modifique propiedades e inserte el código correspondiente.

Desarrollo:

Menú Project|Components|Controls|Microsoft Windows Common Controls-2 6.0

El control DateTimePicker es un cuadro de texto diseñado especialmente para almacenar valores de fecha
o de hora. EL cuadro de texto está subdividido en campos, uno para cada componente (día, mes, año,
hora, minuto, segundo) En tiempo de ejecución los usuarios pueden avanzar utilizando las teclas flecha
Izquierda y Flecha Derecha y pueden aumentar o disminuir sus valores con las teclas Flecha Arriba y Flecha
Abajo.
Por default a la derecha del control aparece una flecha hacia abajo parecido a un comboBox, al pulsar con
el mouse sobre la flecha se desplegará un calendario para permitir al usuario seleccionar la fecha.

Hoja [1] de[6]




Seleccionar el DTPicker (DateTimePicker) y dar click con el botón derecho del mouse, aparece el siguiente
menú emergente, Dar click en Properties (Propiedades) y aparecerá ahora el cuadro de diálogo correspondiente

Para diseñar Controles Modifique:

Objeto Format CustomFormat Enabled CheckBox UpDown


DTPicker1 1-dtpShortDate 
DTPicker2 2-dpTime 
DTPicker3 1-dtpShortDate   
DTPicker4 3-dtpCustom 'La Fecha de hoy es ' dddd d ' de ' MMM ' del ' yyy 
DTPicker5 3-dtpCustom d MMM yyy '(semana 'XX')' XXX

Adicionar el siguiente código para el objeto y evento correspondiente

' Proporciona el tamaño máximo de cada campo callback.

Private Sub DTPicker5_FormatSize(ByVal CallbackField As String, Size As Integer)


Select Case CallbackField
Case "XX"
' El número de semanas desde el primero de Enero (max 2 dígitos)
Size = 2
Case "XXX"
' Nombre de la festividad, si es que tiene alguno
Size = 12
End Select
End Sub

Curso: Lenguaje de Programación Visual Basic Avanzado. Práctica 10


Instructor: L.I. Raymundo Lumbreras López Hoja [2] de[6]


Private Sub DTPicker5_Format(ByVal CallbackField As String, FormattedString As String)


Select Case CallbackField
Case "XX"
' Número de semanas transcurridas desde el primero de Enero
' (máximo tres dígitos)
FormattedString = DateDiff("ww", DateSerial(DTPicker5.Year, 1, 1), DTPicker5.Value)
Case "XXX"
' Nombre de la festividad, si es que tiene alguno
If DTPicker5.Month = 12 And DTPicker5.Day = 25 Then
FormattedString = "Navidad"
Else
' Tratar aquí otras festividades.
End If
End Select
End Sub

' Mover a la semana anterior/siguiente cuando se pulse la tecla Arriba/Abajo.

Private Sub DTPicker5_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal


CallbackField As String, CallbackDate As Date)
If CallbackField = "XX" Then
If KeyCode = vbKeyUp Then
CallbackDate = DTPicker5.Value + 7
ElseIf KeyCode = vbKeyDown Then
CallbackDate = DTPicker5.Value - 7
End If
Else
' el campo Festividad no se puede manejar desde el teclado
End If
End Sub

Curso: Lenguaje de Programación Visual Basic Avanzado. Práctica 10


Instructor: L.I. Raymundo Lumbreras López Hoja [3] de[6]


LblStatus

Menú Project|Components|Controls|Microsoft Masked Edit Control 6.0

Seleccionar el MaskEdBox y dar click con el botón derecho del mouse, aparece el siguiente menú emergente,
Dar click en Properties (Propiedades) y aparecerá ahora el cuadro de diálogo correspondiente

Objeto Mask Format • PromptInclude


mebPhone (##)###-#### • HideSelection
MebTarjCredit #### #### #### #### • Enabled
MebDate ##/##/## dd-mmm-yy
mebDecNumber #,##0.00;(#,##0.00);zero;null 

Curso: Lenguaje de Programación Visual Basic Avanzado. Práctica 10


Instructor: L.I. Raymundo Lumbreras López Hoja [4] de[6]


Curso: Lenguaje de Programación Visual Basic Avanzado. Práctica 10


Instructor: L.I. Raymundo Lumbreras López Hoja [5] de[6]


Insertar el siguiente código

Private Sub Form_Resize()


‘Permite que al redimensionar el formulario también lo haga la etiqueta lblSatus
lblStatus.Move 0, ScaleHeight - lblStatus.Height, ScaleWidth, lblStatus.Height
End Sub

Private Sub mebPhone_ValidationError(InvalidText As String, StartPosition As Integer)


lblStatus = "'" & Mid$(InvalidText, StartPosition + 1, 1) & "' no es un carácter válido"
End Sub

Caracteres especiales que se pueden utilizar en la propiedad Mask, los caracteres reales de separador de miles
y de fechas dependerá de la configuración regional de su sistema.

Caracter Decripción Caracter Decripción Caracter Decripción


# Dígito Requerido : Separador Hora ? Letra
9 Dígito Opcional / Separador Fecha > Conversion Mayúsculas
. Separador decimal A Carácter Alfanumerico < Conversion Minúsculas
Requerido
(a-z, A-Z, 0-9)
, Separador Millares a Carácter Alfanumerico \ Simbolo Escape
Opcional
(a-z, A-Z, 0-9)

Descripción Ejemplo
Prepara un control para aceptar un teléfono MaskEdBox1.Mask = “ (##) ###-### “
Mostrar 2 dígitos decimales, el separador de millares, MaskEdBox1.Format = “ #,##0.00;(#,##0.00);Cero”
encerrar negativos entre paréntesis y mostrar “Cero”
cuando se haya introducido 0
Control de la captura de RFC En el cuadro de diálogo:
Mask = ????######?##
Format = >

La propiedad MaxLength es el número máximo de caracteres aceptados en el control, La propiedad


PromptChar define el caracter del indicador en tiempo de captura, La propiedad boolena AllowPrompt
determina si el carácter del indicador es también un carácter válido de captura, La propiedad PromptInclude
determina si la propiedad Text va a devolver caracteres del indicador.

La propiedad clave del control MaskEdBox es Mask, una cadena que le dirá qué caracteres están permitidos
en cada posición del control

La propiedad Format define el aspecto del control cuando pierde el foco.

Curso: Lenguaje de Programación Visual Basic Avanzado. Práctica 10


Instructor: L.I. Raymundo Lumbreras López Hoja [6] de[6]

Você também pode gostar