比如有字符串 “中华AA1234”
共十个字节 
现在  想一个字节一个字节的 显示即 在文本框里 输入 1个字节时  显示半个汉字  可以用 ”. “ 表示
在文本框里 输入  2个字节时  显示 ”中“
在文本框里 输入  3个字节时  显示 ”中.“在文本框里 输入 4 时显示 中华
5时  显示 中华A
6     中华AA
.
.
.
实在是太穷了  
请大家以一个工程师的角度来看问题 
帮忙 谢谢啦
路过的 都顶一顶啊  不分力量大小呵呵  小就小顶啦

解决方案 »

  1.   

    Function CheckLeft(FString, LenNum)
    If LenNum Mod 2 <> 0 Then LenNum = LenNum + 1
    iLenNum = LenNum
    i = 1
    Do While iLenNum > 0
    If Asc(Mid(FString, i, 1)) > 127 Or Asc(Mid(FString, i, 1)) < 0 Then
    iLenNum = iLenNum - 2
    Else
    iLenNum = iLenNum - 1
    End If
    strTemp = strTemp & Mid(FString, i, 1)
    i = i + 1
    Loop
    CheckLeft = strTemp
    End Function
    ---------
    给你个函数,...不足的就是.不能显示"."噢!呵呵!
      

  2.   

    一个字节就   数字 1
     当是 1时   像 字母  数字 都能 显示  如 A    2   等
                是汉字 是 就只能显示 半个啦 因为一个汉字占两个字节嘛当是  2 是  就能显示 一个全汉字   而 数字 字母 就能 显示 两个  AA  BB  11  22
      

  3.   

    Option Explicit'Powered by Jadeluo, 2005/03/11Public Function SubString(ByVal s As String, ByVal L As Integer) As String
        Dim i As Integer, T As String, B() As Byte, IsChinese As Boolean
        B = StrConv(s, vbFromUnicode)
        T = ""
        IsChinese = False
        For i = 0 To L - 1
            Select Case B(i)
            Case Is >= 160      '汉字
                If IsChinese Then
                    T = T & Chr(B(i - 1) * 256# + B(i))
                    IsChinese = False
                Else
                    IsChinese = True
                End If
            Case Is < 32        '控制字符
                If B(i) < 32 Or B(i) > 127 Then
                    T = T & "?"
                End If
            Case Else
                T = T & Chr(B(i))
            End Select
        Next i
        If IsChinese Then T = T & "."
        SubString = T
    End FunctionPrivate Sub Form_Load()
        Dim s As String
        s = "中国" & vbCr & "12345"
        Debug.Print SubString(s, 1)
        Debug.Print SubString(s, 2)
        Debug.Print SubString(s, 3)
        Debug.Print SubString(s, 4)
        Debug.Print SubString(s, 5)
        Debug.Print SubString(s, 6)
        End
    End Sub