FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda Con fechas
Buenas.
Tengo un problema y esque no se usar mucho el decode Lo que tengo que hacer es lo siguiente: Tengo un combobox en el que tienen que aparecer los dias del mes actual. Ex: Si estamos en diciembre 31 Items, si estamos en Febrero 28 La cuestion es que no se como hacer para que segun el mes en el que se encuentre el sistema en el combobox aparezcan tantos items como dias tiene el mes. Si alguien me puede ayudar se lo agradeceria mucho. Muchas gracias de antemano. Saludos P.D. me descuidaba, uso D6 |
#2
|
||||
|
||||
Prueba con la función DaysInAMonth() que viene en la unidad DateUtils.
Te sirve para conocer cuántos días tiene un mes determinado. Después sólo es cuestión se colocarlos en el ComboBox. Un saludo |
#3
|
|||
|
|||
Buenas,
Muchas gracias por responder tan rapido. Pero no se como usar bien esa funcion. Me dice que no esta declarada (no la tengo declarada como function pq no se de donde sacarla ) Si me pudieras echar una mano, o si crees que hay otra manera de hacerlo. Saludos |
#5
|
|||
|
|||
puffff no he sido capaz tio
algun otro metodo? xD |
#6
|
|||
|
|||
Te explico un poco lo del tema con modificaciones...
const MonthDays: array [1..12] of byte =(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); function DaysInAMonth(const AYear, AMonth: Word): Word; begin // Miramos si es febrero y año bisiesto, para ello usamos la función // del tema que te comento héctor isLeapYear if (AMonth = 2) and (isLeapYear(AYear)) then Result := MonthDays[AMonth] + 1 // De ser así se pone 29 días a feb. else Result := MonthDays[AMonth]; // En otro caso los días salen de la tabla. end; function IsLeapYear(Year: Word): Boolean; begin Result := (Year mod 4 = 0) and ((Year mod 100 <> 0) or (Year mod 400 = 0)); end; |
#7
|
|||
|
|||
ahora por ejemplo en el oncreate tengo ke tener una variable que sea fecha no?
y a esta fecha pasarle la sysdate. luego hacer un decode de la fecha y pasarle el mes a esa funcion no? jueeeee (no se puede ser novato pq andas mas pez xDDDD jajaja) muchas gracias |
#8
|
|||
|
|||
Exacto. otra opcion es separa febrero de los demas de la siguiente forma:
Este podría ser otro procedimiento válido para calcular los días. La ventaja del anterior con respecto a este es la disposición precalculada de los valores de los días pero como los ordenadores trabajan muy rápido con este tipo de operaciones no tiene importancia. Por otro lado, la ventaja de este es que evitamos tener espacio en memoria ocupada por la constante aunque tampoco es que sea drástico. Última edición por vtdeleon fecha: 02-12-2005 a las 16:15:41. Razón: Encierra los codigo en Etiquetas[Delphi][/delphi] |
#9
|
|||
|
|||
Buenas!!
muchisimas gracias por ayudarme al final e conseguido solucionar el problema. saludos |
#10
|
||||
|
||||
Cita:
Con el fin de ayudar a otras personas que se encuentren con la misma situación, sería bueno que nos digas, cómo lo solucionaste finalmente. Un saludo. |
|
|
|