Что нового

Добавление в массив значения, если оно отмечено галочкой

DanSaratov

Новичок
Сообщения
112
Репутация
1
У меня есть несколько чекбоксов, скрипт который перебирает по массиву. Нужно что бы в массив добавлялись только те значения, которые отмечены, или же другой способ перебора отмеченных значений.
if $var==$f then ; $f - одно из нужных значений
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
В справке по функции
Код:
GUICtrlRead()
сказано: Используйте BitAND(GUICtrlRead($Item),$GUI_CHECKED) для проверки установленной галочки.
 
Автор
DanSaratov

DanSaratov

Новичок
Сообщения
112
Репутация
1
Это я знаю, а вот как добавить в массив
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
DanSaratov [?]
Это я знаю, а вот как добавить в массив
Запуск цикла с двумя счётчиками. Один счётчик цикла, обрабатывает все элементы массива, а второй счётчик независимый, инкремент (увеличение) происходит по условию внутри цикла. Можно в тот же массив, можно во вновь созданный с размером предыдущего. После занесения данных массив обрезается (Redim) по размеру внешнего счётчика. Для добавление в массив используется символ присваивания "=".
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
DanSaratov
Код:
#include <Array.au3>
#include <GUIConstantsEx.au3>

GUICreate("", 100, 130)
Global $ar[3], $chk[3]
For $i = 0 To 2
  $chk[$i] = GUICtrlCreateCheckbox($i, 5, 5 + 30 * $i)
Next
$btn = GUICtrlCreateButton("Показать", 5, 95)
GUISetState()

Do
  Switch GUIGetMsg()
    Case -3
      Exit
    Case $btn
      For $i = 0 To 2
        If BitAND(GUICtrlRead($chk[$i]), $GUI_CHECKED) Then
          $ar[$i] = GUICtrlRead($chk[$i], 1)
        Else
          $ar[$i] = ""
        EndIf
      Next
      _ArrayDisplay($ar)
  EndSwitch
Until 0
 
Верх