vb 如何保存多个空格

来源:百度知道 编辑:UC知道 时间:2024/05/21 00:59:51
我要将 数字 1234 保存到 1.txt内的第一行

但第一行 必须是20个字节 不足长度 用空格代替

实际应该保存出来的效果为 1234+空格*16

该如何编写呢
这方法可以用..但是 为什么在VB里面 汉字也是一个字节呢..
如果 我要输入"中国"的话 就会出现 "中国"+18个空格 可不可以修改成
"中国"+16个空格呢

-------------------------------------------

如果我要反过来 定义 TEXT1的长度 为20字节 (汉字为2字节,数字英文为1字节) 应该如何修改呢?
用 Text1.MaxLength =20的话 还是可以 输入20个汉字

s = "中国123"
For i = 1 To Len(s)
n = n + IIf(Asc(Mid(s, i, 1)) >= 0, 0, 1)
Next i
MsgBox Format(s, "!" & String(20 - n, "@"))

Private Sub Command1_Click()
Dim str1 As String * 20
str1 = 123
Open "d:\1.txt" For Output As #1
Print #1, str1
Close #1
End Sub

R="中国"
R=R+space(20-len(R))
X="1234"
X=X+space(20-len(X))
你试试

给你个思路 在加空格之前先判断字符串是不是 汉字
再根据情况加空格

Private Function isHanzi(ByVal s As String) As Boolean
isHanzi = True
For i = 1 To Len(s)
isHanzi = isHanzi And (Asc(Mid(s, i, 1)) < 0)
Next
End Function

Private Sub addSpace(ByRef ss As String)
If isHanzi(ss) Then
ss = ss + Space(20 - Len(ss) * 2)
Else
ss = ss + Space(20 - Len(ss))
End If
End Sub

Private Sub Command1_Click()
Dim R As String
Dim X As String
R = "中国"