Вы находитесь на странице: 1из 6

CURSO: Lenguaje de Programacin Visual Basic (Avanzado)

INSTRUCTOR: L.I. Raymundo Lumbreras Lpez


Nombre del participante: __________________________________________________________________

Prctica 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 Numrico y Fecha.
Instrucciones: Disee la interfaz que se muestra, respete los prefijos sugeridos para los objetos. inserte los objetos
que se muestran, modifique propiedades e inserte el cdigo correspondiente.
Desarrollo:

1
2

3
4
5

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


El control DateTimePicker es un cuadro de texto diseado especialmente para almacenar valores de fecha
o de hora. EL cuadro de texto est subdividido en campos, uno para cada componente (da, mes, ao,
hora, minuto, segundo) En tiempo de ejecucin 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 botn derecho del mouse, aparece el siguiente
men emergente, Dar click en Properties (Propiedades) y aparecer ahora el cuadro de dilogo correspondiente

Para disear Controles Modifique:


Objeto
DTPicker1
DTPicker2
DTPicker3
DTPicker4
DTPicker5

Format
1-dtpShortDate
2-dpTime
1-dtpShortDate
3-dtpCustom
3-dtpCustom

CustomFormat

'La Fecha de hoy es ' dddd d ' de ' MMM ' del ' yyy
d MMM yyy '(semana 'XX')' XXX

Enabled

CheckBox

UpDown

Adicionar el siguiente cdigo para el objeto y evento correspondiente


' Proporciona el tamao mximo de cada campo callback.
Private Sub DTPicker5_FormatSize(ByVal CallbackField As String, Size As Integer)
Select Case CallbackField
Case "XX"
' El nmero de semanas desde el primero de Enero (max 2 dgitos)
Size = 2
Case "XXX"
' Nombre de la festividad, si es que tiene alguno
Size = 12
End Select
End Sub

Curso: Lenguaje de Programacin Visual Basic Avanzado. Prctica 10


Instructor: L.I. Raymundo Lumbreras Lpez Hoja [2] de[6]


Private Sub DTPicker5_Format(ByVal CallbackField As String, FormattedString As String)
Select Case CallbackField
Case "XX"
' Nmero de semanas transcurridas desde el primero de Enero
' (mximo tres dgitos)
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 Programacin Visual Basic Avanzado. Prctica 10


Instructor: L.I. Raymundo Lumbreras Lpez Hoja [3] de[6]

4
LblStatus

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


Seleccionar el MaskEdBox y dar click con el botn derecho del mouse, aparece el siguiente men emergente,
Dar click en Properties (Propiedades) y aparecer ahora el cuadro de dilogo correspondiente

Objeto
mebPhone
MebTarjCredit
MebDate
mebDecNumber

Mask
(##)###-####
#### #### #### ####
##/##/##

Format
dd-mmm-yy
#,##0.00;(#,##0.00);zero;null

PromptInclude
HideSelection
Enabled

Curso: Lenguaje de Programacin Visual Basic Avanzado. Prctica 10


Instructor: L.I. Raymundo Lumbreras Lpez Hoja [4] de[6]

Curso: Lenguaje de Programacin Visual Basic Avanzado. Prctica 10


Instructor: L.I. Raymundo Lumbreras Lpez Hoja [5] de[6]


Insertar el siguiente cdigo
Private Sub Form_Resize()
Permite que al redimensionar el formulario tambin 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 carcter vlido"
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 configuracin regional de su sistema.
Caracter
Decripcin
#
Dgito Requerido
9
Dgito Opcional
Separador decimal
.

Separador Millares

Caracter

:
/
A
a

Decripcin
Separador Hora
Separador Fecha
Carcter Alfanumerico
Requerido
(a-z, A-Z, 0-9)
Carcter Alfanumerico
Opcional
(a-z, A-Z, 0-9)

Descripcin
Prepara un control para aceptar un telfono
Mostrar 2 dgitos decimales, el separador de millares,
encerrar negativos entre parntesis y mostrar Cero
cuando se haya introducido 0
Control de la captura de RFC

Caracter
Decripcin
?
Letra
>
Conversion Maysculas
<
Conversion Minsculas
\

Simbolo Escape

Ejemplo
MaskEdBox1.Mask = (##) ###-###
MaskEdBox1.Format = #,##0.00;(#,##0.00);Cero
En el cuadro de dilogo:
Mask = ????######?##
Format = >

La propiedad MaxLength es el nmero mximo 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 carcter del indicador es tambin un carcter vlido 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 estn permitidos
en cada posicin del control
La propiedad Format define el aspecto del control cuando pierde el foco.

Curso: Lenguaje de Programacin Visual Basic Avanzado. Prctica 10


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

Вам также может понравиться