SYMBOL Menu_INIT=0
SYMBOL Menu_ETAL=1
SYMBOL Menu_EXPL=2
SYMBOL Menu_ROTO=3
SYMBOL Menu_AIGU=4
SYMBOL Menu_REGL=5
SYMBOL LeMenu=b5
'...
'Text sur display
serout B.7,N2400_16,(254,128,"INITIALISATION..")
serout B.7,N2400_16,(254,192,"APPUYEZ SUR VAL ")
LeMenu=Menu_INIT
Do
Do
readadc a.0 , touche ' On detecte un appui
loop while touche > 250
for compteur = 0 to 19 ' on mesure 20 fois
readadc a.0 , touche ' On lit la touche appuyee
addition = addition + touche ' on fait la somme
next
touche = addition / 20
addition = 0
select case touche 'on reaffecte aux touches leurs vraies valeurs sauf # et *
case > 133 : touche = 1
case > 128 : touche = 2
case > 122 : touche = 3
case > 111 : touche = 4
case > 105 : touche = 5
case > 98 : touche = 6
case > 81 : touche = 7
case > 71 : touche = 8
case > 60 : touche = 9
case > 35 : touche = 11 'correction
case > 20 : touche = 0
case > 0 : touche = 12 'validation
endselect
select case touche
case = 11 'correction dernier chiffre
nombre = nombre/10
case < 240 'un chiffre valide est rentre
nombre = nombre*10 + touche 'ajout du chiffre
case = 12
gosub ChoixValide
endselect
'puis on attend que les touches soient relachees pour eviter les repetitions
do
readadc a.0 , touche
loop while touche < 250
pause 200
Loop
Loop
' On fait ce qu'il faut en fonction du menu en cours et du Nombre qui vient d'être validé.
' En particulier, on affiche un nouveau menu si c'est nécessaire
ChoixValide:
select case LeMenu
case Menu_INIT:
serout B.7,N2400_16,(254,128,"1:ROTO 2:AIGUIL")
serout B.7,N2400_16,(254,192,"3:REGL Choix:__")
LeMenu=Menu_EXPL
case Menu_ETAL:
'...
case Menu_EXPL:
select case nombre
case 1:
serout B.7,N2400_16,(...) ' Menu Rotonde
serout B.7,N2400_16,(...)
LeMenu=Menu_ROTO
case 2:
serout B.7,N2400_16,(...) ' Menu Aiguillages
serout B.7,N2400_16,(...)
LeMenu=Menu_AIGU
case 3:
serout B.7,N2400_16,(...) ' Menu Réglages
serout B.7,N2400_16,(...)
LeMenu=Menu_REGL
EndSelect
case Menu_ROTO:
'...
case Menu_AIGU:
'...
case Menu_REGL:
'...
endSelect
return