miércoles, 12 de junio de 2019

Calendario Visual Foxpro

Calendario

Cada día las personas que saben como crear clases visuales han ido mejorando sus formularios una apariencia distinta y que destaque de los demás. 

Ya son muchos los programadores que buscan la forma de mejorar la estética del programa , tomándose el tiempo necesario para pensar en lo que realmente piensa hacer y luego plasmarlo en el programa.

En este artículo veremos un ejemplo de lo antedicho. Crearemos un calendario distinto el cual podamos colocar en la parte principal de nuestro programa en donde nos indique la fecha actual.

Podemos ver que este calendario nos da una apariencia distinta y nos muestra todos los datos de la fecha , tal es el caso de el mes en curso,el dia en numero y en texto y además el año.

En este artículo crearemos un calendario con la apariencia visual a la mostrada en la fig.


Paso 1. Creamos la clase WCALENDARIO como CONTAINER

Paso 2. Establecemos las propiedades de WCALENDARIO

        BackStyle   = 0 - Transparent
BorderWidth = 0
Height      = 150
Width       = 150

Paso 3. A continuación agregamos el control Imagen, que es el control donde se guardará la imagen de fondo. 

Acá te mostramos la imagen con la que trabajaremos,puedes colocar la de tu preferencia:

Propiedades de la Imagen

Height  = 150
Left    = 0
Picture = CALENDARIO.PNG
Stretch = 2 - Stretch
Top     = 0
Width   = 150

Paso 4. Ahora debemos agregar 4 etiquetas: La primera etiqueta nos mostrara el mes en cursos, otra para mostrar el día, otra para el dia de las emana en texto,y una última  para mostrar el año.

Estableciendo las propiedades del control Label1

      Alignment = 2 - Center
BackStyle = 0 - Transparent
FontBold  = .T. - True
FontSize  = 16
ForeColor = 255, 255, 128
Height    = 20
Left      = 16
Top       = 13
Width     = 119

Paso 5. Propiedades de la Label2

Alignment = 2 - Center
BackStyle = 0 - Transparent
FontBold  = .T. - True
FontSize  = 48
ForeColor = 0, 0, 128
Height    = 62
Left      = 16
Top       = 35
Width     = 119

Paso 6. Propiedades de la label3

Alignment = 2 - Center
BackStyle = 0 - Transparent
FontBold  = .T. - True
FontName  = Courier New
FontSize  = 18
ForeColor = 128, 64, 0
Height    = 24
Left      = 16
Top       = 101
Width     = 119

Paso 7. Propiedades label 4

Alignment = 2 - Center
BackStyle = 0 - Transparent
FontBold  = .T. - True
FontName  = Courier New
FontSize  = 10
ForeColor = 0, 0, 0
  Height    = 18
Left      = 50
Top       = 96
Width     = 50

En la parte inicial de la clase en el objeto wcalendario y  en el evento init colocamos lo siguiente:

local lnDia, lnMes, lnAno, lcMes,lcDiasemana
   DO case
      CASE DOW(DATE())=1
      lcDiasemana= "Domingo"
      CASE DOW(DATE())=2
      lcDiasemana= "Lunes"
      CASE DOW(DATE())=3
      lcDiasemana= "Martes"
      CASE DOW(DATE())=4
      lcDiasemana= "Miercoles"
      CASE DOW(DATE())=5
      lcDiasemana= "Jueves"
      CASE DOW(DATE())=6
      lcDiasemana= "Viernes"
      CASE DOW(DATE())=7
      lcDiasemana= "Sabado"
   ENDCASE
   lnDia = day(date())
   lnMes = Month(date())
   lnAno =year(date())
   lcMes =ICASE(lnMes =  1 , "Ene",;
                lnMes =  2 , "Feb",;  
                lnMes =  3 , "Mar",;
                lnMes =  4 , "Abr",;
                lnMes =  5 , "May",;
                lnMes =  6 , "Jun",;
                lnMes =  7 , "Jul",;
                lnMes =  8 , "Ago",;
                lnMes =  9 , "Sep",;
                lnMes = 10 , "Oct",;
                lnMes = 11 , "Nov",;
                lnMes = 12 , "Dic")
   with this
      .label1.caption =lcMes
      .label2.caption =transform(lnDia)
      .label3.caption =transform(lnAno)
      .label4.Caption =lcDiasemana
   endwith
return

Quiero agradecer a https://vfpavanzado.wordpress.com/tag/control/ porque fué acá que conseguí este ejemplo y le hice ciertos arreglos para poder llevárselos a uds.





0 comentarios:

Publicar un comentario