我在程序中定义了如下自定义类型:
Pubic Type KeyName
Key(8) String * 8
End Type
Pubic gKeyName(2) as KeyName
但在使用Trim(gKeyName(0).key(0))时无法消去多余的空格,结果仍然不变,请问是怎么回事?
可能是因为gKeyName(0).key(0)为固定长度的字符串,导致TRIM无效吧?现我是用MID函数来解决的:
str=""
For I=1 to 9
str1=MID(gKeyName(0).key(0),I,1)
If str1<>" " Then
str=str+str1
End If
Next
另外LTRIM,RTRIM均有此问题。请各高手予以解答,谢谢!
Pubic Type KeyName
Key(8) String * 8
End Type
Pubic gKeyName(2) as KeyName
但在使用Trim(gKeyName(0).key(0))时无法消去多余的空格,结果仍然不变,请问是怎么回事?
可能是因为gKeyName(0).key(0)为固定长度的字符串,导致TRIM无效吧?现我是用MID函数来解决的:
str=""
For I=1 to 9
str1=MID(gKeyName(0).key(0),I,1)
If str1<>" " Then
str=str+str1
End If
Next
另外LTRIM,RTRIM均有此问题。请各高手予以解答,谢谢!
解决方案 »
- 关于VB编程中对SQL的远程访问3
- 在VB 6.0里怎样实现类似dataview的某一个功能
- 使用ScriptControl控件时,出现"System.NullReferenceException: 这个集合中找不到此项目"错误
- 我也不知道算不算问题
- 哪位大侠在线了??帮帮我!关于密码修改
- 关于UDP的问题!
- ADO update 语句有个问题
- 控件active skin的用法??我这里还有一些做好的Skn!!!!!!!!
- VB中怎么集成NT域验证?
- image 控件的属性如何设置才能控制其“置前”及出现透明效果?
- 如何在新建空表中添加数据
- MSflexgrid支持鼠标滚轮事件 运行时提示错误 Row数值无效 什么原因?
改用以下方法:
Replace(gKeyName(0).Key(0), Chr(0), "")
我的测试代码如下:
(添加窗体Form1,命令按钮Command1)Option Explicit
Private Type KeyName
Key(8) As String * 8
End Type
'Public gKeyName(2) As KeyName
Dim gKeyName(2) As KeyNameSub Test() Dim s$, i&, j&
gKeyName(0).Key(0) = "ABCD"
gKeyName(0).Key(1) = "geese"
gKeyName(0).Key(2) = "jkjpjk"
gKeyName(0).Key(3) = "s"
For j = 0 To 3
s = Trim$(gKeyName(0).Key(j))
Form1.Print "Lenth = "; Len(s),
For i = 1 To Len(s)
Form1.Print Asc(Mid$(s, i, 1));
Next
Form1.Print
Next
End Sub
' 我把上面这段内容放在标准模块中也是相同的结果Private Sub Command1_Click() Me.Cls
Call TestEnd Sub
Open App.Path + "\configfile" For Random As #1 Len = LenB(gkeyname(0))
Get #1, 1, gkeyname(0)
Get #1, 2, gkeyname(1)
Get #1, 3, gkeyname(2)
估计从文件中读取的字符串,和直接赋值的字符串,在gkeyname(0)中的存在形式还是有区别的。虽然我查看了configfile中空白部分是空格&H20.
另外请教各位高手,在监视窗口有没有办法看到字符串的十六进制内容呢?如果可以的话,非常有利于问题的解决。