Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 2 de 2
Ir a la página Anterior  1, 2
 
Saber Los Dias Que Tiene Un Mes [SOLUCIONADO]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes 
 
desoljor escribió:  
vuott no hay forma de hacerlo desde dentro de gambas?

Muy probablemente sì, pero hace falta conocer el código fuente escrito en C de aquella función de Glib-2.0 !  



desoljor escribió:  
si pongo tu respuesta en el fmain me dice [Fmain.main esta mal sobreescrita en la clase fmain]

...porque yo escribí el código para una aplicación de línea de comandos; en cambio, tú has pegado el mi código en una aplicación gráfica (con el Form).   sisi

En la tu aplicación gráfica tienes que cambiar esta mi línea:
Public Sub Main()

con esta otra por ejemplo:
Public Sub Form_Open()

 



 
última edición por vuott el Lunes, 25 Enero 2016, 23:14; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes [SOLUCIONADO] 
 
Válido desde 1582 en adelante. Si no es para aplicación histórica, es suficiente. Si no, cuelgo el código entero —usa el calendario juliano si es anterior—.
Public Function ultimoDia(mes As Integer, ano As Integer) As Integer

  Select Case mes
    Case 4, 6, 9, 11
      Return 30
    Case 2
      If ((ano Mod 4) = 0) And ((ano Mod 100) <> 0 Or (ano Mod 400) = 0) Then
        Return 29
      Else
        Return 28
      End If
    Case Else
      Return 31
  End Select

End
 


 —Solucionado el sangrado del código. Por cierto, probado y funcionando. ¿Y a vosotros?—
 



 
última edición por Grandamakulo el Lunes, 15 Febrero 2016, 20:08; editado 4 veces 
Grandamakulo - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes [SOLUCIONADO] 
 
Citar:
pero aún no sé sangrar bien el código en el foro

Barra espaciadora, me temo....
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes [SOLUCIONADO] 
 
Con un pequeño control de errores:

Public Function ultimoDia(mes As Integer, Optional ano As Integer = 2014) As Integer
  
  If mes <1> 12 Or ano < 1583 Then Return 0 'Null
  
  Select Case mes
    Case 4, 6, 9, 11
      Return 30
    Case 2
      If ((ano Mod 4) = 0) And ((ano Mod 100) <> 0 Or (ano Mod 400) = 0) Then
        Return 29
      Else
        Return 28
      End If
    Case Else
      Return 31
  End Select

End

 



 
última edición por Grandamakulo el Lunes, 22 Febrero 2016, 22:01; editado 1 vez 
Grandamakulo - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes [SOLUCIONADO] 
 
Se podría hacer en menos líneas... pero no sé si sería menos legible; por tanto: perfecto.
   
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes [SOLUCIONADO] 
 
Curioso, esta tarde mismo, después de haber contestado esta mañana a este hilo,  he tenido que retocar una agenda-calendario que tengo en el curro y he sustituido la función vieja que hacía ésto por este código.
No es que mis abogados vayan a llevar asuntos de antes de 1583... pero nunca se sabe    
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes [SOLUCIONADO] 
 
Eso está muy bien, que el código compartido sea útil.
Y lo de 1583 nunca se sabe, lo mismo sale alguno que logra invertir el aumento de entropía del universo... y viajamos en el tiempo
 



 
Grandamakulo - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Saber Los Dias Que Tiene Un Mes [SOLUCIONADO] 
 
shordi escribió:  
Buff, me superas, yo sólo he dividido por cuatro. No costaría mucho ajustar los cálculos, supongo, pero tal vez así como está valga para los años "útiles", digamos desde hace 30 años hasta dentro de 30 años...

Si alguno se anima a corregirlo, adelante.
   


Hola

Yo acabo de abordar como saber el conocer cual es el nº de días de un mes o cual es el último día de un mes. Y lo he resuelto con una pequeña clase que me he inventado.

He pasado el año y el mes que queremos saber a la clase y dentro de la clase parto desde:

1. Sumo 1 mes al mes que queremos y ya sabiendo eso me sitúo en el  día 1 y le resto un día.

De esta forma sabemos el último día del mes que deseamos saber. También controlo que el mes 12 con una variante para que no falle la clase.

Espero que os guste. La verdad que no he visto nadie con esta ideita. Además de esta forma me salto el rollo del bisiesto, etc.

Saludos
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Si Textbox Tiene 12 Caracteres Se Habilita... zero14 General 2 Martes, 17 May 2011, 02:49 Ver último mensaje
zero14
No hay nuevos mensajes Como Saber Que Objeto Tiene El Enfoque aristicol General 12 Viernes, 20 May 2011, 21:37 Ver último mensaje
Ronny
No hay nuevos mensajes Sumar Dias A Una Fecha [SOLUCIONADO] Cubel General 6 Domingo, 11 Diciembre 2011, 23:57 Ver último mensaje
jguardon
No hay nuevos mensajes ¿Hay Alguna Manera De Saber Qué Control ... shordi General 2 Viernes, 14 Febrero 2014, 12:45 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 2 de 2
Ir a la página Anterior  1, 2

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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



  

 

cron