Appdesigner: updating the value of Text area

10 views (last 30 days)
I want to show status of a function such as "running" and "finished" on a textarea like following code,
The start-button is pushed, then the calculantion function is started. And I expected the status(running/stopped) is updated on a text area, but it didn't work. ("running" condition did not show, but 'finished' did.)
function StartButtonPushed(app, event)
app.val = app.PromptTextArea.Value;
app.StartButton.Enable = "off";
app.statusTextArea.Value = "running";
calculation(app, app.val);
app.ResponseTextArea.Value = app.answer;
app.statusTextArea.Value = 'finished';
end
As a temporal solution, I placed "pause" like below. Do you have some smarter one?
function StartButtonPushed(app, event)
app.val = app.PromptTextArea.Value;
pause(1); % placed pause
app.StartButton.Enable = "off";
pause(1); % placed pause
app.statusTextArea.Value = "running";
pause(1); % placed pause
calculation(app, app.val);
app.ResponseTextArea.Value = app.answer;
app.statusTextArea.Value = 'finished';
end
  1 Comment
Cris LaPierre
Cris LaPierre on 11 Feb 2025
I built a simple test app using the code you shared. It appears to work as you'd expect without needing to add pauses.
It may depend on what is happening in your calculation function. Try using drawnow instead of pause(1).

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 11 Feb 2025
function StartButtonPushed(app, event)
app.val = app.PromptTextArea.Value;
app.StartButton.Enable = "off";
app.statusTextArea.Value = "running";
drawnow() % <-----
calculation(app, app.val);
app.ResponseTextArea.Value = app.answer;
app.statusTextArea.Value = 'finished';
end
  1 Comment
Hisato Tanimoto
Hisato Tanimoto on 12 Feb 2025
Moved: Stephen23 on 12 Feb 2025
Using drawnow went well. Thank you for your both answers.

Sign in to comment.

More Answers (0)

Products


Release

R2024b

Community Treasure Hunt

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

Start Hunting!