|
|
|
|
- Propiedades específicas de las variables de tipo InputMask
- Uso
InputMask (Tipo de variable)
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.
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 propiedad | Tipo utilizado | Efecto |
---|
CheckIfValidInput | Procedimiento WLanguage | Nombre 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. | FormatDuringAssignment | Procedimiento WLanguage | Nombre 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. | FormatDuringEntry | Procedimiento WLanguage | Nombre 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. | FormatDuringExit | Procedimiento WLanguage | Nombre 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. | FormatDuringInput | Procedimiento WLanguage | Nombre 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. | ValidateDuringExit | Procedimiento WLanguage | Nombre 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. 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. | ValidateDuringInput | Procedimiento WLanguage | Nombre 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.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|