Bonjour,

je suis débutant en GUI, je me suis donc amusé à modifier un code trouvé dans un de vos tutoriels : http://briot-jerome.developpez.com/m...es-graphiques/

J'ai donc modifier le code de manière à afficher un nombre variable de "zone de texte à éditer", en fonction du nombre afficher dans la case au-dessus .

Mon problème étant que je n'arrive pas à récupérer la valeur instantanée du compteur... vous pouvez voir le code ici :

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
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
 
function gui_appdata_findobj
 
% Création de l'objet Figure
figure('units','pixels',...
'position',[250 250 500 500],...
'color',[0.925 0.913 0.687],...
'numbertitle','off',...
'name','HRT files treatment',...
'menubar','none',...
'tag','interface');
 
% Création de l'objet Uicontrol Pushbutton -
uicontrol('style','pushbutton',...
'units','normalized',...
'position',[0.3 0.9 0.1 0.05],...
'string','-',...
'callback',@retrancher,...
'tag','bouton-');
 
% Création de l'objet Uicontrol Pushbutton +
uicontrol('style','pushbutton',...
'units','normalized',...
'position',[0.6 0.9 0.1 0.05],...
'string','+',...
'callback',@ajouter,...
'tag','bouton+');
 
% Création de l'objet Uicontrol Text résultat
uicontrol('style','text',...
'units','normalized',...
'position',[0.45 0.90 0.1 0.05],...
'string','0',...
'tag','resultat');
 
% Création de l'objet Uicontrol Text résultat
uicontrol('style','text',...
'units','normalized',...
'position',[0.25 0.95 0.5 0.05],...
'string','How many HTR files do you want to treat ?');
 
% Initialisation de la valeur représentant la valeur courante du compteur nCompteur à 0
nCompteur=0;
 
% Enregistrement direct de nCompteur dans les données d'application de l'objet Figure
setappdata(gcf,'valeur_de_nCompteur',nCompteur);
 
 
% Création de l'objet UIcontrol Zone de Texte éditable
for i=0:1:getappdata(gcf, 'valeur_de_nCompteur')
uicontrol('style', 'edit',...
 'units', 'normalized',...
 'position', [0.03+i*0.33 0.80 0.3 0.05],...
 'string', 'filename.htr');
end
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%FIN DE LA FONCTION PRINCIPALE%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%DEBUT DE LA SOUS-FONCTION RETRANCHER%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
function retrancher(obj,event)
 
% Récupération directe de nCompteur depuis les données d'application de l'objet Figure
% contenant l'objet graphique dont l'action est exécutée (gcbf)
nCompteur=getappdata(gcbf,'valeur_de_nCompteur');
 
% Diminution de la valeur de nCompteur
nCompteur=nCompteur-1;
 
% Récupération de l'identifiant de l'objet Uicontrol Text résultat enfant de l'objet Figure
% contenant l'objet graphique dont l'action est exécutée (gcbf)
h=findobj('parent',gcbf,'style','text','tag','resultat');
 
% Modification de sa propriété String
set(h,'string',num2str(nCompteur));
 
% Enregistrement de la nouvelle valeur de nCompteur dans les données d'application de l'objet Figure
% contenant l'objet graphique dont l'action est exécutée (gcbf)
setappdata(gcbf,'valeur_de_nCompteur',nCompteur);
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%FIN DE LA SOUS-FONCTION RETRANCHER%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%DEBUT DE LA SOUS-FONCTION AJOUTER%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
function ajouter(obj,event)
 
% Récupération directe de nCompteur depuis les données d'application de l'objet Figure
% contenant l'objet graphique dont l'action est exécutée (gcbf)
nCompteur=getappdata(gcbf,'valeur_de_nCompteur');
nCompteur=nCompteur+1;
 
% Récupération de l'identifiant de l'objet Uicontrol Text résultat enfant de l'objet Figure
% contenant l'objet graphique dont l'action est exécutée (gcbf)
h=findobj('parent',gcbf,'style','text','tag','resultat');
 
% Modification de sa propriété String
set(h,'string',num2str(nCompteur));
 
% Enregistrement de la nouvelle valeur de nCompteur dans les données d'application de l'objet Figure
setappdata(gcbf,'valeur_de_nCompteur',nCompteur);
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%FIN DE LA SOUS-FONCTION AJOUTER%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Mon problème se situe donc certainement à la ligne 49, car n'ayant pas la bonne variable....ou tout du moins, c'est zéro, il n'y a pas de rafraichissement de la valeur.

Je suis sûr que la réponse est infantine mais je ne vois pas du tout. Je dois certainement chercher dans la mauvaise direction...

Merci à tous d'avance.