Immediatly break out from a loop upon callback

3 views (last 30 days)
Théo
Théo on 16 May 2020
Commented: Théo on 18 May 2020
Hello,
Is it possible to immediatly break out from a loop upon callback, meaning without waiting the loop to finish the commands its doing?
For example, I have a GUI with a button giving Button.Value=0 or 1 if pressed or not
My code is structured like this:
while someconditions
%doAction1
pause(60)
%doAction2
pause(60)
end
But if I do:
while someconditions && Button.Value==1
%doAction1
pause(60)
%doAction2
pause(60)
end
or
while someconditions &&
if Button.Value==1
%doAction1
else
break
end
pause(60)
if Button.Value==1
%doAction2
else
break
end
pause(60)
end
then pressing the Button will not immediatly stop the loop but rather finish all the commands, including long pauses. For example, if I press the button in the middle of a pause, then I will have to wait before the loop breaks.
Sorry to bother but I searched extensively and didnt really find something.
I'm using Matlab2019b with the AppDesigner.
Thanks !
  2 Comments
Rik
Rik on 16 May 2020
This is fundamental to how Matlab works: even user interactions shouldn't break things. If you absolutely have to stop execution right now, you can always use ctrl+c.
Théo
Théo on 18 May 2020
Thank you for your answer.
I will rethink my algorithm then !

Sign in to comment.

Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!