![]() |
#2
风吹过b2013-01-16 20:15
如果接收的变量,定义为 string 类型时,接收到的就是一个字符吕。
如果接收的变量,定义为 byte数组,那么接收到的就是 每个字节的 ASCII 码。 在这种情况下,如果你确保没有 中文的情况下,可以使用笨方式来操作。每个元素 都用 chr() 函数转换为对应的ASCII码,然后连接到一起。 另外VB 针对 ASCII 的字符串(数据类型是 BYTE 数组),提供了一个转换函数,转换成 Unicode 的字符串(VB标准字符器,数据类型是 string) -------以下内容来自百度--------- StrConv 函数 -------------------------------------------------------------------------------- 返回按指定类型转换的 Variant (String)。 语法 StrConv(string, conversion, LCID) StrConv 函数的语法有下面的命名参数: 部分 说明 string 必要参数。要转换的字符串表达式。 conversion 必要参数。Integer。其值的和决定转换的类型。 LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系统LocaleID为缺省值。) 设置值 conversion 参数的设置值为: 常数 值 说明 vbUpperCase 1 将字符串文字转成大写。 vbLowerCase 2 将字符串文字转成小写。 vbProperCase 3 将字符串中每个字的开头字母转成大写。 vbWide* 4* 将字符串中单字节字符转成双字节字符。 vbNarrow* 8* 将字符串中双字节字符转成单字节字符。 vbKatakana** 16** 将字符串中平假名字符转成片假名字符。 vbHiragana** 32** 将字符串中片假名字符转成平假名字符。 vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。 vbFromUnicode 128 将字符串由 Unicode 转成系统的缺省码页。 *应用到远东国别。 **仅应用到日本。 注意 这些常数是由 VBA 指定的。可以在程序中使用它们来替换真正的值。其中大部分是可以组合的,例如 vbUpperCase + vbWide,互斥的常数不能组合,例如 vbUnicode + vbFromUnicode。当在不适用的国别使用常数 vbWide、vbNarrow、vbKatakana,和 vbHiragana 时,就会导致运行时错误。 下面是一些一般情况下的有效分界符:Null (Chr$(0)),水平制表符 (Chr$(9)),换行 (Chr$(10)),垂直制表符 (Chr$(11)),换页 (Chr$(12)) ,回车 (Chr$(13)),空白 (SBCS) (Chr$(32))。在 DBCS中,空白的实际值会随国家/地区而不同。 说明 在把 ANSI 格式的 Byte 数组转换为字符串时,您应该使用 StrConv 函数。当您转换 Unicode 格式的这种数组时,使用赋值语句。 StrConv 函数示例 本示例使用StrConv 函数来将Unicode 字符串转换成 ANSI 字符串。 Dim i As Long Dim x() As Byte x = StrConv("ABCDEFG", vbFromUnicode) ' 转换字符串。 For i = 0 To UBound(x) Debug.Print x(i) Next |
原本接收應該為1的圖~!!不過傳輸有改過
不使用ASK碼1個1個傳以後變成了2那張(例如原先的057變成了9)
請問一下我VB程式該怎麼改才能讓2的圖變成1那樣子
我傳輸成是一次送一百筆資料(例如:000 000 [6個數字+1個空格為一筆])

Private Sub sockMain_ConnectionRequest(ByVal requestID As Long)
If sockMain.State <> sckClosed Then
sockMain.Close
End If
sockMain.Accept requestID
txtStatus.Text = txtStatus.Text & _
"Accepted connection from: " & _
sockMain.RemoteHostIP & vbCrLf
End Sub
Private Sub sockMain_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
' Dim strdata As Byte
sockMain.GetData strData, vbString
txtStatus.Text = txtStatus.Text & _
strData & vbCrLf
End Sub
If sockMain.State <> sckClosed Then
sockMain.Close
End If
sockMain.Accept requestID
txtStatus.Text = txtStatus.Text & _
"Accepted connection from: " & _
sockMain.RemoteHostIP & vbCrLf
End Sub
Private Sub sockMain_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
' Dim strdata As Byte
sockMain.GetData strData, vbString
txtStatus.Text = txtStatus.Text & _
strData & vbCrLf
End Sub