Exchange Data between functions

1 次查看(过去 30 天)
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

采纳的回答

TAB
TAB 2013-1-2
编辑:TAB 2013-1-2
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 个评论
Hello kity
Hello kity 2013-1-2
This worked. Really greateful.
Somehow I find this part of matlab hard to understand :(

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by