| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 743 人关注过本帖
标题:各位VB大神,关于label.opition控件求助啊
只看楼主 加入收藏
枫叶魔君jay
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-1-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:11 
各位VB大神,关于label.opition控件求助啊
我们编了一个程序主要是完成零件加工的,程序段如下
Private Sub Command4_Click()
GetParam
open_list
outport_bit 1, 1, 0
con_pmove 1, 2000
arc_final 1, 2, 1, 2000, 0, 1000
con_pmove 1, 2000
arc_final 1, 2, -1, 1000, 1000, 1000
con_pmove 2, 2000
arc_final 1, 2, 1, 0, 2000, 1000
con_pmove 2, 2000
arc_final 1, 2, -1, -1000, 1000, 1000
con_pmove 1, -2000
arc_final 1, 2, 1, -2000, 0, 1000
con_pmove 1, -2000
arc_final 1, 2, -1, -1000, -1000, 1000
con_pmove 2, -2000
arc_final 1, 2, 1, 0, -2000, 1000
con_pmove 2, -2000
arc_final 1, 2, -1, 1000, -1000, 1000
outport_bit 1, 1, 1
close_list
End Sub
想在没完成一段的后面加一个label4.caption="直线AB con_pmove 1, 2000 "主要是改变这个中的显示。但是编辑了只显示最后一个label4.caption的内容。我们改的程序如下:
Private Sub Command4_Click()
GetParam
open_list
outport_bit 1, 1, 0
con_pmove 1, 2000
label4.capition="直线AB con_pmove 1, 2000 "
arc_final 1, 2, 1, 2000, 0, 1000
label4.caption="圆弧BC arc_final 1, 2, 1, 2000, 0, 1000 "
con_pmove 1, 2000
label4.opition="直线AB con_pmove 1, 2000 "
arc_final 1, 2, -1, 1000, 1000, 1000
后面每段加工程序后接上相应的label4.caption
con_pmove 2, 2000
arc_final 1, 2, 1, 0, 2000, 1000
con_pmove 2, 2000
arc_final 1, 2, -1, -1000, 1000, 1000
con_pmove 1, -2000
arc_final 1, 2, 1, -2000, 0, 1000
con_pmove 1, -2000
arc_final 1, 2, -1, -1000, -1000, 1000
con_pmove 2, -2000
arc_final 1, 2, 1, 0, -2000, 1000
con_pmove 2, -2000
arc_final 1, 2, -1, 1000, -1000, 1000
outport_bit 1, 1, 1
close_list
End Sub
我们的零件图如下:[local]1[/local] 但是最后只显示最后一个label.caption的内容。如何实现每段的都显示?
大神指教啊。

[ 本帖最后由 枫叶魔君jay 于 2014-1-8 20:47 编辑 ]
2014-01-08 16:16
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:5 
图挂了..

三十年河东,三十年河西,莫欺少年穷!
2014-01-08 19:32
枫叶魔君jay
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-1-8
收藏
得分:0 
回复 2楼 韶志
啥子意思呀?传的图片挂了?
2014-01-08 20:12
枫叶魔君jay
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-1-8
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2014-01-08 20:21
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:5 
label4.caption= ....
doevents '加个信息响应就行了。顺道问下完成一道处理工序平均多久?
收到的鲜花
2014-01-08 21:13
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:5 
这个应该是以日志形式来显示。而不是以标签来显示。每道工序过完后,就会把前面的消息给覆盖掉,所以最终看到的只有最后一条信息。

你在窗体上换一个控件吧,如 list1

函数如下:
Public Sub addlog(cs As String)
If List1.ListCount > 99 Then           '保留的日志最大条数,比这里写的直接数要大1。如99,那么就是显示100条。
   List1.RemoveItem 0
End If
List1.AddItem Time & " " & cs
End Sub


调用过程:
这行:label4.opition="直线AB con_pmove 1, 2000 "
换成
call addlog("直线AB con_pmove 1, 2000 ")
或者按你们的简化写法:
addlog "直线AB con_pmove 1, 2000"
收到的鲜花

授人于鱼,不如授人于渔
早已停用QQ了
2014-01-09 08:32
枫叶魔君jay
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-1-8
收藏
得分:0 
回复 6楼 风吹过b
谢谢了哈,但是显示还是同一时间显示所有的,不会完成一条在显示
2014-01-09 11:00
枫叶魔君jay
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-1-8
收藏
得分:0 
回复 5楼 bczgvip
我们试过了,但是还是只显示最后一个。我们这个只是仿真,具体每道工序结束时间是不确定的
2014-01-09 11:03
枫叶魔君jay
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-1-8
收藏
得分:0 
回复 6楼 风吹过b
高手现在想用VB实现检测 多段连续加工程序中的每一条代码是否在运行,若在执行就利用label.caption=".....该段代码正在执行"例如
Private Sub Command4_Click()
GetParam
open_list
outport_bit 1, 1, 0
con_pmove 1, 2000
arc_final 1, 2, 1, 2000, 0, 1000
con_pmove 1, 2000
arc_final 1, 2, -1, 1000, 1000, 1000
con_pmove 2, 2000
arc_final 1, 2, 1, 0, 2000, 1000
con_pmove 2, 2000
arc_final 1, 2, -1, -1000, 1000, 1000
con_pmove 1, -2000
arc_final 1, 2, 1, -2000, 0, 1000
con_pmove 1, -2000
arc_final 1, 2, -1, -1000, -1000, 1000
con_pmove 2, -2000
arc_final 1, 2, 1, 0, -2000, 1000
con_pmove 2, -2000
arc_final 1, 2, -1, 1000, -1000, 1000
outport_bit 1, 1, 1
close_list
End Sub
现在要检测con_pmove 1, 2000这条是否运行,并返回label.caption="直线AB on_pmove 1, 2000"就是要让label控件显示 直线AB on_pmove 1, 2000
要检测arc_final 1, 2, 1, 2000, 0, 1000这条是否在运行,返回label.caption="圆弧BC arc_final 1, 2, 1, 2000, 0, 1000"
能帮忙解决吗?
2014-01-09 15:53
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
list1 这个框你拉高一点,可以显示多条以上。
运行时就可以看到每条信息的产生以及产生的时间。

整个测试代码:
程序代码:
Option Explicit

Private Sub Command1_Click()

addlog "开始"

'GetParam
'open_list
'outport_bit 1, 1, 0

con_pmove 1, 2000
addlog "直线AB con_pmove 1, 2000 "

arc_final 1, 2, 1, 2000, 0, 1000
addlog "圆弧BC arc_final 1, 2, 1, 2000, 0, 1000 "

con_pmove 1, 2000
addlog "直线AB con_pmove 1, 2000 "

arc_final 1, 2, -1, 1000, 1000, 1000
addlog "未知1"

con_pmove 2, 2000
arc_final 1, 2, 1, 0, 2000, 1000
addlog "未知2"

con_pmove 2, 2000
arc_final 1, 2, -1, -1000, 1000, 1000
addlog "未知3"

con_pmove 1, -2000
arc_final 1, 2, 1, -2000, 0, 1000
addlog "未知4"

con_pmove 1, -2000
arc_final 1, 2, -1, -1000, -1000, 1000
addlog "未知5"


con_pmove 2, -2000
arc_final 1, 2, 1, 0, -2000, 1000
addlog "未知6"


con_pmove 2, -2000
arc_final 1, 2, -1, 1000, -1000, 1000
addlog "未知7"


'outport_bit 1, 1, 1
'close_list

addlog "结束"

End Sub


Public Sub arc_final(cs1 As Long, cs2 As Long, cs3 As Long, cs4 As Long, cs5 As Long, cs6 As Long)
'随机延时
Dim i As Long
Dim j As Long

i = Int(Rnd() * 1000000 + 500)
For j = 1 To i
    DoEvents
Next j

End Sub


Public Sub con_pmove(cs1 As Long, cs2 As Long)
'随机延时

Dim i As Long
Dim j As Long

i = Int(Rnd() * 1000000 + 500)
For j = 1 To i
    DoEvents
Next j

End Sub

Public Sub addlog(cs As String)
If List1.ListCount > 99 Then           '保留的日志最大条数,比这里写的直接数要大1。如99,那么就是显示100条。
   List1.RemoveItem 0
End If
List1.AddItem Time & " " & cs
End Sub





图片附件: 游客没有浏览图片的权限,请 登录注册
收到的鲜花
  • 枫叶魔君jay2014-01-09 19:12 送鲜花  3朵   附言:我很赞同

授人于鱼,不如授人于渔
早已停用QQ了
2014-01-09 16:58
快速回复:各位VB大神,关于label.opition控件求助啊
数据加载中...
 
   



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

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