注册 登录
编程论坛 新人交流区

dim a as string与dim a有什么区别呢

chinarengo 发布于 2007-10-06 22:26, 1909 次点击
各位大哥,小弟有个提问
dim a as string与dim a有什么区别呢?
13 回复
#2
coachard2007-10-06 22:26
dim a =dim a as variant
#3
chinarengo2007-10-06 22:34
有这样一段程序

Private Sub joinRZ()
Open (App.Path & "\系统日志.ini") For Input As #1
Do While Not EOF(1)
Line Input #1, Intext
TStr = TStr + Intext + Chr(13) + Chr(10)
Loop
Close #1
If ETemp = 0 Then '添加修改信息日志
TStr = TStr + " "+ "修改票号" + Text1(0).Text + Chr(13) + Chr(10)
ElseIf ETemp = 1 Then '添加删除信息日志
TStr = TStr + " "+ "删除票号" + Text1(0).Text + Chr(13) + Chr(10)
End If
Open (App.Path & "\系统日志.ini") For Output As #1
Print #1, TStr
Close #1
End Sub

我用
dim Intext
dim TStr
定义这两个变量与没定义直接使用这两个变量出来的结果是两种,这里加黑的(Intext与TStr)两个变量应该怎么定义呢?

高手帮忙呀,正在研究程序的过程中,谢谢1
#4
coachard2007-10-06 22:43

看这个过程的意图,是想把这两个变量当string用。。。

想定义成什么类型,不是别人说的算,而是取决于你怎么设计。

variant是好用,不过不能经常用,因为这是系统要根据表达式来确定variant要成为什么值,这有时就会引起不必要的错误。

PS:字符串连接尽管用&,程序前加option explicit。。。

#5
chinarengo2007-10-06 22:43
这个问题没人能帮忙解决吗
#6
chinarengo2007-10-06 22:47

可是把这两个变量定义成string类型后与不定义直接使用出现的结果不一样,想问一下当没定义这两个变量时,这段程序中的两个变量是什么类型呢?

#7
coachard2007-10-06 22:56
这个说了也没什么意思,你可以试试:

dim a as variant '或dim a
a="123" 'a=123,a=1.23

然后用vartype函数去试试看a的类型是什么?

[此贴子已经被作者于2007-10-6 22:57:10编辑过]

#8
chinarengo2007-10-06 23:22
您说的意思我明白,我只是想知道在这段程序中的这两个变量程序默认为是什么类型的,我试过他们不是string类型
#9
coachard2007-10-06 23:28
默认???

初始时是variant类型,以后就看你的代码了。。。
#10
chinarengo2007-10-06 23:31
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

第一张图是没定义两个变量而系统默认的变量类型(也是我想知道的类型)产生的结果
第二张图是我自己定义的两个变量的类型产生的结果(dim Intext dim TStr)
#11
chinarengo2007-10-06 23:34

我想要的结果是第一张图的样式,我的VB环境设置的是要求变量声明(option explicit),不声明就不让用,所以我想想要第一种结果,可是我怎么去声明这两个变量才会出现第一种结果呢?

#12
韩非子2007-10-07 01:10
买本VB的书看看吧
#13
chinarengo2007-10-08 00:20
回复:(chinarengo)dim a as string与dim a有什么区...
我试过用VARTYPE()显示了两个变量的类型是STRING,可是为什么对两个变量定义成STRING和不对变量进行定义系统默认的是STRING效果不一样呢?
#14
max1232007-10-08 11:10
又学到东西了,
1