Итак, я создал графический интерфейс с помощью AppDesigner, где он выглядит следующим образом:
И два белых прямоугольника являются фактическими элементами UITextArea в конструкторе приложений,Выше, когда приложение выполняется, таймер начинает обратный отсчет и показывает время на UITextArea. Код, который я использовал для таймера, выглядит следующим образом:
methods (Access = private)
function countdown(app)
while true
try
minute = 29;
set(app.TextArea1, 'Value', num2str(minute));
seconds = 0;
set(app.TextArea2, 'Value', num2str(seconds));
while minute > 0
seconds = 59;
while seconds > 0
set(app.TextArea2, 'Value', num2str(seconds));
pause(1);
seconds = seconds - 1;
end
minute = minute - 1;
set(app.TextArea1, 'Value', num2str(minute));
end
catch
break;
end
end
end
И так как я хочу, чтобы таймер начал тикать при запуске, я вызвал функцию при запуске:
function startupFcn(app)
app.countdown;
end
Однако,проблема, с которой я столкнулся сейчас, заключается в том, что у меня есть эта кнопка, после нажатия на нее я бы хотел, чтобы таймер вернулся к своему первоначальному значению и снова начал тикать вниз.
function ResetButtonPushed(app, event)
app.countdown
%other process executes here onwards.
.
.
end
Но проблема в том, что я хочу, чтобы другой процесс, который происходит после вызова app.countdown, продолжил работу, где в моем случае программа ожидает завершения app.countdown, прежде чем перейти к следующей строке. ,Есть ли обходной путь для этого?