主题:请高手指点,谢谢!
bergonian
[专家分:0] 发布于 2009-12-12 15:32:00
Close #1
Open "config\bl.cfg" For Input As #1
On Error GoTo 0
bl_num = 0
Line Input #1, tem
Do While Not EOF(1)
Line Input #1, tem
If Len(Trim(tem)) > 5 Then
tem = Trim(tem)
请问上面代码中If Len(Trim(tem)) > 5 Then这句是什么意思?为什么是5?
config\bl.cfg的内容是
[color=808080]报类 上次时间 间隔(分)
gps 2009-12-12,03:28:11 0
msg * 0
aws * 0
aws1 * 0
radar1 * 0
radar2 * 0
radar3 * 0
radar4 * 0
radar5 * 0[/color]
谢谢!
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
谢谢二位,请问一江秋水,那为什么不是大于7呢?我这还有一个是大于3的,我不是很明白,谢谢!
最后更新于:2009-12-12 17:32:00
回复列表 (共6个回复)
沙发
tanchuhan [专家分:15140] 发布于 2009-12-12 16:39:00
Trim()去掉字符串左右的空格
Len()返回长度
板凳
一江秋水 [专家分:9680] 发布于 2009-12-12 17:24:00
从bl.cfg的内容来看,每一行的最小长度=7,这是为了保证读取的数据具有规定的格式,比如说,“msg *”这个数据不符合规定,就会自动去掉。
3 楼
bergonian [专家分:0] 发布于 2009-12-12 17:42:00
[color=000080][size=6][size=4]谢谢二位,请问一江秋水,那为什么不是大于7呢?我这还有一个是大于3的,我不是很明白,谢谢![/size][/size][/color]
4 楼
bergonian [专家分:0] 发布于 2009-12-12 17:55:00
还有一段是这样的:
Close #1
Open "config\control.cfg" For Input As #1
On Error GoTo 0
control_num = 0
Line Input #1, tem
Line Input #1, tem
Line Input #1, tem
Do While Not EOF(1)
Line Input #1, tem
If Len(Trim(tem)) >= 3 Then
control(control_num) = Trim(tem)
control_num = control_num + 1
End If
Loop
Close #1
config\control.cfg文件的内容:
startaa
地址 用户 口令 远程目录 显示文件方式 文件特征码 本地分发目录1 本地分发目录2 文件时区 延迟时间(分)
end
gps
175.17.10.3 gps gps * ls Z_*_54511_(YYYY)(MM)(DD)(HH)* h:\LIB\SHARE\GPS\ * GMT -30
172.17.10.3 gps gps * ls Z_*_53698_(YYYY)(MM)(DD)(HH)* h:\LIB\SHARE\GPS\ * GMT -30
172.17.10.3 gps gps * ls Z_*_54401_(YYYY)(MM)(DD)(HH)* h:\LIB\SHARE\GPS\ * GMT -30
172.17.10.3 gps gps * ls Z_*_56778_(YYYY)(MM)(DD)(HH)* h:\LIB\SHARE\GPS\ * GMT -30
172.17.10.3 gps gps * ls Z_*_55299_(YYYY)(MM)(DD)(HH)* h:\LIB\SHARE\GPS\ * GMT -30
172.17.10.3 gps gps * ls Z_*_56257_(YYYY)(MM)(DD)(HH)* h:\LIB\SHARE\GPS\ * GMT -30
end
msg
172.17.10.3 getdown getdown * ls MSG__*(DD)(HH)*.ABJ d:\down\ * GMT -10
end
aws
10.129.9.16 st_txk st /DATA/LIB/DSFU/YC/ ls Z_SURF*(YYYY)(MM)(DD)(HH)*_O_*FTM*.* E:/test-973/ * GMT -20
end
aws1
10.129.9.16 ZLSC ZL /vp/shycb/ ls Z_SURF*(YYYY)(MM)(DD)(HH)*_O_*FTM*.* F:\data\real\zdz\ * GMT -1
end
radar1
10.129.9.21 radzl rad /hfld/ ls Z_RADR_I_Z9551_(YYYY)(MM)(DD)(HH)*_O_DOR_SA_CAP.bin.bz2 F:\data\real\radar\Z9551\ * GMT -20
end
请指点,谢谢
5 楼
一江秋水 [专家分:9680] 发布于 2009-12-13 08:39:00
control_num是计数器,计算符合规定的数据有多少行。
3个“Line Input #1, tem”语句说明要将前面3行数据废弃不用(就是下面3行:)
-------------------------------------
startaa
地址 用户 口令 远程目录 显示文件方式 文件特征码 本地分发目录1 本地分发目录2 文件时区 延迟时间(分)
end
-------------------------------------
control(control_num)是一维数组,用来装载一行符合规定的数据。
“Len(Trim(tem)) >= 3”表示只有大于或等于3个字符的数据才是符合规定的数据,从control.cfg文件的内容来看,都是符合规定的数据,这一句是为了确保,防止意外情况。
6 楼
bergonian [专家分:0] 发布于 2009-12-13 11:13:00
[color=00FFFF][size=4]哈哈,明白了,多谢一江秋水![em2][/size][/color]
我来回复