Gambas France BETA


Pas de compte ? Incription

TimeBox :

Un exemple d'utilisation de TimeBox :



Téléchargeable ici : Alarme



Le Code :



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


====================

Navigation :



<-- Liens du Wiki : <--
<-- Accueil du WIKI : <--
<-- Contrôle par Contrôle <--

====================

Documentation :



====================