Bonjour à tous,

Je souhaite réaliser une interface qui viendrait charger un fichier .mat et afficher dans plusieurs textbox le contenu de certaines variables contenu dans ce fichier.
Pour cela, j'ai créé une interface à l'aide de GUIDE et j'y ai positionné un bouton donc j'ai renseigné le callback comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
hObject=Fcn_LoadCtrlMFile(); %% Fonction qui m'ouvre une fenêtre de sélection de fichier
 
% Sauvegarde fichier chargé dans le workspace
assignin('base','File1',hObject);
Jusque-là tout va bien et le contenu du .mat est enregistré dans le workspace sous le nom de variable File1.

Ensuite, j'ai mis une textbox 'Edit1' dans laquelle je souhaite mettre une valeur contenue dans File1. J'ai donc ajouté une fonction de cette Textbox comme suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called
 
% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
 
a=evalin('base','File1.UserData.Gain');
set(hObject,'String',num2str(a));
Je commence par charger la variable qui se situe dans le workspace à l'aide de la fonction evalin. Puis je set sa valeur numérique.

Le problème que je rencontre, c'est que cette étape doit être conditionner par l'exécution du bouton et donc en réalité, à la première exécution la TextBox est vide puis au chargement suivant la valeur de la variable apparait. Je ne sais pas comment lier le set de la TextBox à l'appui sur le bouton, ou plus précisément au chargement du File1.

Pourriez-vous m'aider?
Merci d'avance
Neodole