|
Página 1 de 1
|
Autor |
Mensaje |
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Control ComboDate
buenas
estoy trabajando en un nuevo control que por medio de tres combobox se selecciona una fecha en un rango de la fecha actual a 100 años atrás.
estoy trancado un poco con el combo que lleva los días
pues al cambiar de mes y según el año elegido serán los números de días
pudiendo ser 28,29,30 o 31
al tener ese dato simplemente lleno la lista del combo del 1 al 30 si el mes elegido tuviera 30
alguien conoce alguna rutina para saber la cantidad de días que tiene un mes?
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#1 Jueves, 21 Septiembre 2017, 21:23 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Control ComboDate
alguien conoce alguna rutina para saber la cantidad de días que tiene un mes?
...una posibilidad sería ésta:
Library "libglib-2.0"
' guint8 g_date_get_days_in_month (GDateMonth month, GDateYear year)
' Returns the number of days in a month, taking leap years into account.
Private Extern g_date_get_days_in_month(GDmonth As Integer, GDyear As Integer) As Byte
Public Sub Main()
Dim num As Byte
Dim mes As String
Dim meses As String[] = [Null, "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio",
"Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]
mes = "Febrero"
num = g_date_get_days_in_month(meses.Find(mes), 2016)
Print "El mes de "; mes; " contiene "; num; " dias."
End
última edición por vuott el Viernes, 22 Septiembre 2017, 00:23; editado 2 veces
|
#2 Jueves, 21 Septiembre 2017, 23:25 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Control ComboDate
...o solo Gambas:
Public Sub Form_Open()
Dim annus As Integer = 1968
Dim menses As Byte[] = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
Dim add As Byte
If (annus Mod 4 = 0 And annus Mod 100 <> 0) Or (annus Mod 400 = 0) Then add = 1
' Vamos a ver el total de los dias del mes de febrero del año 1968:
Print menses[2] + add
End
|
#3 Viernes, 22 Septiembre 2017, 00:07 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Control ComboDate
estoy probando con eso pero los meses de 29 días me dan problemas
gambas que tipo de calendario usa?
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#4 Viernes, 22 Septiembre 2017, 03:38 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|