Differenze tra le versioni di "Conoscere il numero di giorni posseduti da un mese"

Da Gambas-it.org - Wikipedia.
 
Riga 1: Riga 1:
Per conoscere il numero di giorni posseduti da un mese, si potranno adottare almeno due modalità.
+
Per conoscere il numero di giorni posseduti da un mese, si potranno adottare alcune modalità.
  
 +
==Uso delle sole risorse native di Gambas==
 +
Si potrà fare uso delle sole risorse native di Gambas, come segue.
 +
===Uso del Metodo "Date.DaysInMonth()"===
 +
Il Metodo ".DaysInMonth()" della Classe ''Date'' ritorna il numero di giorni presenti in un mese di un anno specifico:
  
===Uso delle sole risorse native di Gambas===
+
  Print Date.DaysInMonth(2, 1968)
Si potrà fare uso delle sole risorse native di Gambas, avendo cura di individuare gli anni bisestili:
+
===Mediante un algoritmo===
 +
In questo caso si dovrà avere cura di individuare gli anni bisestili:
 
  '''Public''' Sub Form_Open()
 
  '''Public''' Sub Form_Open()
 
    
 
    
Riga 18: Riga 23:
  
  
===Uso della funzione esterna ''g_date_get_days_in_month( )'' di ''Glib-2.0''===
+
==Uso della funzione esterna ''g_date_get_days_in_month( )'' di ''Glib-2.0''==
Si potrà anche fare uso della funzione esterna ''g_date_get_days_in_month( )'' dell'API di ''Glib-2.0'' .
+
Si potrà anche fare uso della funzione esterna ''g_date_get_days_in_month( )'' dell'API di ''Glib-2.0.so.0.6400.6'' .
 
 
  
 
Mostriamo di seguito un esempio pratico:
 
Mostriamo di seguito un esempio pratico:
  Library "libglib-2.0"
+
  Library "libglib-2.0:0.6400.6"
 
   
 
   
 
  <FONT Color=gray>' ''guint8 g_date_get_days_in_month (GDateMonth month, GDateYear year)''
 
  <FONT Color=gray>' ''guint8 g_date_get_days_in_month (GDateMonth month, GDateYear year)''
  ' Returns the number of days in a month, taking leap years into account.''</font>
+
  ' ''Returns the number of days in a month, taking leap years into account.''</font>
 
  Private Extern g_date_get_days_in_month(GDmonth As Integer, GDyear As Integer) As Byte
 
  Private Extern g_date_get_days_in_month(GDmonth As Integer, GDyear As Integer) As Byte
 
   
 
   
Riga 37: Riga 41:
 
                           "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"]
 
                           "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"]
 
    
 
    
  mese = "Febbraio"      <FONT Color=gray>' ''...oppure anche: mese = mesi[2]''</font>
+
  mese = "Febbraio"      <FONT Color=gray>' ''...oppure anche: mese = mesi[2]''</font>
 
    
 
    
  num = g_date_get_days_in_month(mesi.Find(mese), 2016)
+
  num = g_date_get_days_in_month(mesi.Find(mese), 2016)
 
      
 
      
  Print "Il mese di "; mese; " contiene "; num; " giorni."
+
  Print "Il mese di "; mese; " contiene "; num; " giorni."
 
    
 
    
 
  '''End'''
 
  '''End'''

Versione attuale delle 16:07, 15 mag 2022

Per conoscere il numero di giorni posseduti da un mese, si potranno adottare alcune modalità.

Uso delle sole risorse native di Gambas

Si potrà fare uso delle sole risorse native di Gambas, come segue.

Uso del Metodo "Date.DaysInMonth()"

Il Metodo ".DaysInMonth()" della Classe Date ritorna il numero di giorni presenti in un mese di un anno specifico:

 Print Date.DaysInMonth(2, 1968)

Mediante un algoritmo

In questo caso si dovrà avere cura di individuare gli anni bisestili:

Public Sub Form_Open()
 
 Dim ann0 As Integer = 1968
 Dim mesi As Byte[] = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
 Dim add As Byte
  
  If (anno Mod 4 = 0 And anno Mod 100 <> 0) Or (anno Mod 400 = 0) Then add = 1
  
' Verifichiamo la quantità di giorni posseduti dal mese di febbraio dell'anno 1968:
  Print mesi[2] + add
  
End


Uso della funzione esterna g_date_get_days_in_month( ) di Glib-2.0

Si potrà anche fare uso della funzione esterna g_date_get_days_in_month( ) dell'API di Glib-2.0.so.0.6400.6 .

Mostriamo di seguito un esempio pratico:

Library "libglib-2.0:0.6400.6"

' 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 mese As String
 Dim mesi As String[] = [Null, "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno",
                         "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"]
 
 mese = "Febbraio"      ' ...oppure anche: mese = mesi[2]
 
 num = g_date_get_days_in_month(mesi.Find(mese), 2016)
   
 Print "Il mese di "; mese; " contiene "; num; " giorni."
  
End