Exchange Data between functions

1 view (last 30 days)
Hello kity
Hello kity on 2 Jan 2013
Hi,
how can I exchange data/filename between functions ?
see code:
function OpenMenuItem_Callback(hObject, eventdata, handles)
% hObject handle to OpenMenuItem (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[filename, pathname] = uigetfile({'*.xls'},'File Selector');
I have an uiget file in the Openmenu item, selecting a xls file. That file should be used after using a (push)button.
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)
so the data in the filename should be here. currently i have another uigetfile in this function but then i need to select the file each time i press it... which i dont want, i want to select it once ..
popup_sel_index = get(handles.popupmenu1, 'Value');
switch popup_sel_index
case 1
Calculation(filename, handles) %other m-file
end
I have read the help and other website but still dont get how exactly i can do this...
thank you in advnace

Accepted Answer

TAB
TAB on 2 Jan 2013
Edited: TAB on 2 Jan 2013
Use gui handle object to to store the data. This handle will be common in all callback functions
function OpenMenuItem_Callback(hObject, eventdata, handles)
% hObject handle to OpenMenuItem (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[filename, pathname] = uigetfile({'*.xls'},'File Selector');
handles = guidata(hObject); % Get handle in a variable
handles.selectedfname = filename; % Add your data in variable
guidata(hObject, handles); % Update the GUI handle with new value
In other callback
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)
handles = guidata(hObject); % Get handle in a variable
filename = handles.selectedfname; % Read your data
  1 Comment
Hello kity
Hello kity on 2 Jan 2013
This worked. Really greateful.
Somehow I find this part of matlab hard to understand :(

Sign in to comment.

More Answers (0)

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!