t87564833 发表于 2010-8-27 13:13:57

请教一个关于数组处理的问题[已解决]

本帖最后由 t87564833 于 2010-8-27 14:35 编辑

有4台机子,IP和计算机名分别是
A001   IP为 192.168.1.1
A002   IP为 192.168.1.2
A003   IP为 192.168.1.3
A004   IP为 192.168.1.4

然后使用Combo输出,如果PING不通其中某台机子,就不显示在下拉菜单中。
类似

这个东西(其中A003是PING不通,所以没显示出来)
本人新手,对数组创建以及读取等还不是很了解,希望有人能写出例子出来,在此先谢了。

xsjtxy 发表于 2010-8-27 14:01:37

你自己总得有个源码吧?
$ini = @ScriptDir&"\我的电脑.ini"
$var = IniReadSection($ini, "计算机=IP")
If @error Then
IniWrite($ini, "计算机=IP", "A001", "192.168.1.1")
IniWrite($ini, "计算机=IP", "A002", "192.168.1.2")
IniWrite($ini, "计算机=IP", "A003", "192.168.1.3")
IniWrite($ini, "计算机=IP", "A004", "192.168.1.4")
ShellExecute($ini)
exit
EndIf

#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", 633, 454)
$Combo1 = GUICtrlCreateCombo("", 184, 168, 257, 25,$CBS_DROPDOWNLIST)
For $i = 1 To $var
if ping($var[$i],500) <> 0 then GUICtrlSetData($Combo1,$var[$i],$var[$i])
Next
GUISetState(@SW_SHOW)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

辣椒龙 发表于 2010-8-27 14:14:54

本帖最后由 辣椒龙 于 2010-8-27 14:20 编辑

有4台机子,IP和计算机名分别是
A001   IP为 192.168.1.1
A002   IP为 192.168.1.2
A003   IP为 1 ...
t87564833 发表于 2010-8-27 13:13 http://www.autoitx.com/images/common/back.gif

一般来说,你发个源码别人帮你改更容易,也不至于像我楼上的这样如此辛苦从头写……

关键语句:$var = IniReadSection($ini, "计算机=IP")

For $i = 1 To $var
if ping($var[$i],500) <> 0 then GUICtrlSetData($Combo1,$var[$i],$var[$i])
Next

t87564833 发表于 2010-8-27 14:34:54

一般来说,你发个源码别人帮你改更容易,也不至于像我楼上的这样如此辛苦从头写……

关键语句:
辣椒龙 发表于 2010-8-27 14:14 http://www.autoitx.com/images/common/back.gif

你好,手头上没源码,问这个是要修改另外一个程序,为了问问题更简单,让大家明白,所以才引用这个例子~感谢你的回贴

3mile 发表于 2010-8-27 17:37:53

回复 4# t87564833
不解释还好,一解释更让人云山雾绕,分不清东西南北。
页: [1]
查看完整版本: 请教一个关于数组处理的问题[已解决]