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 --------- 给你个函数,...不足的就是.不能显示"."噢!呵呵!
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
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
---------
给你个函数,...不足的就是.不能显示"."噢!呵呵!
当是 1时 像 字母 数字 都能 显示 如 A 2 等
是汉字 是 就只能显示 半个啦 因为一个汉字占两个字节嘛当是 2 是 就能显示 一个全汉字 而 数字 字母 就能 显示 两个 AA BB 11 22
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