Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Moderator


Сообщения: 3036
Благодарности: 1000

Профиль | Сайт | Отправить PM | Цитировать


Цитата -TRM-:
Assign прочитал не поддерживает такое »
Зато поддерживает присвоение переменной массива другого массива:
Вот так вроде получилось то что тебе нужно:

Код: Выделить весь код
Global Const $sArray_Prefix = 'aArray_'

Global $aArray_1[1][2] = [[1, 'Item1']]
Global $aArray_2[1][2] = [[2, 'Item2']]
Global $aArray_3[1][2] = [[3, 'Item3']]
Global $aArray_4[1][2] = [[4, 'Item4']]
Global $aArray_5[1][2] = [[5, 'Item5']]

_ArraySet(2, 0, 1, 'New Item 2')
$sRet = _ArrayGet(2, 0, 1)

MsgBox(64, @ScriptName, '_ArrayGet(2, 0, 1) VS $aArray_2[0][1]' & @CRLF & $sRet & ' --> ' & $aArray_2[0][1])

Func _ArraySet($iArr, $iRow, $iCol, $sValue)
    Local $aArray = Eval($sArray_Prefix & $iArr)

    If UBound($aArray, 0) < 2 Or $iRow > UBound($aArray, 1) - 1 Or $iCol > UBound($aArray, 2) - 1 Then
        Return SetError(1, 0, 0)
    EndIf

    $aArray[$iRow][$iCol] = $sValue
    Assign($sArray_Prefix & $iArr, $aArray)
EndFunc

Func _ArrayGet($iArr, $iRow, $iCol = 0)
    Local $aArray = Eval($sArray_Prefix & $iArr)

    If UBound($aArray, 0) < 2 Or $iRow > UBound($aArray, 1) - 1 Or $iCol > UBound($aArray, 2) - 1 Then
        Return SetError(1, 0, 0)
    EndIf

    Return $aArray[$iRow][$iCol]
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

Русское сообщество AutoIt | CreatoR's Lab | Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:17, 16-03-2019 | #11