How to share vector between two callback function?

1 view (last 30 days)
I have gui in which there is edit text and two push buttons are present namely add and save.whenever i press add it gets value present in edittext and add to vector which is v=[]; now I want to give this vector to save_button_callback function.so that I can write that in excel sheet, so to do that? I haves used following code ;
function add_Callback(hObject, eventdata, handles)
% hObject handle to add (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
v=[];
a=str2num(get(handles.edit1, 'String'));
handles.v=[v a];
function Calculate_Callback(hObject, eventdata, handles)
% hObject handle to Calculate (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[fname,pth]=uiputfile('.xls');
handles.v;
handles.m=handles.v;
xlswrite([pth,fname],handles.m,1,'A1');
[EDITED, Jan, Code formmated - please use the "{} Code" button - Thanks]

Accepted Answer

Jan
Jan on 28 Feb 2016
Edited: Jan on 28 Feb 2016
You got is almost correct. Only update the handles struct store in the figure:
function add_Callback(hObject, eventdata, handles)
v = [];
a = str2num(get(handles.edit1, 'String'));
handles.v=[v a];
guidata(hObject, handles); % <-- add this
Note that the this can be abbreviated, because the empty v is meaningless here:
function add_Callback(hObject, eventdata, handles)
handles.v = str2num(get(handles.edit1, 'String'));
guidata(hObject, handles);

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!