bj17209 发表于 2009-10-29 17:08:52

IniRead 读取问题,帮帮忙啊,急!


$vd2sl = IniRead($cfgpath, "服务器1", "网卡2数量", "")
$var2 = StringMid(RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName", "ComputerName"), 3, 3)

If $var2 <= $vd1sl Then
                qd1()

        Else
                vd2sl()

        EndIf
无法进行判断
配置文件内容 为 网卡2数量=126
如果是固定模式
$vd2sl =200
$var2 = StringMid(RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName", "ComputerName"), 3, 3)

If $var2 <= $vd1sl Then
                qd1()

        Else
                vd2sl()

        EndIf


就可以判断啊,这是怎么回事啊,帮帮我啊,着急啊!谢谢各位大哥了啊

水木子 发表于 2009-10-29 17:25:48

本帖最后由 水木子 于 2009-10-29 17:34 编辑

将读取的默认值设置为 "NotFound"试试!$vd2sl = IniRead($cfgpath, "服务器1", "网卡2数量", "NotFound")
其实你可以用 MsgBox来检测 $vd2sl的值,就知道大概问题出在哪里了。

bj17209 发表于 2009-10-29 17:36:06

还是不行啊,!!能读出来但是不是判断啊!

bj17209 发表于 2009-10-29 17:38:01

配置文件为
[延时设置]
延时 = 1000

网卡1IP=192.168.1.253
lan1sl = 50
网卡2IP = 192.168.0.253
lan2sl = 126
运行列表1 = 服务端配置.ini
本地1路径 = c:\netupdata

[服务器2]
网卡1IP = 192.168.1.252
lan3sl = 189
网卡2IP = 192.168.0.251
lan4sl = 255
运行列表1 = 服务端配置.ini
本地1路径 = c:\netupdata

bj17209 发表于 2009-10-29 17:40:34

$vd1sl = IniRead($cfgpath, "9服务器1", "lan1sl", "NotFound")
If $var1 = 0 Then
        $var2 = StringMid(RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName", "ComputerName"), 3, 3)
        ;MsgBox(0, "Status", "测试:" & $var2)
        vd1sl()

Else
        $var2 = StringMid(RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName", "ComputerName"), 2, 3)

        vd1sl()

EndIf

;MsgBox(0, "Status", "测试:" & $var2)
Func vd1sl()
        If $var2 <= $vd1sl Then
                qd1()

        Else
                vd2sl()

        EndIf
EndFunc   ;==>vd1sl
还是不能判断 ,帮帮我啊

131738 发表于 2009-10-29 17:44:49

本帖最后由 131738 于 2009-10-29 17:47 编辑

$vd2sl = IniRead($cfgpath, "服务器1", "网卡2数量", "")

"网卡2数量", 配置文件中好像没有这个键名?????????

"服务器1", 这个字段也不对啊?????????????看不懂!!!!!!!!!!

bj17209 发表于 2009-10-29 18:04:18

$var2 <= $vd1sl
都是变量,不能判断啊!!帮帮我啊

131738 发表于 2009-10-29 18:14:05

可以判断啊........................Local $var1 = 0
If $var1 = 0 Then
        $var2 = StringMid(RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName", "ComputerName"), 3, 3)
        MsgBox(0, "Status", "测试:" & $var2)    ;$var1 = 0 返回 173
Else
        $var2 = StringMid(RegRead("HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName", "ComputerName"), 2, 3)
        MsgBox(0, "Status", "测试:" & $var2)   ;$var1 = 50 返回 317
EndIf

bj17209 发表于 2009-10-29 18:19:46

8# 131738


不行啊

131738 发表于 2009-10-29 18:24:44

8楼代码不行吗!那样的话,怀疑你的系统????????????...................

newx 发表于 2009-10-29 18:36:08

Number($var2) <= Number($vd1sl)

bj17209 发表于 2009-10-29 18:39:38

谢谢 newx
问题解决,因为,读取的不是数值模式读取的!

newx 发表于 2009-10-29 23:32:26

总结:在使用变量比较大小时,一般最好加上Number(),如果不转换,将使用字符比较了。
页: [1]
查看完整版本: IniRead 读取问题,帮帮忙啊,急!