How to stop overwriting the old values from a loop inside a GUI?
1 view (last 30 days)
Show older comments
Hello. I've taken a part from an old, unanswered question (<http://www.mathworks.com/matlabcentral/answers/39533-save-continously>) and made some modifications, but I'm pursuing the same goal. I'm working in a GUI, and I believe it's something quite simple, so here is the matter: There's a figure with 2 edit boxes, where the user enters the X & Y coordinates, and a button that saves them in a vector "Z".
This action has to be repeated n-times (2 times in this case) and saved in a vector Z1,Z2,..Zn, besides the edit boxes have to be cleared every time a new pair of coordinates wants to be written. The problem is that, while the user enters new values, they get overwritten and the result are the last entered values and some NaN's. The code from the pushbutton is attached below. I think the problem is after the red line, but I don't know how to fix it, I've already tried "uiwait", "waitforbuttonpress" and other methods to stop the process and be able to enter the new values. Besides, I would like the figure to close once the iterations are complete. Thank you for your kind cooperation.
0 Comments
Answers (1)
TastyPastry
on 4 Nov 2015
I'd put k and ng as handles on the dialog box figure.
myGUI.k = 1;
myGUI.ng = 3;
Then,
function myCallback(varargin)
fig = gcf;
handles = guidata(fig);
if handles.k>handles.ng
return;
end
%save data as .mat
handles.k = handles.k+1;
guidata(fig,handles);
end
See Also
Categories
Find more on Environment and Settings 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!