Appdesigner: updating the value of Text area

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 Commento

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).

Accedi per commentare.

 Risposta accettata

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 Commento

寿人
寿人 il 12 Feb 2025
Spostato: Stephen23 il 12 Feb 2025
Using drawnow went well. Thank you for your both answers.

Accedi per commentare.

Più risposte (0)

Categorie

Prodotti

Release

R2024b

Richiesto:

il 11 Feb 2025

Spostato:

il 12 Feb 2025

Community Treasure Hunt

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

Start Hunting!

Translated by