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
| ' Gambas class file
PRIVATE iTemp AS INTEGER '<------------------------------------------------- le décompte en seconde PRIVATE MonSon AS Sound '<----------------------------------------------------- le son de l'alarme PRIVATE ouverture3 AS STRING = "ouverture3" '<--------------------------------- le nom du son
PUBLIC SUB son($son AS STRING) '<--------------------------------------------- définition du son
SELECT CASE $son CASE ouverture3 TRY MonSon = Sound.Load("ouverture3.ogg") '<--------------------- le fichier son 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 \ 3600) MOD 3600 '<----------------------------------------- les heures à partir du temps de décompte en secondes iMinute = (itemp MOD 3600) \ 60 '<----------------------------------------- les minutes à partir du temps de décompte en secondes ' iMinute = (itemp \ 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(ouverture3) '<----------------------------------------------------- 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 teps restant est vide lblWillBe.Text = "" '<------------------------------------------------- le label du temps qu'il sera est vide 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
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é
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
|