文件交换

图片缩略图

stoploop(v1.0,2008年6月)

版本1.0.0.0(2.07 kB) 乔斯(10584)
显示停止按钮中断循环

8下载

更新2008年6月26日

查看许可证

stoploop - 创建停止按钮以具有用户中断循环

STOPLOOP创建一个消息框窗口并返回一个结构FS
包含两个函数,称为FS。停下来FS.Clear。函数FS.Stop ()
将返回true,如果已单击OK按钮(或消息框?
已被删除),这样循环就可以被中断。

函数FS.Clear()可用于删除消息框,如果循环已经结束而没有用户中断。

fs = stoploop(str)使用字符串str来显示而不是默认值
'停止循环'。

例子:
tic;%我们将在循环中测量经过的时间
%设置停止框:
FS = stoploop({'Stop me before', '5 seconds have elapsed'});
%显示经过时间
fprintf('\nSTOPLOOP: elapsed time (s): %5.2f\n',toc)
%启动循环
while(〜fs.stop()&& toc <5),%检查是否必须停止循环
流(% c, repmat(8、6、1));%清理以前的时间
fprintf('%5.2f \ n',toc);%显示经过时间
结尾
fs.clear();%清除盒子
清除fs;%这种结构不再使用了

版本1.0,2008年6月
灵感来自FEX上的几篇文章“如何中断循环?”。

引用

乔斯(10584)(2021)。stoploop(v1.0,2008年6月)(//www.tianjin-qmedu.com/matlabcentral/fileexchange/20455-stoploop-v1-0-jun-2008), MATLAB中央文件交换。检索

意见及评分(29.

埃尔莎丰

这真的很有帮助,谢谢!

乔恩·埃里克森

非常有用,工作很棒!比击中CNTRL-C更好的方式实际上可以将我的数据输出到Workspace时,循环中断而不是使用CNTRL-C丢失所有内容。谢谢你的分享!

美国Gokhun Tanyer

我浏览了许多用按键停止循环的共享代码,发现这是我的版本中唯一有效的代码。我所做的唯一的增加就是在循环中添加了一个pause(1),这样它就不会继续下去,直到我的划桨及时完成。
谢谢!

年代拉梅什

misaki soma.

非常感谢你,我一直在寻找这个功能在很长一段时间!

hammad艾哈迈德

Bravo ......在互联网上浪费了很多时间,但终于找到了......哈哈哈......

埃里克·陈

保罗·格雷沙姆

谢谢你好吗!

Jean-Philippe Girard

大卫

我今晚花了数小时寻找可能以受控方式中断循环的东西,这有效。谢谢JOS!

马特J.

塞缪尔佩德罗

这是一个非常简单,但非常有用的特性。谢谢你!

丹尼尔赫雷拉

Martina Callaghan.

丹尼尔armyr.

这正是我最近几周所需要的。最近版本的Matlab在循环中按Ctrl-C绘制复杂图形时开始表现奇怪,这个文件解决了这个问题。

这是一个很好的小功能,我在写得良好写的,并记录得很好。你没有得到5个,因为它仍然有一些问题,如绘图命令透支,除非一个人谨慎,除了一个句柄,而且除了所有我很开心,这个都会在我的个人工具箱中得到良好的事物。

钱德勒

嗨JOS,

我很喜欢你的节目,但我想解决一个不同的问题。我有一个循环,如果经过了一定的时间,我想跳到循环的下一个迭代。我不知道该怎么做。我很感激你能提供的任何帮助。

麦克风

放松,有一个房子酿造。自由意见与...同意/不同意......所有问题都是难题,直到他们解决。谢谢你的提交!

khurram.

这对我来说非常有用。谢谢Jos.

Thierry Dalon.

Wesley:你可以在带有中止按钮的等待栏或进度栏的FEX中看到其他贡献
(示例FEX 3607)。在这种情况下,我不明白为什么你想要2个guis;中止的进步是足够的,不是吗?
----
否则我不认为JOS发布是“琐碎”或“无用”。@JOS:继续为FEX提供贡献!我是一些贡献的粉丝,并从高效的主编码中获得了很多倾向。
欢呼。别让那些笨蛋来烦你。

韦斯利·汉普顿

如何将进度栏添加到STOPLoop消息框以跟踪主GUI循环中的操作的进度,并演示如何在两个运行GUI之间进行通信。

迪克劳里林

这很棒。我一直在打这个问题几年。我最新的应用是预览视频,然后在我看到我正在寻找的东西时抓住框架。以前我要么用休息(没有清理文件),要么不得不写一个gui。

年代的斯拉夫人

我认为这是非常有用的,类似的东西应该是默认数字的一部分!!
每个人都知道,每件事都是琐碎的,以及什么都没有!

谢谢

JOS(作者)

如果有人认为这是微不足道的,他或她有权这样说。最好有一些具体的评论为什么,否则这样的评论是相当无用的。

再说一次,我自己(当然有点偏见)并不认为STOPLOOP有那么微不足道。它可以为用户可能面临的一个常见问题提供解决方案。例如,Matlab自己的均值也很简单(给定SUM和SIZE),但我怀疑许多人认为它也有其优点……此外,其他国家也可以将本报告中提出的意见纳入它们自己的解决办法。万博 尤文图斯

请注意,我已经尝试让它尽可能的用户友好,包括一个帮助,一个例子和内部注释,使它比仅仅说:创建一个对象和监视userdata ....更有价值我希望其他人可以从对外汇交易所的贡献中受益,并可能从中学习,我也希望看到一些其他的想法和批评。

大肠艾玛(shhhhhh)

哦,我明白了。我们不能在没有归因的情况下批评。很好。我收回我的评论。代码非常棒,是一件艺术品。目前所有提交的作品都将得到5分。

肯·伊顿

嘿jos,

不要只是喜欢害怕使用他们真实姓名的讽刺评论者,因为担心有人会在他们判断他人的判断时苛刻判断他们的提交。

JOS(作者)

显然这个问题对他人来说并不琐碎......但是,无论如何,谢谢你的想法。

E. FUDD.

当然。它非常简单,可以在某个方便对象的UserData属性中设置标志,然后在循环执行期间获取该属性。一旦遇到旗帜,简单的休息就足够了。正如我所说,微不足道的。

JOS(作者)

感谢E.F.对我的帮助。也许你可以告诉我们为什么你认为这微不足道?注意,它没有模仿ctrl-C!

E. FUDD.

不重要的

MATLAB版本兼容性
创建R14SP1
与任何版本兼容
平台兼容性
窗户 macOS Linux.

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!