필터 지우기
필터 지우기

Exchange Data between functions

조회 수: 2 (최근 30일)
Hello kity
Hello kity 2013년 1월 2일
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에서 Interactive Control and Callbacks에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by