Автор Тема: Прошу помощи в написании скрипта (CheckBox)  (Прочитано 900 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

Оффлайн AlexNewman [?]

  • Новичок
  • *
  • Сообщений: 15
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Уважаемые участники форума, обращаюсь за помощью, совсем недавно приступил к изучению AutoIT. Есть задача написать интерфейс со списком ЧекБоксов, и кнопкой "Применить" (к примеру). То есть выбираем некоторые галки, за каждой какое то значение, по кнопке применить, выполняются отмеченные операции (допустим значения в реестре меняются). +хотелось бы прикрутить выбор шаблонов выбранных галок, хотя бы на выпадающем меню.

Русское сообщество AutoIt

Прошу помощи в написании скрипта (CheckBox)
« Отправлен: Апрель 20, 2017, 15:46:58 »

Оффлайн Makrut [?]

  • Новичок
  • *
  • Сообщений: 41
  • Репутация: 2
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #1, Отправлен: Апрель 20, 2017, 16:01:02 »
Код: AutoIt [Выделить]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 303, 160, 192, 124)

Global $CheckBoxes[4], $check = 0

$CheckBoxes[0]  = GUICtrlCreateCheckbox("Номер 1", 16, 16, 97, 17)
$CheckBoxes[1]  = GUICtrlCreateCheckbox("Номер 2", 16, 40, 97, 17)
$CheckBoxes[2]  = GUICtrlCreateCheckbox("Номер 3", 16, 64, 97, 17)
$CheckBoxes[3]  = GUICtrlCreateCheckbox("Номер 4", 16, 88, 97, 17)
$Button1 = GUICtrlCreateButton("Button1", 136, 32, 121, 65)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

        Case $Button1
            For $i = 0 To 3
                If GUICtrlRead($CheckBoxes[$i]) = $GUI_CHECKED Then
                    MsgBox(0, 'Уведомление', 'Номер ' & $i + 1 & ' активен.')
                    $check = 1
                EndIf
            Next
            If $check = 0 Then
                MsgBox(0, 'Уведомление', 'Ничего не выбрано.')
            EndIf
 $check = 0
    EndSwitch
WEnd
 


Онлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 649
  • Репутация: 106
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #2, Отправлен: Апрель 20, 2017, 21:30:40 »
Вариантов создания скрипта под вашу задачу масса, например так :
(нажмите для показа/скрытия)

Оффлайн AlexNewman [?]

  • Новичок
  • *
  • Сообщений: 15

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #3, Отправлен: Апрель 21, 2017, 11:55:55 »
Спасибо, эти примеры изучил, разобрался, но не пойму как разделить операции, а не зацикливаться на одном. То есть Галка1 установлена = создаётся настройка1 (реестр ковырять этой программой хочу), галка1 откл = удаляется настройка1, переход к следующей, галка2 вкл = создать настройку2, выкл = удалить настройку2

неужели писать свой цикл для каждой галки?
« Последнее редактирование: Апрель 21, 2017, 12:01:40 от AlexNewman »

Русское сообщество AutoIt

Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #3 Отправлен: Апрель 21, 2017, 11:55:55 »

Онлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 649
  • Репутация: 106
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #4, Отправлен: Апрель 21, 2017, 14:56:06 »
Так ?
(нажмите для показа/скрытия)

Оффлайн AlexNewman [?]

  • Новичок
  • *
  • Сообщений: 15

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #5, Отправлен: Апрель 21, 2017, 15:07:53 »
ra4o, благодарю дружище  :IL_AutoIt_1: это то что нужно, с оформлением уже разберусь )

Оффлайн AlexNewman [?]

  • Новичок
  • *
  • Сообщений: 15

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #6, Отправлен: Апрель 24, 2017, 10:10:15 »
Так ?
(нажмите для показа/скрытия)

Все же пишу софтину на чекбоксах, а не комбо. Пытаюсь переделать, вот что получилось, где то ошибка, помогите найти?

(нажмите для показа/скрытия)

Проще говоря, значение ключа реестра должно быть присвоено одному чекбоксу, Галка вкл - значение записывается по кнопке применить, галка выкл - значение удаляется

Помечен как лучший ответ пользователем AlexNewman Отправлен Апрель 24, 2017, 11:20:27

Онлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 649
  • Репутация: 106
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #7, Отправлен: Апрель 24, 2017, 10:51:35 »
Ввела в заблуждение эта фраза :
Цитировать
хотелось бы прикрутить выбор шаблонов выбранных галок, хотя бы на выпадающем меню
Так нужно ?
(нажмите для показа/скрытия)

Русское сообщество AutoIt

Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #7 Отправлен: Апрель 24, 2017, 10:51:35 »

Оффлайн AlexNewman [?]

  • Новичок
  • *
  • Сообщений: 15

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #8, Отправлен: Апрель 24, 2017, 11:23:32 »
В точку! Спасибо огромное)

Оффлайн AlexNewman [?]

  • Новичок
  • *
  • Сообщений: 15

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #9, Отправлен: Апрель 28, 2017, 12:38:17 »
Ребят, помогите найти ошибку, 2й день бьюсь.
По нажатию "применить", скрипт выдаёт Array variable has incorrect number of subscripts or subscript dimension range exceeded.
Перевёл, прочитал, нашёл советы что с этим делать, но всё равно не получается, чего не хватает?
(нажмите для показа/скрытия)
[/quote]


Добавлено: Апрель 28, 2017, 12:43:44
и ещё вопрос, как прикрутить к одной галке несколько записей в реестр, ведь 1чекбокс=1строка реестра, если добавить, то собъются массивы, как это можно реализовать? т.е. например от одного чекбокса должно добавиться 4 строки реестра, под какой то 2 строки, но всё равно константа. Для понимания - пишу твикер для винды, каждый чекбокс отвечает за какую то настройку, для какой то настройки достаточно 1 строки в реестре, для какой то нужно дописать ещё несколько, чтобы настройка работала. Спасибо за отзывы
« Последнее редактирование: Апрель 28, 2017, 12:43:45 от AlexNewman, Причина: Объединение сообщений »

Онлайн ra4o [?]

  • Скриптер
  • ****
  • Сообщений: 649
  • Репутация: 106
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #10, Отправлен: Апрель 28, 2017, 13:59:47 »
Можно в одну строку записывать несколько значений реестра, разделяя их, например знаком "|", в таком случае скрипт можно доработать так :
(нажмите для показа/скрытия)
« Последнее редактирование: Апрель 28, 2017, 14:05:41 от ra4o »

Русское сообщество AutoIt

Re: Прошу помощи в написании скрипта (CheckBox)
« Ответ #10 Отправлен: Апрель 28, 2017, 13:59:47 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
3205 Просмотров
Последний ответ Декабрь 19, 2009, 20:32:04
от Sirioga
1 Ответов
1865 Просмотров
Последний ответ Январь 06, 2012, 15:45:15
от CreatoR
4 Ответов
2036 Просмотров
Последний ответ Январь 06, 2012, 19:02:06
от Black_Night
0 Ответов
1433 Просмотров
Последний ответ Май 23, 2012, 09:59:54
от [email protected]
3 Ответов
2174 Просмотров
Последний ответ Январь 23, 2013, 11:51:21
от WSWR
4 Ответов
3136 Просмотров
Последний ответ Январь 25, 2013, 13:49:52
от inververs
8 Ответов
3154 Просмотров
Последний ответ Август 12, 2013, 18:57:39
от Zalman1980
4 Ответов
1563 Просмотров
Последний ответ Март 14, 2014, 14:41:30
от Pero
1 Ответов
990 Просмотров
Последний ответ Апрель 06, 2014, 17:23:17
от madmasles
3 Ответов
1312 Просмотров
Последний ответ Октябрь 28, 2014, 15:43:06
от InnI