How to stop a for loop execution from GUI?(From Toolbar stop button)

1 visualización (últimos 30 días)
I have for loop,,I want to to stop this loop from a toolbar button,, Initially I have set a flag "STOP=0",,,and when I press my stop button in tool bar,,I am calling a function,,where "STOP=1" I have written script,,,,But my script is not considering this"STOP" flag,,,please hep me out>...

Respuesta aceptada

ChristianW
ChristianW el 4 de Abr. de 2013
You can write your flag in the UserData-property of the toolbaricon.
...
set(handles.uitoolbar1,'UserData',0)
for ...
if get(handles.uitoolbar1,'UserData')
break
end
end
...
function uipushtool1_ClickedCallback(hObject, eventdata, handles)
set(handles.uitoolbar1,'UserData',1)
  3 comentarios
Arun Badigannavar
Arun Badigannavar el 5 de Abr. de 2013
set(handles.uitoolbar1,'UserData',0)
for i=1:1:inf
if get(handles.uitoolbar1,'UserData')
break
end
a=i
pause(0.00000000000000000000001)
end
If I put pause ,,then only its working,,,
Jan
Jan el 5 de Abr. de 2013
The tiny interval for PAUSE is not useful. Use pause to get the shortest possible delay. Usually drawnow is used to allow ui-objects to update.

Iniciar sesión para comentar.

Más respuestas (1)

Jan
Jan el 4 de Abr. de 2013
Each function has its own workspace, such that a variable set in one function is not visible in the other. A solution is to set a flag e.g. in the UserData of a figure or any other UI-object. This flag can be checked from inside the loop also.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by