漠北雪~狼 发表于 2009-3-13 21:16:28

多维数组在 GUI控件 和 注册表 中应用实例

该怎么讲解还没想清楚,先发代码,希望大家可以看明白。
附件中含有这两个例子。

例1.au3
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1);OnEvent模式

Global $Button, $Form1;定义主窗体和按钮

$Form1 = GUICreate("主窗体", 300, 35, 20, 5)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

Local $Total = IniReadSection("例1.ini", "1")

For $I = 1 To $Total
       
    $Button[$I] = GUICtrlCreateButton($Total[$I], 60*$I, 2, 60, 30)
;~         按钮文字为INI等号左边的值,$Button[$I]为按钮控件ID

    $Button[$I] = $Total[$I];
;~         $Button[$I] 为INI等号右边的值,即要运行的程序。

    GUICtrlSetOnEvent($Button[$I], "B_Msg")
;~         将按钮点击注册到函数 B_Msg()

Next

GUISetState()

While 1
    Sleep(1000)
WEnd

Func B_Msg()
    For $i = 1 To UBound($Button, 1) - 1
               
      If @GUI_CtrlId = $Button[$I] Then Run($Button[$I])
;~                 如果点下了$Button[$I],运行$Button[$I](即INI等号右边的值)

    Next
EndFunc   ;==>B_Msg

Func _Exit()
        Exit
EndFunc
例1.ini 内容


1 记事本=C:\WINDOWS\system32\Notepad.exe
2 画图=C:\WINDOWS\system32\mspaint.exe
3 计算器=C:\WINDOWS\system32\calc.exe

例2.au3
Local $RegKey = _
                [["HKCU\Software\Au3_Array_Test", "Test1", "REG_DWORD", "0", "1", "2"], _
                ["HKCU\Software\Au3_Array_Test", "Test2", "REG_DWORD", "0", "1", "2"], _
                ["HKCU\Software\Au3_Array_Test", "Test3", "REG_DWORD", "0", "1", "2"], _
                ["HKCU\Software\Au3_Array_Test", "Test4", "REG_DWORD", "0", "1", "2"], _
                ["HKCU\Software\Au3_Array_Test", "Test5", "REG_DWORD", "0", "1", "2"], _
                ["HKCU\Software\Au3_Array_Test", "Test6", "REG_DWORD", "0", "1", "2"], _
                ["HKCU\Software\Au3_Array_Test", "Test7", "REG_DWORD", "0", "1", "2"], _
                ["HKCU\Software\Au3_Array_Test", "Test8", "REG_DWORD", "0", "1", "2"], _
                ["HKCU\Software\Au3_Array_Test", "Test9", "REG_DWORD", "0", "1", "2"]]
Local $QS = MsgBox(3, "二维数组应用:写注册表项", "创建值为1的项?")

For $I = 0 To 8
        If $QS = 6 Then;“是”
                RegWrite($RegKey[$I], $RegKey[$I], $RegKey[$I], $RegKey[$I]);写入值“0”
        ElseIf $QS = 7 Then;“否”
                RegWrite($RegKey[$I], $RegKey[$I], $RegKey[$I], $RegKey[$I]);写入值“1”
        Else;“取消”
                RegWrite($RegKey[$I], $RegKey[$I], $RegKey[$I], $RegKey[$I]);写入值“2”
        EndIf
Next

MsgBox(0,0,"创建完成,确认后将删除刚才试验用的注册表项")
RegDelete("HKCU\Software\Au3_Array_Test")



[ 本帖最后由 漠北雪~狼 于 2009-3-13 21:17 编辑 ]

catcher 发表于 2009-3-15 18:36:01

太菜了,看不懂,先收藏。

131738 发表于 2009-3-26 21:44:51

例1好像可以用于做快捷工具条!

破帽遮颜 发表于 2009-3-27 22:15:55

支持一下三恨!

漠北雪~狼 发表于 2009-3-28 03:03:15

破帽子,我插你个PP,是我不是叁恨好不.........

zhenglei 发表于 2009-4-20 19:10:08

dddddddddddddddd

哈哈。。哈哈。。

xulinghai 发表于 2009-4-20 20:29:20

4楼拍错马屁,楼主狠狠教训他,哈……

xulinghai 发表于 2009-4-20 20:30:17

4楼拍错马屁,楼主狠狠教训他,哈……

tcbyjason 发表于 2009-7-2 23:47:27

先标记,后使用。

twomax 发表于 2009-7-3 22:53:23

要好好的學習一下

pchome2000 发表于 2009-8-6 20:25:20

下载学习一下,正需要这方面的资料

hzxymkb 发表于 2009-11-20 14:08:11

正在学习这个方面的知识!谢谢了!

zhenxin 发表于 2010-4-17 11:24:41

看看..谢谢.

漠北雪~狼 发表于 2010-7-12 10:41:07

此贴貌似沉下去了,不行,我来顶下。

opcbo 发表于 2010-7-12 12:25:43

支持,请多发源代码{:face (280):}
页: [1] 2
查看完整版本: 多维数组在 GUI控件 和 注册表 中应用实例