网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月07日漏签0天
vb吧 关注:156,054贴子:1,166,217
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 44回复贴,共1页
<<返回vb吧
>0< 加载中...

求助:VB怎么做个 通用函数供其它事件调用...

  • 只看楼主
  • 收藏

  • 回复
  • 8255842a
  • 基本语句
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Private Sub C3_Click()
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
MSComm1.InputLen = 0
sd = "01ED00BB8" '这行的东西不一样.......................
MSComm1.Output = Chr(5) + sd + SumChk(sd)
MSComm1.PortOpen = False
End If
End Sub
有几个按钮,功能都差不多.能不能在 VB通用那儿建立个....供几个按钮调用.
就像下面的SumChk()
Private Function SumChk(Dats$) As String
Dim i&
Dim CHK&
For i = 1 To Len(Dats)
CHK = CHK + Asc(Mid(Dats, i, 1))
Next i
SumChk = Right(Hex$(CHK), 2)
End Function


  • ztw1122
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在模块里
public sub send(comm as MSComm,msg as string)
.......


2026-01-07 15:47:53
广告
不感兴趣
开通SVIP免广告
  • 8255842a
  • 基本语句
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
public sub send(comm as MSComm,msg as string)
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
MSComm1.InputLen = 0
send= msg
MSComm1.Output = Chr(5) + sd + SumChk(sd)
MSComm1.PortOpen = False
End If
End Sub
Private Sub C3_Click()
msg="01ED00BB8"
end


  • ztw1122
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
public sub send(MSComm1 as MSComm,msg as string)
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
MSComm1.InputLen = 0
send= msg
MSComm1.Output = Chr(5) + sd + SumChk(sd)
MSComm1.PortOpen = False
End If
End Sub
Private Sub C3_Click()
msg="01ED00BB8"
send msg
end


  • 菠萝蜜
  • 暴力枚举
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
public 一般都放在模块中调用,尽量用函数而不要去用过程。
If MSComm1.PortOpen = False Then
可能是 : If form1.MSComm1.PortOpen = False Then


  • Luosen56
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
Private Sub MsComm1_OnComm()
Dim i%, cData$, byIN() As Byte
Select Case MSComm1.CommEvent
Case comEvCD ' CD 线的状态发生变化
Case comEvCTS ' CTS线的状态发生变化
Case comEvDSR ' DSR线的状态发生变化
Case comEvReceive ' DSR线的状态发生变化
' 用二进制模式接收十六进制数据:
MSComm1.InputMode = ComInputModeBinary
ReDim byIN(MSComm1.InBufferCount)
byIN = MSComm1.Input
For i = 0 To UBound(byIN)
If Len(Hex(byIN(i))) = 1 Then
cData = cData & "0" & Hex(byIN(i)) & " "
Else
cData = cData & Hex(byIN(i)) & " "
End If
Next
Text1.Text = vbCrLf & cData
End Select
End Sub
Public Sub jieshou() ' 接收数据处理为16进制
Dim i As Integer
For i = 0 To UBound(bytInput)
If Len(Hex(bytInput(i))) = 1 Then
strData = strData & "0" & Hex(bytInput(i))
Else
strData = strData & Hex(bytInput(i))
End If
Next i
Text1.Text = strData
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.InBufferSize = 1024
MSComm1.OutBufferSize = 512
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
Text1.Text = ""
End Sub


  • 珂珂女神经
  • 世界你好
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我刚考完vb.运气不错。最后2道大题都是填?的填空题,但是运行不了,考试的时候。我就直接保存交卷了,后来室友说,前面的’注释符没去掉就零分!我一个都没去……有考过的大神……知道给分吗。好担心


  • ztw1122
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


2026-01-07 15:41:53
广告
不感兴趣
开通SVIP免广告
  • 武林神话之剑客
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
兄弟,你需要的是要恶补一下基础。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 44回复贴,共1页
<<返回vb吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示