Bonsoir à tous,
J'ai un petit problème lors de l'exécution de mon programme. En gros, j'ai une fonction qui permet de faire passer la couleur de fond d'un uicontrol 'Style' text, de rouge (pendant 2 secondes), puis orange (pendant 0.8 secondes) et enfin verte. Lorsque le fond est vert, j'affiche un compte à rebours, et deux pushbutton sont activés.
Si mon code est le suivant, je peux cliquer sur les boutons au bon moment, mais le compte à rebours ne s'affiche pas dans l'uicontrol style text.
Pour que le compte à rebours s'affiche, j'ajoute la ligne pause(0.01) à la fin de la boucle for. Le problème, c'est que quand je clique sur les boutons, j'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 function comptearebours(obj,event) boutonoff; boutonorange; boutonon; function boutonoff set(handles.tx1,'string',2.8); set(handles.tx1,'BackgroundColor',[1 0 0]);%la case est rouge set(handles.bouton1,'Enable','Inactive'); set(handles.bouton2,'Enable','Inactive'); pause(2); end function boutonorange set(handles.tx1,'BackgroundColor',[1 0.5 0.2]);%la case est orange pause(0.8); end function boutonon set(handles.tx1,'BackgroundColor',[0 1 0]);%la case est verte set(handles.bouton1,'Enable','On'); set(handles.bouton2,'Enable','On'); m = (100*(str2num(get(handles.tx1,'string')))-1); for i = 0:m n = get(handles.tx1,'string'); n = str2double(n)-0.01; set(handles.tx1,'string',num2str(n)); end set(handles.tx1,'BackgroundColor',[1 0 0]);%la case est rouge end end
Quelqu'un a-t-il une idée pour que je puisse à la fois afficher mon compte à rebours, mais que je puisse cliquer sur les boutons ???? Error using ==> pause Error while evaluating uicontrol Callback
Merci beaucoup !
Partager