虚心请教数组的问题![已解决]
本帖最后由 t87564833 于 2010-9-28 15:45 编辑Local $sData = InetRead('http://www.verycd.com/statics/title.saying');afan 教的
Local $sR = StringRegExp(BinaryToString($sData, 4), "'(.+?)'(?=[,\)])", 3);afan 教的
If @Error Then Exit MsgBox(262144+64,"提示您:","名言获取失败!请确定本机是否已经连上互联网");afan 教的
For $i=0 To 9
$msg=IniWrite (@ScriptDir&"\config.ini","名言","名言"&$i,$sR[$i])
Next
Switch $msg
Case 1
TrayTip("提示您:", "名言获取完毕,感谢使用!", -1, 1)
Sleep(10000)
Exit
Case 0
MsgBox(262144+64,"提示您:","名言写入失败!")
Exit
EndSwitch
这个是获取http://www.verycd.com/上面的名言并写入INI的代码,关键的地方是afan写的,但是目前发现中秋、还有今天会运行出错!检查了一下发现是因为http://www.verycd.com/只有一条名言所导致,平常都是有10条左右的,所以数组出错
请懂修改的好心人帮修正,最好$sR能存获取到的名言数,而不是存第一条名言~在此先谢过·· 回复 1# t87564833
第4行,For $i=0 To 9 改为For $i=0 to ubound($sR)-1 本帖最后由 水木子 于 2010-9-28 15:19 编辑
这样就不会报错了!
另外,楼主所说的将多少条信息存入数组的0元素,这个感觉没什么意义,因为 UBound($sR)这就是多少条了。
Local $sData = InetRead('http://www.verycd.com/statics/title.saying');afan 教的
Local $sR = StringRegExp(BinaryToString($sData, 4), "'(.+?)'(?=[,\)])", 3);afan 教的
If @error Then Exit MsgBox(262144 + 64, "提示您:", "名言获取失败!请确定本机是否已经连上互联网");afan 教的
For $i = 0 To UBound($sR) - 1
$msg = IniWrite(@ScriptDir & "\config.ini", "名言", "名言" & $i, $sR[$i])
Next
Switch $msg
Case 1
TrayTip("提示您:", "名言获取完毕,感谢使用!", -1, 1)
Sleep(10000)
Exit
Case 0
MsgBox(262144 + 64, "提示您:", "名言写入失败!")
Exit
EndSwitch 谢谢楼上的回答,报错时我也一直在找能返回数组 大小的函数
可能不够细心,没发现是UBound函数
你们的回答我很满意!3Q 回复 4# t87564833
重申“规范发帖”
请仔细阅读,楼主需要特别注意的是第4条。
页:
[1]