Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Problema calendario
Forum - Visual Basic 6 - Problema calendario

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
super rambo (Normal User)
Pro


Messaggi: 135
Iscritto: 04/06/2008

Segnala al moderatore
Postato alle 13:27
Mercoledì, 10/09/2008
Salve sto facendo un programma che utilizza il controllo calendario microsoft 11.0(mscal.ocx) ho fatto un timer con questo codice:
Codice sorgente - presumibilmente VB.NET

  1. If Calendar1.Month = 1 Then
  2. Text31.Visible = True
  3. End If
  4. If Calendar1.Month = 2 And Calendar1.Year = 2008 or 2012 or 2016 or 2020 Then
  5. Text30.Visible = False
  6. Text31.Visible = False
  7. Else: If Calendar1.Month = 2 And Calendar1.Year <> 2008 Or 20012 Or 2016 Or 2020 Then Text29.Visible = False
  8. Text30.Visible = False
  9. Text31.Visible = False
  10. End If
  11. End If
  12. If Calendar1.Month = "3" Then
  13. Text31.Visible = True
  14. End If
  15. If Calendar1.Month = "5" Then
  16. Text31.Visible = True
  17. End If
  18. If Calendar1.Month = "7" Then
  19. Text31.Visible = True
  20. End If
  21. If Calendar1.Month = "8" Then
  22. Text31.Visible = True
  23. End If
  24. If Calendar1.Month = "10" Then
  25. Text31.Visible = True
  26. End If
  27. If Calendar1.Month = "12" Then
  28. Text31.Visible = True
  29. End If


Però non funziona... che cosa ho sbagliato??

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 13:33
Mercoledì, 10/09/2008
spiga anche cosa intendi ottenere con questo codice e cosa non funziona
cmq una if come questa
Codice sorgente - presumibilmente Delphi

  1. 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

PM Quote
Avatar
super rambo (Normal User)
Pro


Messaggi: 135
Iscritto: 04/06/2008

Segnala al moderatore
Postato alle 14:46
Mercoledì, 10/09/2008
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!!

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 14:50
Mercoledì, 10/09/2008
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

PM Quote
Avatar
super rambo (Normal User)
Pro


Messaggi: 135
Iscritto: 04/06/2008

Segnala al moderatore
Postato alle 14:56
Mercoledì, 10/09/2008
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:
Codice sorgente - presumibilmente Plain Text

  1. 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 il 10/09/2008 alle 15:03
PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 15:23
Mercoledì, 10/09/2008
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:

PM Quote
Avatar
super rambo (Normal User)
Pro


Messaggi: 135
Iscritto: 04/06/2008

Segnala al moderatore
Postato alle 15:35
Mercoledì, 10/09/2008
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!!

PM Quote
Avatar
antometal (Member)
Guru


Messaggi: 691
Iscritto: 12/09/2007

Segnala al moderatore
Postato alle 15:37
Mercoledì, 10/09/2008
prima di:
text=calendar.month
metti:
calendar.day=day(date)

PM Quote
Avatar
super rambo (Normal User)
Pro


Messaggi: 135
Iscritto: 04/06/2008

Segnala al moderatore
Postato alle 15:50
Mercoledì, 10/09/2008
funziona sempre solo per un mese

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo