AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Controles, páginas y ventanas / Funciones de máscara
  • Propiedades específicas de las variables de tipo InputMask
  • Uso
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
El tipo InputMask permite definir las características avanzadas de una máscara de entrada personalizada. Las características de esta máscara de entrada personalizada se pueden definir y cambiar mediante diferentes propiedades WLanguage.
Observación: Para obtener más información sobre la declaración de este tipo de variable y el uso de propiedades WLanguage, consulte Declarar una variable.
Ejemplo
m_sMask is string = "99 99 99 99 99"
CustomMask is InputMask
CustomMask.FormatDuringInput = FormatDuringInput
CustomMask.ValidateDuringInput = ValidateDuringInput
CustomMask.ValidateDuringExit = ValidateDuringExit
CustomMask.FormatDuringExit = FormatDuringExit
CustomMask.FormatDuringEntry = FormatDuringEntry
CustomMask.FormatDuringAssignment = FormatDuringAssignment
CustomMask.CheckIfValidInput = CheckIfValidInput
 
EDT_Phone.InputMask = CustomMask
 
INTERNAL PROCEDURE FormatDuringInput(LOCAL sTextBefore is string,
LOCAL nCursorBefore is int, ...
LOCAL nEndCursorBefore is int, ...
sTextAfter is string, ...
nCursorAfter is int, ...
nEndCursorAfter int)
IF Length(sTextBefore) > Length(sTextAfter) THEN RESULT
//No action if deleting
// if at the end
IF nEndCursorAfter = Length(sTextAfter) +1 THEN
// include " " if needed at this location
IF Middle(m_sMask, nEndCursorAfter, 1) = " " THEN
sTextAfter += " "
nEndCursorAfter ++
nCursorAfter = nEndCursorAfter
END
END
END
INTERNAL PROCEDURE ValidateDuringInput(sText is string): boolean
RETURN MatchRegularExpression(sText , "[0-9 ]*")
END
INTERNAL PROCEDURE CheckIfValidInput(sText is string): boolean
RETURN ValidateDuringInput(sText) _AND_ Length(sText) >= 3
END
INTERNAL PROCEDURE FormatDuringAssignment(sText_INOUT is string)
FormatStringToPhoneNumber(sText_INOUT)
END
INTERNAL PROCEDURE ValidateDuringExit(sText is string): boolean
IF Length(sText) < 3 THEN
ToastDisplay("3 characters minimum")
RESULT False
END
RETURN True
END
INTERNAL PROCEDURE FormatDuringExit(sText_INOUT is string)
FormatStringToPhoneNumber(sText_INOUT)
END
INTERNAL PROCEDURE FormatDuringEntry(sText_INOUT is string)
FormatStringToPhoneNumber(sText_INOUT)
END
INTERNAL PROCEDURE FormatStringToPhoneNumber(sText_INOUT is string)
// group numbers like in the mask
sText_INOUT = Replace(sTexte_INOUT," ","")
sResult is string
nPosSrc is int = 1
FOR I = 1 _TO_ Length(m_sMask)
// depending on the character in the mask
SWITCH Middle( m_sMask, I, 1)
CASE " "
sResult += " "
OTHER CASE
// keep the entered character
sResult += Middle(sText_INOUT, nPosSrc, 1)
nPosSrc++
END
END
sText_INOUT = sResult
END
Observaciones

Propiedades específicas de las variables de tipo InputMask

Las siguientes propiedades pueden utilizarse para manipular una máscara de entrada personalizada:
Nombre de la propiedadTipo utilizadoEfecto
CheckIfValidInputProcedimiento WLanguageNombre del procedimiento WLanguage llamado por las funciones InvalidInputDetect y InvalidInputListControl para determinar si el texto introducido es válido.
Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Text> string)
donde <Texto> corresponde al texto a manipular.
Si no se especifica esta propiedad, no se realiza ninguna verificación.
FormatDuringAssignmentProcedimiento WLanguageNombre del procedimiento WLanguage que convierte el texto asignado mediante programación en el texto que se mostrará.
Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Text> string)
donde <Texto> corresponde al texto a manipular.
Si no se especifica esta propiedad, no se realiza ninguna transformación.
FormatDuringEntryProcedimiento WLanguageNombre del procedimiento WLanguage que transforma el texto que se muestra al entrar en edición.
Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Text> string)
donde <Texto> corresponde al texto a manipular.
Si no se especifica esta propiedad, no se realiza ninguna transformación.
FormatDuringExitProcedimiento WLanguageNombre del procedimiento WLanguage que transforma el texto al salir de la edición.
Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Text> string)
donde <Texto> corresponde al texto a manipular.
Si no se especifica esta propiedad, no se realiza ninguna transformación.
FormatDuringInputProcedimiento WLanguageNombre del procedimiento WLanguage que transforma el texto durante la entrada.
Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(LOCAL<Text before> string,
LOCAL <Cursor before> int,
LOCAL <End Cursor before> int,
<Text after> string, <Cursor after> int,
<End Cursor after> int)
donde:
  • <Texto antes> corresponde al texto antes de la entrada.
  • <Cursor antes> corresponde a la posición del cursor antes de la entrada.
  • <Fin cursor antes> corresponde a la posición final del cursor antes de la entrada.
  • <Texto después> corresponde al texto después de la entrada.
  • <Cursor después> corresponde a la posición del cursor después de la entrada.
  • <Fin cursor después> corresponde a la posición final del cursor después de la entrada.
Si no se especifica esta propiedad, no se realiza ninguna transformación.
ValidateDuringExitProcedimiento WLanguageNombre del procedimiento WLanguage que verifica la entrada (una vez que se han introducido todos los caracteres). Este procedimiento devuelve False si el texto introducido contiene caracteres no válidos.
Se llamará a este procedimiento al salir del control solo si la validación de la entrada está en modo bloqueante. Para obtener más información, consulte Entrada obligatoria o no válida en WINDEV.
Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Text> string)
donde <Texto> corresponde al texto a manipular.
Si no se especifica esta propiedad, no se realiza ninguna transformación.
ValidateDuringInputProcedimiento WLanguageNombre del procedimiento WLanguage que verifica la entrada en curso. Este procedimiento devuelve False si el texto que se está introduciendo contiene caracteres no válidos.
Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Text> string)
donde <Texto> corresponde al texto a manipular.
Si no se especifica esta propiedad, no se realiza ninguna transformación.

Uso

  • Una variable de tipo InputMask puede ser asignada a la propiedad InputMask para controlar de forma personalizada cada evento relacionado con la gestión de una máscara en un control Campo de entrada.
  • Las funciones MaskPhoneNumber y MaskZipCode manipulan variables de tipo InputMask.
Versión mínima requerida
  • Versión 25
Esta página también está disponible para…
Comentarios
Exemplo
https://repository.windev.com/resource.awp?file_id=281474976711152;valida-cpf-cnpj-telefone-com-mascara-validacao-com-expressao-regular
Boller
12 07 2021

Última modificación: 30/06/2023

Señalar un error o enviar una sugerencia | Ayuda local