找回密码
 加入
搜索
查看: 3959|回复: 14

[AU3基础] 这样的随机数读取`` 我写的有错吗?》[已解决]

  [复制链接]
发表于 2010-7-6 21:48:44 | 显示全部楼层 |阅读模式
本帖最后由 410521a 于 2010-7-7 19:22 编辑
$suiji = IniReadSection("Config.ini", "Config")
If @error Then 
msgBox(0,"","读取失败")
else
$suijishu = $suiji[Random(1,UBound($suiji),1),1]
$chaifen = StringSplit($suijishu, '|', 1)
MsgBox(0,"",$chaifen[1]&@crlf&$chaifen[2]&@crlf&$chaifen[3]&@crlf&$chaifen[4]&@crlf&$chaifen[5])
$suijishu = $suiji[Random(1,UBound($suiji),1),1]   
endif
这行要怎么写? 哪位大哥如果回答了`记得要带上注释``标记每个函数的说明比如
ini
config
123456=的的|5|655|123456|www

1           2            3
这是1    这是2      这是3
 楼主| 发表于 2010-7-6 22:19:51 | 显示全部楼层
自问自答
$suiji = IniReadSection("Config.ini", "Config")
If @error Then 
MsgBox(0,"","读取失败")
Else
$suijishu = $suiji[Random(1, UBound($suiji), 1)][1]
$chaifen = StringSplit($suijishu, '|', 1)
MsgBox(0,"",$chaifen[1]&@crlf&$chaifen[2]&@crlf&$chaifen[3]&@crlf&$chaifen[4]&@crlf&$chaifen[5])
EndIf
 楼主| 发表于 2010-7-6 22:26:08 | 显示全部楼层
但有出错机率为什么?

D:\??\??\??01\????.au3 (441) : ==> ?????????????.:
$suijishu = $suiji[Random(1, UBound($suiji), 1)][1]
$suijishu = ^ ERROR
发表于 2010-7-6 22:48:22 | 显示全部楼层
要达到什么目的呢???
 楼主| 发表于 2010-7-6 22:57:24 | 显示全部楼层
回复 4# 水木子


    目的达到了``但按的多了会出错
发表于 2010-7-6 23:04:20 | 显示全部楼层
你这个数组元素只有为1的时候才能正常显示啊!超出了当然会出错。

只有1组随机没什么意义啊!
 楼主| 发表于 2010-7-7 08:54:40 | 显示全部楼层
回复 6# 水木子


    大哥说清楚点行吗?  我对数组`不感冒``
发表于 2010-7-7 10:26:38 | 显示全部楼层
Local $suiji,$chaifen,$suijishu
$suiji = IniReadSection("config.ini", "config")
If @error Then
        MsgBox(0, "", "读取失败")
Else
        $suijishu = $suiji[Random(1, UBound($suiji)-1, 1)][1];UBound($suiji)-1使数组值有效
        $chaifen = StringSplit($suijishu, '|', 1)
        MsgBox(0, "", $chaifen[1] & @CRLF & $chaifen[2] & @CRLF & $chaifen[3] & @CRLF & $chaifen[4] & @CRLF & $chaifen[5])
EndIf
config.ini内容如下
[config]
123456=的的|5|655|123456|www
ABCDEf=dsfe|3234|dfs|rewrew|dfd
dfir=dsif|非国大|右拐灰质|膛地|堆肥|门当户对|无奇不有|服务庆|阿姆斯特丹|零配件

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2010-7-7 10:28:06 | 显示全部楼层
回复 1# 410521a
注意语气也许会得到更多的帮助
 楼主| 发表于 2010-7-7 11:18:41 | 显示全部楼层
回复 8# 3mile


    好像不行`
发表于 2010-7-7 12:40:55 | 显示全部楼层
回复 10# 410521a

如果有错误请给出错信息。
 楼主| 发表于 2010-7-7 12:53:39 | 显示全部楼层
回复 11# 3mile


    把INI数据里边删除只留一个试试
发表于 2010-7-7 13:22:26 | 显示全部楼层
经测试:Random(1,1,1)将返回错误
Local $suiji, $chaifen, $suijishu
$suiji = IniReadSection("config.ini", "config")
If @error Then
        MsgBox(0, "", "读取失败")
Else
        $random = Random(1, UBound($suiji) - 1, 1)
        If $random = 0 Then $random = 1;定义随机数不可为0
        $suijishu = $suiji[$random][1];UBound($suiji)-1使数组值有效
        $chaifen = StringSplit($suijishu, '|', 1)
        MsgBox(0, "", $chaifen[1] & @CRLF & $chaifen[2] & @CRLF & $chaifen[3] & @CRLF & $chaifen[4] & @CRLF & $chaifen[5])
EndIf

评分

参与人数 1贡献 +3 收起 理由
afan + 3

查看全部评分

 楼主| 发表于 2010-7-7 15:44:13 | 显示全部楼层
回复 13# 3mile


    非常感谢``
发表于 2010-7-7 16:14:38 | 显示全部楼层
有有意思
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-3 14:21 , Processed in 0.088972 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表