how to interrupt a while loop??
6 次查看(过去 30 天)
显示 更早的评论
in GUI, I try to interrupt a while loop...let's say.. a program initiate while loop when button A are pushed, and i want to stop/interupt the loop by pushing button B.. any idea????
0 个评论
采纳的回答
Walter Roberson
2012-6-6
You cannot do that.
The closest you can get is to have button B set a variable in a place that the code in button A can reach, with that code checking the value periodically. For example,
Button B:
set(handles.buttonA, 'UserData', 'stop');
Button A:
set(handles.buttonA, 'Userdata', []);
while ....
curval = get(handles.buttonA, 'UserData');
if ~isempty(curval) && strcmp(curval, 'stop')
break;
end
....
end
4 个评论
Image Analyst
2013-4-13
Walter might want to add this to the FAQ. It's useful and asked fairly often, but I don't think it's on there yet. By the way, you can also do it with a checkbox. Button A makes the "Finish Now" checkbox become visible and clears it. When the user checks the box, the loop will "break" because it gets the checkbox value and checks to see if it's checked.
Danilo Teran
2017-5-10
Hi I did your suggestion, but I can never stop routine on Pushbutton A. Shall I do something extra in PushburronB
更多回答(1 个)
Geoff
2012-6-6
In your GUI, set some user data to your GUI handle.
In your loop, check this data and break accordingly.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!