14 de septiembre de 2005

Nuevos valores para InputMask y Format en VFP 9.0

Ahora la propiedad InputMask permite los siguientes dos nuevos valores:
  • U = Permite solo caracteres alfabéticos y los convierte a mayúsculas [A..Z]
  • W = Permite solo caracteres alfabéticos y los convierte a minúsculas [a..z]
La propiedad Format permite el siguente valor en mas controles:
  • Z = Muestra el valor como "blanco" si este es "0" (cero), excepto cuando el control tiene el foco.
Los tipos de datos Date y DateTime también están soportados cuando la propiedad Format tiene el valor "Z". Cuando la fecha ó fecha y hora son vacias, no se muestran los delimitadores " / / " ó " / / : : " cuando el control no tiene el foco.

Un ejemplo para Visual FoxPro 9.0 de estas propiedades se pueden observar en el siguiente formulario:
PUBLIC goForm
goForm = CREATEOBJECT("MiForm")
goForm.SHOW(1)
RETURN

DEFINE CLASS MiForm AS FORM
AUTOCENTER = .T.
  HEIGHT = 250
  WIDTH = 324
  CAPTION = "VFP 9.0 - Nuevas configuraciones"
  NAME = "MiForm"
  ADD OBJECT Text1 AS TEXTBOX WITH ;
    HEIGHT = 23, ;
    LEFT = 192, ;
    TOP = 36, ;
    WIDTH = 120, ;
    MAXLENGTH = 10, ;
    INPUTMASK = REPLICATE("U",10), ;
    NAME = "Text1"
  ADD OBJECT Text2 AS TEXTBOX WITH ;
    HEIGHT = 23, ;
    LEFT = 192, ;
    TOP = 72, ;
    WIDTH = 120, ;
    MAXLENGTH = 10, ;
    INPUTMASK = REPLICATE("W",10), ;
    NAME = "Text2"
  ADD OBJECT Text3 AS TEXTBOX WITH ;
    HEIGHT = 23, ;
    LEFT = 192, ;
    TOP = 132, ;
    WIDTH = 120, ;
    VALUE = 0, ;
    FORMAT = "Z", ;
    NAME = "Text3"
  ADD OBJECT Text4 AS TEXTBOX WITH ;
    HEIGHT = 23, ;
    LEFT = 192, ;
    TOP = 168, ;
    WIDTH = 120, ;
    VALUE = {}, ;
    FORMAT = "Z", ;
    NAME = "Text4"
  ADD OBJECT Label1 AS LABEL WITH ;
    AUTOSIZE = .T., ;
    BACKSTYLE = 0, ;
    CAPTION = "Mayusculas solamente", ;
    HEIGHT = 17, ;
    LEFT = 12, ;
    TOP = 40, ;
    WIDTH = 129, ;
    NAME = "Label1"
  ADD OBJECT Label2 AS LABEL WITH ;
    AUTOSIZE = .T., ;
    BACKSTYLE = 0, ;
    CAPTION = "Minusculas solamente", ;
    HEIGHT = 17, ;
    LEFT = 12, ;
    TOP = 76, ;
    WIDTH = 127, ;
    NAME = "Label2"
  ADD OBJECT Label3 AS LABEL WITH ;
    AUTOSIZE = .T., ;
    BACKSTYLE = 0, ;
    CAPTION = "Blanco si es '0'", ;
    HEIGHT = 17, ;
    LEFT = 12, ;
    TOP = 136, ;
    WIDTH = 88, ;
    NAME = "Label3"
  ADD OBJECT Label4 AS LABEL WITH ;
    AUTOSIZE = .T., ;
    BACKSTYLE = 0, ;
    CAPTION = "Blanco si es fecha vacia", ;
    HEIGHT = 17, ;
    LEFT = 12, ;
    TOP = 172, ;
    WIDTH = 134, ;
    NAME = "Label4"
  ADD OBJECT Label5 AS LABEL WITH ;
    AUTOSIZE = .T., ;
    FONTBOLD = .T., ;
    BACKSTYLE = 0, ;
    CAPTION = "Propiedad InputMask = 'U' y 'W'", ;
    HEIGHT = 17, ;
    LEFT = 78, ;
    TOP = 12, ;
    WIDTH = 167, ;
    NAME = "Label5"
  ADD OBJECT Label6 AS LABEL WITH ;
    AUTOSIZE = .T., ;
    FONTBOLD = .T., ;
    BACKSTYLE = 0, ;
    CAPTION = "Propiedad Format = 'Z'", ;
    HEIGHT = 17, ;
    LEFT = 100, ;
    TOP = 108, ;
    WIDTH = 123, ;
    NAME = "Label6"
  ADD OBJECT Label7 AS LABEL WITH ;
    AUTOSIZE = .F., ;
    WORDWRAP = .T., ;
    BACKSTYLE = 0, ;
    CAPTION = "En ambos casos se muestra en blanco " + ;
    "cuando el control no tiene el foco", ;
    HEIGHT = 36, ;
    LEFT = 24, ;
    TOP = 204, ;
    WIDTH = 276, ;
    FORECOLOR = RGB(0,0,255), ;
    NAME = "Label7"
ENDDEFINE
Recordar que la diferencia entre las propiedades InputMask y Format es que con la propiedad Format se especifica un comportamiento para todo el campo de entrada, y con la propiedad InputMask se especifica que cada caracter de la máscara corresponde a cada caracter ingresado en el campo de entrada.

Luis María Guayán

No hay comentarios. :

Publicar un comentario