Exchange Data between functions
3 次查看(过去 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
0 个评论
采纳的回答
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Configure Simulation Conditions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!