Dim nSize As Long Dim Mcount As String Dim MH As String Dim MS As String nSize = 255 Mcount = Space(nSize) ds = GetPrivateProfileString(HCXedit.List1.Text, "条目数", vbNullString, Mcount, nSize, FilePathName) For i = 1 To Val(Mcount) MH = Space(nSize) dl = GetPrivateProfileString(HCXedit.List1.Text, "H" & i, vbNullString, MH, nSize, FilePathName) If Trim(MH) > "" Then MS = Space(nSize) dc = GetPrivateProfileString(HCXedit.List1.Text, "描述" & i, vbNullString, MS, nSize, FilePathName) Text1(i) = Trim(MS) HCXedit.Text1 = HCXedit.Text1 & vbCrLf & "#" & Trim(MH) & "=" & Text1(i) End If Next i
#1
#2
#3
期望效果如下
#1=1200
#2=352
#3=80
本来还要加上对每一行的作用进行描述的,为了测试没有加上去。
Dim nSize As Long
Dim Mcount As String
Dim MH As String
Dim MS As String
nSize = 255
Mcount = Space(nSize)
ds = GetPrivateProfileString(HCXedit.List1.Text, "条目数", vbNullString, Mcount, nSize, FilePathName)
For i = 1 To Val(Mcount)
MH = Space(nSize)
dl = GetPrivateProfileString(HCXedit.List1.Text, "H" & i, vbNullString, MH, nSize, FilePathName)
If Trim(MH) > "" Then
MS = Space(nSize)
dc = GetPrivateProfileString(HCXedit.List1.Text, "描述" & i, vbNullString, MS, nSize, FilePathName)
Text1(i) = Trim(MS)
HCXedit.Text1 = HCXedit.Text1 & vbCrLf & "#" & Trim(MH) & "=" & Text1(i)
End If
Next i
Private Sub Form_Load()
Dim MH As String
MH = " 1" & Chr(0)
Text1 = "#" & LTrim(MH) & "=" & Trim(" 1200 ")
End Sub也可以用 Len(LTrim(MH)) 不是 1 确认。
解决方法也简单,用 Replace 函数替换掉。
Private Sub Form_Load()
Dim MH As String
MH = " 1" & Chr(0)
Text1 = "#" & LTrim(Replace(MH, Chr(0), vbNullString)) & "=" & Trim(" 1200 ")
End Sub
请多多指教,附加问题:
dc = GetPrivateProfileString(HCXedit.List1.Text, "描述" & i, vbNullString, MS, nSize, FilePathName)
,“描述”是对宏变量的作用进行说明的一串中文字符串,现在的问题是输入到文本框出乱码。
现有的英文版本也会出现这种情况