| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1600 人关注过本帖
标题:程序运行时跳过了某一行
只看楼主 加入收藏
yao11
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-3-15
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
程序运行时跳过了某一行
图片附件: 游客没有浏览图片的权限,请 登录注册

如附件图所示,程序在运行时,endif下面一句没有被输出,但是yp是有正常加1,除了那一句没有被输出,其他全部正常。在那一行加断点进行运行时,那一行会被输出。以前没有接触过VB,求问大佬们这是怎么回事,谢谢
搜索更多相关主题的帖子: 运行 跳过 VB 一行 输出 
2021-03-15 11:14
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 楼主 yao11
end if前面的是满足条件的才输出,而end if后面的是外层循环的才输出,二者输出内容不一样,都不是全部输出。
2021-03-15 11:39
yao11
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-3-15
收藏
得分:0 
回复 2楼 ysr2857
内部循环结束以后跳到外部循环,应该是从endif下那一行开始,也就是说内部循环结束,然后输出那一句,然后才是yp加1吧,可是现在是内部循环结束,输出那一行没有反应,直接yp加1,然后又进到内循环
2021-03-15 11:57
ysr2857
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:34
帖 子:809
专家分:77
注 册:2020-2-10
收藏
得分:0 
回复 3楼 yao11
没有试验,观察你的程序,可能不是没有显示,是后面的内容覆盖或者说是替换掉了前面的内容,若要全部显示你得另设控件或者改为如下语句就不会替换掉了:
MSComm1.Output=MSComm1.Output & "#+x  1000#"
2021-03-15 21:04
yao11
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-3-15
收藏
得分:0 
回复 4楼 ysr2857
这句程序一旦输出,外部其他设备就会读取到然后进行动作,现在是外部设备一直没有关于这句的相关动作
2021-03-16 08:41
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:20 
根据题主描述“在那一行加断点进行运行时,那一行会被输出”,应该是没清缓冲导致的,加个延时或改成if语句里的样式看看,如下:
capture
Mysegmentecap 2
Mscomm1.Output = "#+X 1000#"

能编个毛线衣吗?
2021-03-16 10:09
yao11
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-3-15
收藏
得分:0 
回复 6楼 wmf2014
昨天加个延时没有用,然后刚才按照内循环的格式写,可以了
2021-03-16 10:30
yao11
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-3-15
收藏
得分:0 
回复 6楼 wmf2014
谢谢指导
2021-03-16 10:30
快速回复:程序运行时跳过了某一行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032766 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved