Что нового

[Элементы GUI] динамический кнопки и switch GUIGetMsg()

shotx

Новичок
Сообщения
1
Репутация
0
вот у меня есть код который создает кнопки динамический. я читаю из фаила сервери если болше 1 сервера создает столко кнопк столк и нужно.
а потом в главном прогроме While у меня проблемы
Код:
Assign("Button", GUICtrlCreateButton($x, $startX, $startY, $bHeigh, $bWidth))
_ArrayAdd($cButtons, Eval("Button"), 1) 

While 1
    Switch GUIGetMsg()
        Case $cButtons[0] ; Server 1
             _somefunction()
        Case $cButtons[1] ; Server 2
            _somefunction()
            ConsoleWrite('s2 click' & @CRLF)
        Case $cButtons[2] ; Server 3
            _somefunction()
            ConsoleWrite('s3 click' & @CRLF)
        Case $cButtons[3] ; Server 4
            _somefunction()
            ConsoleWrite('s4 click' & @CRLF)
WEnd

если у меня менше чем 4 серверов в фаиле придает ошибку : Array variable has incorrect number of subscripts or subscript dimension range exceeded.
както не могу использовать функцию "If" когдо у меня "Switch GUIGetMsg()" и "Case"
 
Сообщения
137
Репутация
-2
Ты если по-русски выразиться не можешь - write in english at least
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
shotx
если у меня менше чем 4 серверов
Создай массив $cButtons нужного размера сразу, забив в него значения к примеру -99.

Код:
Local $cButtons[4]
$cButtons[0] = GUICtrlCreateButton($x, $startX, $startY, $bHeigh, $bWidth)
$cButtons[1] = GUICtrlCreateButton($x, $startX, $startY, $bHeigh, $bWidth)
$cButtons[2] = GUICtrlCreateButton($x, $startX, $startY, $bHeigh, $bWidth)
$cButtons[3] = GUICtrlCreateButton($x, $startX, $startY, $bHeigh, $bWidth)

; или так
Local $cButtons[4]
For $i = 0 To 3
	$cButtons[$i] = GUICtrlCreateButton($x, $startX, $i * 20 + $startY, $bHeigh, $bWidth)
Next
 
Верх