Hello,
Using designer, I make same program as below.
When click 'Run Start', current time and loop running count will be described at 'Run Count' and 'Run Time'.
When click 'Run Stop', running loop will be stopped.
So I programmed as below.
————————————
% Button pushed function: btnStart function btnStartPushed(app, event) app.btnStart.Enable = 'off'; app.btnStop.Enable = 'on'; runCount = 0; runTime = datestr(now, 'HH:MM:SS'); global runStatus runStatus = 0; gcf set(gcf, 'WindowButtonUpFcn', @btnStopButtonPushed) while ~runStatus drawnow app.efRunCount.Value = num2str(runCount); app.efRunTime.Value = runTime; runCount = runCount + 1; runTime = datestr(now, 'HH:MM:SS'); end app.btnStart.Enable = 'on'; app.btnStop.Enable = 'off'; end % Button pushed function: btnStop function btnStopButtonPushed(app, event) global runStatus runStatus = 1; end
—————————————
I got this kind of method from this site.
Why I use 'drawnow' order in this program?
When I remove 'drawnow' because I have own windows, the loop is not stopped even through 'Run Stop' is clicked.
How can I handle this problem?
Best Answer