Сегодня столкнулся с ситуацией которая заставила мозг оплавиться.
$buttonsId[$i] = GUICtrlCreateButton(($char[$i])[3], 10, $y, 100)
Если в данной строке убрать скобки и вместо ($char[$i])[3] написать $char[$i][3] Начинает вылетать ошибка
Array variable has incorrect number of subscripts or subscript dimension range exceeded.
И это при том что строчкой выше такое же обращение к двумерному массиву прекрасно работает.
Если же перед вызовом $char[$i][3] Поставить _ArrayDisplay($char[$i]) Он покажет нормальный массив, в котором есть этот 3 элемент.
Вот содержимое ини файла
То ли я пересидел и не замечаю чего в упор, то ли еще чего. Хочу понять причины такого поведения
Код:
#NoTrayIcon
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <Array.au3>
Local $characters = IniReadSection("config.ini", "Characters")
$y = 10
$charsCount = $characters[0][0]
$width = $charsCount * 27 + 17
;+1 because we dont use 0 index in cycle(it stores number of key=value pairs)
Local $buttonsId[$charsCount + 1]
Local $char[$charsCount + 1]
;GUI draw
Local $hGUI = GUICreate("L2Helper", 120, $width)
For $i = 1 to $charsCount
$char[$i] = StringSplit($characters[$i][1], ":")
$buttonsId[$i] = GUICtrlCreateButton(($char[$i])[3], 10, $y, 100)
$y = $y + 27
Next
GUISetState(@SW_SHOW, $hGUI)
$buttonsId[$i] = GUICtrlCreateButton(($char[$i])[3], 10, $y, 100)
Если в данной строке убрать скобки и вместо ($char[$i])[3] написать $char[$i][3] Начинает вылетать ошибка
Array variable has incorrect number of subscripts or subscript dimension range exceeded.
И это при том что строчкой выше такое же обращение к двумерному массиву прекрасно работает.
Если же перед вызовом $char[$i][3] Поставить _ArrayDisplay($char[$i]) Он покажет нормальный массив, в котором есть этот 3 элемент.
Вот содержимое ини файла
Код:
[Characters]
;Указывать в формате
;Логин:Пароль:Никнейм
char1 = login:pass:nickname
char2 = login1:pass1:nickname1
char3 = login2:pass2:nickname2
char4 = login3:pass3:nickname3
char5 = login4:pass4:nickname4
То ли я пересидел и не замечаю чего в упор, то ли еще чего. Хочу понять причины такого поведения