Newsgroup: it.comp.lang.visual-basic
Titolo: Giorni in un mese

Salve a tutti
Ho la necessità , sapendo il mese , di conoscere il numero dei giorni che
lo compongono.
 
Grazie
      giuseppeD
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio
news:3cd7...@news.netsys.it...


io farei cosi perchè con la tabella per febbraio dovresti 
controllare se
l'anno è bisestile.
function TrovaGiorni(mese as byte,anno as integer) as
byte
dim i as byte
dim Contagiorni as byte
for i=1 to 31
    if
isdate(i & "/" & mese & "/" & anno) then
contagiorni=contagiorni+1
    endif
next i
trovagiorni=contagiorni
end
function
per verificare chiama la funzione passando 2 per il mese e 2002
per l'anno dovrebbe tornare 28
--------------------------------
Inviato via 
http://usenet.iol.it
 

 lo compongono.
Prova questo:
Var = DateSerial(2002, 2, 29)
se restituisce 1/3/2002 allora febbraio è di 28 else 29
Per gli altri mesi.....
Ciao.
Paolo


Ciao Giuseppe,
puoi sfruttare la caratteristica della funzione DateSerial che
restituisce sempre una data valida.
Sommi 1 al valore del mese e sottrai 1 al valore del giorno,
ottieni il giorno 0 del mese successivo ( cioè l'ultimo del
mese che ti interessa ).
Function GiorniMese(Mydate As Date) As Integer
    GiorniMese = Day(DateSerial(Year(Mydate), _
                            Month(Mydate) + 1, 0))
End Function
La data che passi alla funzione puoi impostarla tu,
dandogli in pasto il primo giorno del mese che ti
interessa, il mese in questione e l'anno di competenza,
necessario per gestire il mese di febbraio degli anni
bisestili.
Ciao
 Valter

 lo compongono.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:3cd7...@news.netsys.it...


 restituisce sempre una data valida.
[cut]


 End Function
Elefante la tua procedura non funziona! 
Se ti dicessi di contare i giorni di dicembre?
data = "2002-02-01"
Debug.Print DateDiff("d", data, DateAdd("m", 1, data))
questa funziona!
Ciao Dany


 lo compongono.
Ho risolto grazie alle vostre risposte


 end function
Ciao!
--
Esteban
Hosted by 
www.seber.it
(Remove nonspammare for reply)

(Remove nonspammare for reply)
--------------------------------
Inviato via 
http://usenet.iol.it
 

 questa funziona!
-- 


 avrà nessuna influenza.
Prova con data = 2001-12-01 (primo dicembre 2001)
secondo me non funziona! 
La seconda data risulterebbe:
01/13/2001 e non 01/01/2002.
Sei convinto?
Ciao Daniele


 wrote in message
news:838e82f1745001f11cc...@mygate.mailgate.org
E son convinto si.
appunto ho messo la riga:
If tornaMaxGiorni < 28 Then tornaMaxGiorni = 31
che mi salva nel caso del 01/13/2002.
Ho detto che funziona, mica che č perfetta. ;)
E' per questo che dico che la tua funzione č piů corretta e pratica.
aloHa
elefante


 lo compongono.
O_o emm emm.. vabbe' :
riempi un array bidimensionale con "Mese" e "N_gg"
poi confronti il tuo mese con l'array
for i = 1 to 12
 if Mesescelto = mese[i,1] then  msgbox  mese[i,1] & " ha : " & mese[i,2]  &
" Giorni !"
next i
Gigio

 poi confronti il tuo mese con l'array
perň i bisestili vanno controllati successivamente...
cosě non basta.