viernes, 8 de agosto de 2008

Funciones fecha, tiempo, cadenas de texto, RGB

En Visual Basic, los valores de Fechas y Tiempo, son almacenados internamente como números, desde la fecha January 1, 100 December 31 hasta January 1, 9999 December 31 o desde la hora 0:00:00 hasta 23:59:59.

Al utilizar números para representar Fechas y Tiempo, es posible realizar cálculos que involucren tiempo, por ejemplo para agregar 3 días a la fecha actual:

   Dim dtHoy As Date
dtHoy = Date()
Dim dtHoyMas3 as Date
dtHoyMas3 = dtHoy + 3
MsgBox CStr(dtHoy) + " - " + CStr(dtHoyMas3)

Funciones que extraen porciones de Fechas y Tiempo:

FunciónEjemplo
Year() Year(Now)
Month() Month(Now)
Day() Day(Now)
Weekday() Weekday(Now)
Hour() Hour(Now)
Minute() Minute(Now)
Second() Second(Now)
   MsgBox "Año: " + CStr(Year(Now)) + Chr(13) _
+ "Mes: " + CStr(Month(Now)) + Chr(13) _
+ "Día: " + CStr(Day(Now)) + Chr(13) _
+ "Día de la Semana: " + CStr(Weekday(Now)) + Chr(13) _
+ "Hora: " + CStr(Hour(Now)) + Chr(13) _
+ "Minuto: " + CStr(Minute(Now)) + Chr(13) _
+ "Segundo: " + CStr(Second(Now))

Funciones de conversión de Fechas y Tiempo:

FunciónEjemplo
DateSerial([year] [month] [day]) regresa un Variant(Date) del año, mes o día especificado
TimeSerial([hour] [minute] [second]) regresa un Variant(Time) de la hora, minuto o segundo especificado
DateValue() convierte un string a un Variant(Date)
TimeValue() convierte un string a un Variant(Date)
DateAdd() regresa un Variant(Date) que contien una fecha de la cual un intervalo de tiempo especifico es agregado
DateDiff() regresa un Variant(Long) especificando el intervalo de tiempo entre 2 fechas especificas
DatePart() regresa un Variant(Integer) que contiene la parte especifica de una fecha dada.

MsgBox DateSerial(Year(Now), Month(Now) + 1, 1) - 1 'Regresa el último día del mes actual

Días que faltan para terminar el mes
MsgBox DateDiff("d", Now, (DateSerial(Year(Now), Month(Now) + 1, 1) - 1))

Función Format

La función Format convierte un valor numérico en una cadena de texto y le proporciona control sobre la apariencia de la cadena.

La función Format provee de flexibilidad al desplegar formatos especificos para fechas y tiempo. En general la función Format acepta un valor numérico y lo convierte a un string en el formato especificado por el argumento que es enviado a la función, ejemplos:

    MsgBox Format(Now, "m/d/yy")
MsgBox Format(Now, "dd/m/yy")
MsgBox Format(Now, "dddd, mmmm dd, yyyy")
MsgBox Format(Now, "dddd, mmmm dd, yyyy. hh:mm AM/PM")
MsgBox Format(1123123123123#, "Currency")
FunciónDespliega
General Number Un número como es, sin separadores de miles.
Currency Un número, con separadores de miles.
Fixed Al menos un dígito a la izquierda y 2 a la derecha del separador decimal.
Percent Número multiplicado por 100 con un signo de por ciento (%) agregado a la derecha
General Date Una fecha o tiempo.
Long Date Una fecha de acuerdo al formato largo de la fecha del sistema.
Medium Date Una fecha de acuerdo al formato medio de la fecha del sistema.
Short Date Una fecha de acuerdo al formato corto de la fecha del sistema.
Long Time El tiempo de acuerdo al formato largo de Tiempo del sistema, horas, minutos y segundos.
Medium Time El tiempo en el formato de 12 horas utilizando horas y minutos y el tiempo designado A.M./P.M.
Short Time El tiempo usando el formato de 24 horas
Yes/No Usualmente 1 - Yes, 0 - No
True/False Usualmente 1 - True, 0 - False
On/Off Usualmente 1 - On, 0 - Off

Funciones para Manipular Cadenas de Texto

Visual Basic posee funciones para manipular cadenas de texto:

FunciónAcción
StrComp Compara 2 strings
Format, LCase,Ucase Convierte a Mayúsculas o Minúsculas
Space,String Crea un string repitiendo un caracter
Len Encuentra la longitud de un string
Format Formatea un string
LSet, RSet Justifica un string
InStr, InStrRev,Left,LTrim,Mid,Right,RTrim,Trim Manipula strings
StrConv Convierte strings

Funcion RGB

Un color se representa mediante un entero de tipo Long, por lo que para definir un color se puede utilizar la función RGB, todos los colores se pueden obtener a través de la combinación de 1 o varios colores básicos los cuales son rojo, verde y azul, la función RGB espera como parámetros los valores para cada uno de estos colores los cuales estarán comprendidos en el rango de 0 a 255, siendo el 0 la menor intensidad y 255 la mayor, de esta manera la función regresa un valor que puede ser asignado por ejemplo a un control cuya propiedad establezca el color.

 Private Sub Form_Load()
Dim LnIndice As Integer
For LnIndice = 0 To 255
cmbRed.AddItem CStr(LnIndice)
cmbGreen.AddItem CStr(LnIndice)
cmbBlue.AddItem CStr(LnIndice)
Next
cmbRed.ListIndex = 0
cmbGreen.ListIndex = 0
cmbBlue.ListIndex = 0
End Sub
Private Sub cmdRGB_Click()
Me.BackColor = RGB(cmbRed, cmbGreen, cmbBlue)
End Sub

Otra manera de establecer el color es mediante el empleo de números hexadecimales equivalentes al color deseado, &HBBGGRR&, donde BB representa la cantidad de azul, GG la cantidad de verde y RR la cantidad de rojo.

0 comentarios: