Differenze tra le versioni di "Conoscere il numero di giorni posseduti da un mese"
Da Gambas-it.org - Wikipedia.
Riga 9: | Riga 9: | ||
===Mediante un algoritmo=== | ===Mediante un algoritmo=== | ||
In questo caso si dovrà avere cura di individuare gli anni bisestili: | 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 | If (anno Mod 4 = 0 And anno Mod 100 <> 0) Or (anno Mod 400 = 0) Then add = 1 | ||
− | <FONT Color=gray>' '' | + | <FONT Color=gray>' ''Verifica la quantità di giorni posseduti dal mese di febbraio dell'anno 1968:''</font> |
Print mesi[2] + add | Print mesi[2] + add | ||
− | + | End | |
==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.so.0. | + | Si potrà anche fare uso della funzione esterna ''g_date_get_days_in_month( )'' dell'API di "''Glib-2.0.so.0.8000.2'' ". |
− | Mostriamo di seguito un | + | Mostriamo di seguito un esempi pratico: |
− | Library "libglib-2.0:0. | + | Library "libglib-2.0:0.8000.2" |
<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)'' | ||
Riga 34: | Riga 34: | ||
− | + | Public Sub Main() | |
Dim num As Byte | Dim num As Byte | ||
Riga 47: | Riga 47: | ||
Print "Il mese di "; mese; " contiene "; num; " giorni." | Print "Il mese di "; mese; " contiene "; num; " giorni." | ||
− | + | End |
Versione delle 08:53, 1 lug 2024
Per conoscere il numero di giorni posseduti da un mese, si potranno adottare alcune modalità.
Indice
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 ' Verifica 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.8000.2 ".
Mostriamo di seguito un esempi pratico:
Library "libglib-2.0:0.8000.2" ' 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