本帖最后由 fenhanxue 于 2016-9-6 21:54 编辑 #include <Inet.au3>
#Include <String.au3>
#include <Math.au3>
#include <ButtonConstants.au3>
#include <StaticConstants.au3>
#include <array.au3>
#include <GDIPlus.au3>
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
#include <WinAPIEx.au3>
#include <Array.au3>
Global $array[4] = ['学号','姓名','年龄','成绩'];
#cs 说明:
数组 $array 的维度 及对应的文本 为自定义, 即我每次使用程序的时候,都有可能调整这些参数,并且我是不确定下次写的时候,会把这个数组的维度调整为多少,例如
我可能会改成 $array[3] = ['aaa','saasd','ddd']
可能会改成 $array[8] = ['aaa','saasd','ddd','ddd','ddd','d6dd','ddd7','ddd8']
可能会改成 $array[2] = ['aaa','saasd']
。。。等等
#ce
Global $check[UBound($array)]
$hGUI = GUICreate("测试", 1558, 511, 18, 158)
For $i = 1 To UBound($array)
$check[$i-1] = GUICtrlCreateCheckbox($array[$i-1],20 + 50*$i,414,50,12)
Next
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $check[0]
a(0)
Case $check[1]
a(1)
Case $check[2]
a(2)
Case $check[3]
a(3)
EndSwitch
WEnd
Func a($x)
;....... 本部分代码略
EndFunc
求教图中红色框框2 的部分如何优化,
我想实现的功能是,每次我修改程序的时候,我只修改红色框框1 这里的参数,2这里就会有对应的功能,
我现在的代码,当我修改框框1的时候,必须把框框2的代码也跟着一起修改,即:我现在的代码,每次我修改了$array,框框2部分的代码也必须跟着一起修改,当程序大了之后,感觉很冗余
;例如框框1改成
Global $array[2] = ['学号','姓名'];
;框框2必须跟着这样改
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $check[0]
a(0)
Case $check[1]
a(1)
EndSwitch
WEnd
;例如框框1改成
Global $array[3] = ['学号','姓名','aaa'];
;框框2必须跟着这样改
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $check[0]
a(0)
Case $check[1]
a(1)
Case $check[2]
a(2)
EndSwitch
WEnd
;又例如框框1改成
Global $array[6] = ['学号','姓名','aaa','11','22','333'];
;框框2必须跟着这样改
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $check[0]
a(0)
Case $check[1]
a(1)
Case $check[2]
a(2)
Case $check[3]
a(3)
Case $check[4]
a(4)
Case $check[5]
a(5)
EndSwitch
WEnd
这样的效率太低了,所以想请教,有没办法把2这个部分的代码优化一下,每次只改1不用改2,但2也能实现上述的功能。语文不好,希望各位能理解我想表达的意思。。。
|