How to share vector between two callback function?

1 view (last 30 days)
Rohit Bhoi
Rohit Bhoi on 28 Feb 2016
Edited: Jan on 28 Feb 2016
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)

Community Treasure Hunt

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

Start Hunting!