Oppure

Loading
10/09/08 11:27
super rambo
Salve sto facendo un programma che utilizza il controllo calendario microsoft 11.0(mscal.ocx) ho fatto un timer con questo codice:
If Calendar1.Month = 1 Then
Text31.Visible = True
End If
If Calendar1.Month = 2 And Calendar1.Year = 2008 or 2012 or 2016 or 2020 Then
Text30.Visible = False
Text31.Visible = False
Else: If Calendar1.Month = 2 And Calendar1.Year <> 2008 Or 20012 Or 2016 Or 2020 Then Text29.Visible = False
Text30.Visible = False
Text31.Visible = False
End If
End If
If Calendar1.Month = "3" Then
Text31.Visible = True
End If
If Calendar1.Month = "5" Then
Text31.Visible = True
End If
If Calendar1.Month = "7" Then
Text31.Visible = True
End If
If Calendar1.Month = "8" Then
Text31.Visible = True
End If
If Calendar1.Month = "10" Then
Text31.Visible = True
End If
If Calendar1.Month = "12" Then
Text31.Visible = True
End If

Però non funziona... che cosa ho sbagliato??
aaa
10/09/08 11:33
antometal
spiga anche cosa intendi ottenere con questo codice e cosa non funziona
cmq una if come questa
If Calendar1.Month = 2 And Calendar1.Year = 2008 Or 2012 Or 2016 Or 2020 Then

non esiste, non cè nessun confronto in: Or 2012 Or 2016 Or 2020
confronti un numero con niente, devi usare sempre questa sintassi: if a=b ... then
aaa
10/09/08 12:46
super rambo
ok userò la sintassi che mi hai consigliato. Quello che vorrei è che quando clicco sul mese di gennaio ad esempio la text31 sia visibile ecc... capito cosa intendo?? Grazie!!
aaa
10/09/08 12:50
antometal
allora ti consiglio di usare una matrice di textbox x ridurre il codice
inoltre non è necessario usare un timer, il controllo calendar suporto l' evento change, uso quello che è adatto a cio che devi fare e riduce il lavoro sulla CPU
aaa
10/09/08 12:56
super rambo
Le textbox mi servono tutte perchè li devo eseguire altre operazioni. cmq se metto il codice che avevo nel timer (modificando la sintassi di quella parte sbagliata) nell'evento change del calendario funziona?? Grazie!!
EDIT:
L'evento change nel calendario non c'è, però c'è newmonth. cmq ho messo in un command questo codice:
Text1 = Calendar1.Month

il valore che mi restituise è sempre 0 fin quando non clicco su un giorno del calendario. come posso fare??
Ultima modifica effettuata da super rambo 10/09/08 13:03
aaa
10/09/08 13:23
antometal
ti da sempre 0 perchè non hai selezionato nessun giorno dell' anno, quindi o ne selezioni uno oppure dovresti risolvere il problema con calendar.today
non ricordo se è giusto today, cmq è un comando che ti porta direttamente al giorno impostato sul calendario di sistema, quindi dovrebbe selezionarlo

riguardo all' evento change, se non cè prova con click; cmq dovrebbe essere l' evento di default quando fai doppioclick sul controllo calendar

non posso darti informazioni sicure, perchè non trovo + mscal.ocx e sinceramento non ho voglia di smanettare per inserirlo :rotfl:
aaa
10/09/08 13:35
super rambo
l'evento del doppio click del calendario è click e se imposto la proprietà day funziona solo per il mese corrente quindi se cambio mese restituisce 0 perchè non seleziona un giorno del nuovo mese.. possibile che non ci sia una soluzione?? Grazie!!
aaa
10/09/08 13:37
antometal
prima di:
text=calendar.month
metti:
calendar.day=day(date)
aaa