1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
| ' Gambas class file
PRIVATE iTemp AS INTEGER '<------------------------------------------------- le décompte en seconde PRIVATE MonSon AS Sound '<----------------------------------------------------- le son de l'alarme PRIVATE ouverture AS STRING = "ouverture" '<----------------------------------- le nom du son PRIVATE beeps AS STRING = "beeps" PRIVATE hilow AS STRING = "hilow" PRIVATE swish AS STRING = "swish" PRIVATE beep AS STRING = "beep"
PUBLIC SUB son($son AS STRING) '<--------------------------------------------- définition du son
SELECT CASE $son CASE ouverture TRY MonSon = Sound.Load("ouverture3.ogg") '<--------------------- le fichier son CASE beeps TRY MonSon = Sound.Load("5beeps.ogg") CASE hilow TRY MonSon = Sound.Load("hilow.ogg") CASE swish TRY MonSon = Sound.Load("swish.ogg") CASE beep TRY MonSon = Sound.Load("beep.ogg") END SELECT TRY MonSon.Play() '<----------------------------------------------------- jeu du son
END
PUBLIC SUB timDecomp_Timer() '<--------------------------------------------- évènement de décompte du temps
DIM iHour, iMinute, iSeconde AS INTEGER '<--------------------------------- mes variables locales
IF itemp > 0 THEN '<----------------------------------------------------- si la variable est définie DEC iTemp '<--------------------------------------------------------- la variable globale est décrémentée ELSE '<----------------------------------------------------------------- sinon on sort de l'évènement lblWillBe.Text = "" '<------------------------------------------------- label du temps qu'il sera est vide RETURN '<------------------------------------------------------------- retour dans la boucle évènements ENDIF
iHour = (itemp DIV 3600) MOD 3600 '<--------------------------------------- les heures à partir du temps de décompte en secondes iMinute = (itemp MOD 3600) DIV 60 '<--------------------------------------- les minutes à partir du temps de décompte en secondes ' iMinute = (itemp div 60) Mod 60 '<--------------------------------------- autre possibilité pour les minutes iSeconde = (itemp MOD 3600) MOD 60 '<------------------------------------- les secondes à partir du temps de décompte en secondes
lblSecond.Text = CStr(iHour) & " h " & CStr(iMinute) & " m " & CStr(iSeconde) & " s " '<-- affichage repère
IF itemp = 0 THEN '<----------------------------------------------------- nettoyage de fin de décompte son(hilow) '<---------------------------------------------------------- jeu du son timDecomp.Stop '<----------------------------------------------------- arrêt de l'évènement décompte TimeBox1.Value = 0 '<------------------------------------------------- valeur à zéro du TimeBox TimeBox1.Enabled = TRUE '<--------------------------------------------- le TimeBox est à nouveau utilisable lblSecond.Text = "" '<------------------------------------------------- le label d'affichage du décompte est vide lblTempsRest.Visible = FALSE '<------------------------------------- le label temps restant est vide lblWillBe.Text = "" '<------------------------------------------------- le label du temps qu'il sera est vide btValid.Enabled = TRUE ENDIF
END
PUBLIC SUB btValid_Click() '<------------------------------------------------- évènement du bouton de validation
iTemp = Hour(TimeBox1.Value) * 3600 + Minute(TimeBox1.Value) * 60 + Second(TimeBox1.Value) '<-- définition du décompte en secondes TimeBox1.Enabled = FALSE '<--------------------------------------------- le timeBox est rendu inopérationnel lblTempsRest.Visible = TRUE '<--------------------------------------------- affichage du temps restant timDecomp.Start '<--------------------------------------------------------- déclenchement de l'évènement Timer_Timer lblWillBe.Text = Format(DateAdd(Time(Now), gb.Second, itemp), "hh:nn:ss") '<-- temps qu'il sera IF btvalid AND TimeBox1.Value = 0 THEN TimeBox1.Enabled = TRUE RETURN ELSE btValid.Enabled = FALSE ENDIF
END
PUBLIC SUB btAnnul_Click() '<------------------------------------------------- évènement du bouton d'annulation
timDecomp.Stop '<--------------------------------------------------------- arrêt dde l'évènement Timer_Timer et nettoyage TimeBox1.Value = 0 '<----------------------------------------------------- le timeBox est remis à zéro TimeBox1.Enabled = TRUE '<------------------------------------------------- il est rendu à nouveau opérationnel lblTempsRest.Visible = FALSE '<----------------------------------------- le label temps restant est invisible lblSecond.Text = "" '<----------------------------------------------------- le label de décompte est vidé lblWillBe.Text = "" '<----------------------------------------------------- le label du temps qu'il sera est vidé btValid.Enabled = TRUE
END
PUBLIC SUB timNow_Timer() '<------------------------------------------------- évènement affichage de l'heure
lblNow.Text = Format(Time(Now), "hh:nn:ss") '<----------------------------- affichage de l'heure actuelle
END
PUBLIC SUB Form_Open() '<----------------------------------------------------- évènement ouverture du formulaire
timNow.Start '<--------------------------------------------------------- déclenchement de l'évènement Timer_Timer
END
|