比如有字符串 “中华AA1234”
共十个字节
现在 想一个字节一个字节的 显示即 在文本框里 输入 1个字节时 显示半个汉字 可以用 ”. “ 表示
在文本框里 输入 2个字节时 显示 ”中“
在文本框里 输入 3个字节时 显示 ”中.“在文本框里 输入 4 时显示 中华
5时 显示 中华A
6 中华AA
.
.
.
共十个字节
现在 想一个字节一个字节的 显示即 在文本框里 输入 1个字节时 显示半个汉字 可以用 ”. “ 表示
在文本框里 输入 2个字节时 显示 ”中“
在文本框里 输入 3个字节时 显示 ”中.“在文本框里 输入 4 时显示 中华
5时 显示 中华A
6 中华AA
.
.
.
但是真实的应该是10("中华"是4)
然后判断输入的字节数,然后把每一个都分开,标记一下再读值吧
Dim i As Integer
For i = 1 To Len(STR)
If asc(Mid(STR, i, 1)) < 0 Then
StrRes=StrRes & Mid(STR, i, 1)
Num = Num - 2
if Num=0 Then Exit Sub
if Num=-1 Then StrRes=StrRes & Mid(StrRes,Len(StrRes)-1,1) & "."
Else
StrRes=StrRes & Mid(STR, i, 1)
Num = Num - 1
if Num=0 Then Exit Sub
End If
Next
End Sub好像是这样,两个参数STR是"中华AA1234",Num是你的读取的字节数
不好意思 这句写错了应该写成
if Num=-1 Then StrRes=StrRes & Mid(StrRes,1,Len(StrRes)-1) & "."
应该没问题了~Private Sub Form_Load()
Me.Caption = "中华AA中华1234"
Text2.Text = 0
End SubPrivate Sub Text2_Change()
Text1.Text = xCutText(Me.Caption, Val(Text2.Text))
End SubPrivate Function xCutText(Text As String, Length As Integer)
Dim tS As String
Dim cS As String
Dim i As Integer
Dim cLen As Integer
If Length >= LenB(StrConv(Text, vbFromUnicode)) Then
xCutText = Text
Exit Function
End If
i = 1
Do While cLen < Length
cS = Mid(Text, i, 1)
cLen = cLen + IIf(Asc(cS) < 0, 2, 1)
If cLen > Length Then cS = "."
tS = tS & cS
i = i + 1
Loop xCutText = tS
End Function
是我要的效果
其他也试过了