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

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

Аватара для DenchikK

Старожил


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

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


Подскажите пожалуйста, как можно совместить работу такого (примерного)
скрипта. На основе поставленной в ней задачи, хочу научится некоторым
нужным впоследствии, рабочим скриптам. Так что не удевляйтесь
возможной несуразности его (скрипта) логики.

По частям он работает, но как совместить его работу, моего ума, хелпов
и статей форума явно не достаточно...

Идея вот в чём:

1. Выбираю первую или вторую колонку, и/или ставлю вручную нужные
галочки.
2. Жму на "Кнопка Выбора".
3. Если надо, повторяю п.1 и/или п.2 для выбора другой колонки.
4. Жму "Выполнить" - выполняются соответствующие чекбоксам операции.

5. Нажатия на кнопку "Выход" должно приводить к выходу из скрипта на
любом этапе.

6. Не знаю, как придумать, чтоб при повторном нажатии на "Кнопка
Выбора" происходил бы select / deselect чекбокса.


Вроде бы смог понятно обяснить...

Вот скрипт:
Код: Выделить весь код
 
#include <GUIConstants.au3>

Opt("GUICoordMode", 1)

GUICreate("Учусь Работать С Чекбоксами", 400, 300)

$checkCN1 = GUICtrlCreateCheckbox ("CHECKBOX 1", 10, 10, 120, 20)
$checkCN2 = GUICtrlCreateCheckbox ("CHECKBOX 2", 10, 30, 120, 20)
$checkCN3 = GUICtrlCreateCheckbox ("CHECKBOX 3", 10, 50, 120, 20)
$checkCN4 = GUICtrlCreateCheckbox ("CHECKBOX 4", 130, 10, 230, 20)
$checkCN5 = GUICtrlCreateCheckbox ("CHECKBOX 5", 130, 30, 230, 20)
$checkCN6 = GUICtrlCreateCheckbox ("CHECKBOX 6", 130, 50, 230, 20)

$Start = GUICtrlCreateButton("Выполнить", 10, 100, 120, 20)
$Close = GUICtrlCreateButton("Выход", 10, 120, 120, 20)

$button_1 = GUICtrlCreateButton ("Кнопка Выбора ", 10, 150, 120, 20)
$group_1 = GUICtrlCreateGroup ("Группа", 5, 175, 120, 95)
GUIStartGroup()
$radio_1 = GUICtrlCreateRadio ("Первая Колонка", 10, 190, 120, 20)
$radio_2 = GUICtrlCreateRadio ("Вторая Колонка", 10, 205, 120, 20)

$radioval1 = 0    ; We will assume 0 = first radio button selected, 2 = last button
$radioval2 = 2

GUISetState ()

While 1
   $msg = GUIGetMsg()
   Select
       Case $msg = $GUI_EVENT_CLOSE
        Exit
      Case $msg = $GUI_EVENT_MINIMIZE
         MsgBox(0,"", "Dialog minimized",2)
      Case $msg = $GUI_EVENT_MAXIMIZE
         MsgBox(0,"", "Dialog restored",2)
   
      Case $msg = $button_1

	if   $radioval1 = 0 then 
		ControlCommand ( 'Учусь Работать С Чекбоксами', '', 'Button1', 'Check', '' )
		ControlCommand ( 'Учусь Работать С Чекбоксами', '', 'Button2', 'Check', '' )
		ControlCommand ( 'Учусь Работать С Чекбоксами', '', 'Button3', 'Check', '' )
	EndIf

	if   $radioval1 = 1 then 
		ControlCommand ( 'Учусь Работать С Чекбоксами', '', 'Button4', 'Check', '' )
		ControlCommand ( 'Учусь Работать С Чекбоксами', '', 'Button5', 'Check', '' )
		ControlCommand ( 'Учусь Работать С Чекбоксами', '', 'Button6', 'Check', '' )
	EndIf
       
; Назначение этих двух строчек я не понимаю...
      Case $msg >= $radio_1 AND $msg <= $radio_2
         $radioval1 = $msg - $radio_1

   EndSelect
WEnd

;************************************************************************
#cs
----------------------


While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE  Or $msg = $Close Then 
        Exit

ElseIf $msg = $Start Then

       If GUICtrlRead($checkCN1) = 1 Then
                     MsgBox(0,"Установка","Чекбокс 1",1)
        EndIf

        If GUICtrlRead($checkCN2) = 1 Then
                     MsgBox(0,"Установка","Чекбокс 2",1)
        EndIf

        If GUICtrlRead($checkCN3) = 1 Then
                     MsgBox(0,"Установка","Чекбокс 3",1)
        EndIf

        If GUICtrlRead($checkCN4) = 1 Then
                     MsgBox(0,"Установка","Чекбокс 4",1)
        EndIf

        If GUICtrlRead($checkCN5) = 1 Then
                     MsgBox(0,"Установка","Чекбокс 5",1)
        EndIf

        If GUICtrlRead($checkCN6) = 1 Then
                     MsgBox(0,"Установка","Чекбокс 6",1)
        EndIf

EndIf
WEnd

----------------------
#ce

Отправлено: 03:47, 12-07-2006 | #202