vb代码转成java代码

zhangleialang zhangleialang 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
Delegate Sub RecieveRefreshMethodDelegate(ByVal dbyte() As Byte, ByVal sta As Integer, ByVal len As Integer) '声明委托
Dim RecieveRefresh As New RecieveRefreshMethodDelegate(AddressOf TextBox_Display) '定义一个委托实例
Delegate Sub ProgressBarChangeMethodDelegate() '声明委托
Dim ProgressBarChange As New ProgressBarChangeMethodDelegate(AddressOf ProgressBar1Change) '定义一个委托实例
Dim SendBuf(200) As Byte
Dim RxBuf(100) As Byte
Dim RxCnt As Byte = 0
Dim BpsNum As Integer = 0
Dim BagTotal As Integer = &H8A1
Dim BagNum As Integer = 0
Dim LibTimFlag As Integer = 0
'CRC16校验
Function ChkCrc16(ByVal str() As Byte, ByVal sta As Integer, ByVal len As Integer) As String
Dim i As Integer = 0
Dim j As Integer = 0
Dim crc_register As Integer = 0
While len '总字节数
len -= 1
i = &H80 '一个字节8位,故循环8次
While i
If crc_register And &H8000 Then '高位为1则进行位或运算
crc_register <<= 1
crc_register = crc_register Mod 65536
crc_register = crc_register Xor &H1021
Else
crc_register <<= 1 '高位不为1,则乘2
End If
If str(j + sta) And i Then
crc_register = crc_register Xor &H1021 '加上本位的CRC码
End If
i = i / 2
End While
j += 1 '指向下一字节
End While
ChkCrc16 = crc_register '返回CRC-16校验码
End Function
'接收数据-触发接收事件
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived '添加接受事件
Dim inDataLen As Integer = SerialPort1.BytesToRead()
If inDataLen > 0 Then
Dim inBytes(inDataLen - 1) As Byte, bytes As Byte = 0
SerialPort1.Read(inBytes, 0, inDataLen)
While inDataLen
inDataLen -= 1
If RxCnt Then
RxBuf(RxCnt) = inBytes(bytes)
RxCnt += 1
If RxCnt >= 11 And RxBuf(4) + 6 = RxCnt Then
If RxBuf(RxCnt - 1) = &HFE Then
'SerialPort1.Write(RxBuf, 0, RxCnt)
RxFun()
RxCnt = 0
Else
RxCnt = 0
End If
End If
Else
If inBytes(bytes) = &HFE Then
RxBuf(RxCnt) = inBytes(bytes)
RxCnt += 1
End If
End If
bytes += 1
End While
End If
End Sub
Sub RxFun()
Dim crc16num As Integer
crc16num = ChkCrc16(RxBuf, 5, RxBuf(4) - 2)
If (RxBuf(RxBuf(4) + 3) = ((crc16num >> 8) Mod 256)) And (RxBuf(RxBuf(4) + 4) = (crc16num Mod 256)) Then
Select Case RxBuf(5)
Case &H1
Select Case RxBuf(6)

End Select
Case &H11
Select Case RxBuf(6)
Case &H11
LibTimFlag = 0
LibLoad()
End Select
Case &H31
Select Case RxBuf(6)
Case &H1
If RxBuf(7) = 0 Then
'MessageBox.Show("地址设置成功", "提示")
Else
'MessageBox.Show("地址设置失败", "提示")
End If
Case &H2
If RxBuf(7) = 0 Then
'MessageBox.Show("波特率设置成功", "提示")
Else
'MessageBox.Show("波特率设置失败", "提示")
End If
Case &H3
If RxBuf(7) = 0 Then
'MessageBox.Show("日期与时间设置成功", "提示")
Else
'MessageBox.Show("日期与时间设置失败", "提示")
End If
Case &HA
If RxBuf(7) = 0 Then
'MessageBox.Show("显示屏状态设置成功", "提示")
Else
'MessageBox.Show("显示屏状态设置失败", "提示")
End If
End Select
Case &H32
Select Case RxBuf(6)
Case &H1
If RxBuf(7) = 0 Then
'MessageBox.Show("地址查询成功", "提示")
Else
'MessageBox.Show("地址查询失败", "提示")
End If
Case &H2
If RxBuf(7) = 0 Then
Timer1.Enabled = False
TextBox4.Invoke(RecieveRefresh, RxBuf, 8, RxBuf(4) - 5) '调用接收数据函数
'MessageBox.Show("波特率查询成功", "提示")
Else
'MessageBox.Show("波特率查询失败", "提示")
End If
Case &H3
If RxBuf(7) = 0 Then
TextBox4.Invoke(RecieveRefresh, RxBuf, 8, RxBuf(4) - 5) '调用接收数据函数
'MessageBox.Show("日期与时间查询成功", "提示")
Else
'MessageBox.Show("日期与时间查询失败", "提示")
End If
Case &HA
If RxBuf(7) = 0 Then
Select Case RxBuf(8)
Case 0
PictureBox2.BackColor = Color.Black
Case 1
PictureBox2.BackColor = Color.Red
End Select
'MessageBox.Show("显示屏状态查询成功", "提示")
Else
'MessageBox.Show("显示屏状态查询失败", "提示")
End If
Case &H41
If RxBuf(7) = 0 Then
TextBox4.Invoke(RecieveRefresh, RxBuf, 8, RxBuf(4) - 5) '调用接收数据函数
'MessageBox.Show("软件版本查询成功", "提示")
Else
'MessageBox.Show("软件版本查询失败", "提示")
End If
Case &H42
If RxBuf(7) = 0 Then
TextBox4.Invoke(RecieveRefresh, RxBuf, 8, RxBuf(4) - 5) '调用接收数据函数
'MessageBox.Show("硬件版本查询成功", "提示")
Else
'MessageBox.Show("硬件版本查询失败", "提示")
End If

End Select
End Select
Else
MessageBox.Show("返回数据校验码错误", "提示")
End If
End Sub
...全文

相关推荐

VB转成Java源码,VBForm转成Java界面代码

VB转成Java源码,VBForm转成Java界面代码的尝试,不仅仅是两种语言之间的转换,更是一种计算机科学领域的深入探索。

自然真我

VB2JAVA:一个开源的VB到Java代码转换工具

htmltable {th, td {th {pre {简介:VB2JAVA是一个旨在将Visual Basic代码转换为Java语言的开源项目。通过编程语言翻译技术,包括词法分析、语法分析、语义分析和代码生成,项目自动将VB代码转换为等效的Java代码,降低手动重构的工作量。此项目对于希望利用Java生态系统并迁移到Java平台的VB代码库拥有者而言具有极大价值。

亿风行

VB到Java代码转换工具实践指南

随着技术的不断进步,许多企业的遗留系统逐渐暴露出性能瓶颈和维护难度。Visual Basic (VB),作为微软推出的编程语言,曾经在桌面应用程序开发领域占有一席之地。然而,随着时间的推移,越来越多的企业转向Java等更为现代、跨平台的解决方案。Java作为企业级应用开发的首选语言之一,以其良好的跨平台性、强大的生态系统以及稳定的性能,逐渐成为企业转型的首选。然而,直接从VB代码到Java代码的手动迁移成本高昂,且易受人为因素影响导致错误或遗漏。

大奇鸭

VB.NET到C#的代码转换工具指南

枚举(Enum)是用于定义一组命名常量的类型。尽管VB.NET和C#中的枚举在基本概念上是一致的,但它们的声明方式略有不同。例如,在VB.NET中定义枚举类型如下:FirstValueEnd Enum而在C#中,枚举的定义则稍显简洁:在进行代码转换时,需要注意枚举值在两种语言中的相同点和不同点,确保枚举的命名和值都能够正确地映射。除了通用的异常处理语法外,自定义异常类的转换也是代码迁移中的一项重要工作。

一人一猫浪迹天涯

VB代码转java代码,亲测可用

在IT行业中,编程语言间的代码转换是一个常见的需求,特别是在维护旧项目或迁移系统时。本话题聚焦于将Visual Basic(VB)代码转换为Java代码。

BillyW
评论 1
收藏 已收藏
分享
返回顶部
zhangleialang
Java 51,407 成员 86,129 内容