1

Тема: AHK: Зависимость от чего-либо выпадающего списка

Здравствуйте, возможно ли сделать так, что бы список вариантов DropDownList1 зависил от выбора варианта в DropDownList2? То есть, надо сделать так, что бы  у меня было 2 выпадающих списка, варианты первого зависили бы от выбора варианта в списке 2. Прошу помощи в написании этого, возможно лёгкого, скрипта.

2

Re: AHK: Зависимость от чего-либо выпадающего списка

GuiControl

3

Re: AHK: Зависимость от чего-либо выпадающего списка

Если вдруг сам не справишься

List_1=Первый вариант||Второй вариант
List_2_var1=a||b|c
List_2_var2=d||e|f

Gui, Add, DropDownList, w120 vList1 gControl_List2, %List_1%
Gui, Add, DropDownList, w120 vList2, %List_2_var1%
gui show
Return

Control_List2:
GuiControlGet, List1
If (List1 = "Первый вариант")
    GuiControl,, List2, |%List_2_var1%
Else
    GuiControl,, List2, |%List_2_var2%
Return

GuiClose:
exitapp

4 (изменено: Skare, 2010-10-25 23:35:08)

Re: AHK: Зависимость от чего-либо выпадающего списка

Вах! То что нужно, спасибо.:)

5

Re: AHK: Зависимость от чего-либо выпадающего списка

Пробуй переключаться на другую раскладку или пробовать посылать asc коды.

6

Re: AHK: Зависимость от чего-либо выпадающего списка

Раскладка и коды это конечно хорошо... Но суть скрипта в том, что пользователь вводит в ячейку какой-либо текст, и потом, скриптом вносится в определённое место( к примеру, адресная строка в Internet Explorer), но вот неповезло с этими символами...Да и ещё проблемка, если я поставлю русский шрифт (командой SendMessage, 0x50,, 0x4190419,, A), то если в тексте, который вводит пользователь, будут английские символы, то они будут отображатся как абра-кадабры и так же, если будет английский шрифт, и в этом тексте будут русские символы... Можно ли как-то решить эту проблему?:)

Gui, Add, Edit, x312 y250 w280 h60 vinj, Примечание инженера
Gui, Add, Button, x292 y460 w420 h30 gInput, Ввести данные

Return


Input:
gui, submit, nohide
SendMessage, 0x50,, 0x4190419,, A
ControlClick, ATL:Edit6,Окошко
send, %inj%


GuiClose:
ExitApp

7

Re: AHK: Зависимость от чего-либо выпадающего списка

Попробуй так:

Input:
    gui, submit, nohide
    ControlSetText, ATL:Edit6, %inj%, Окошко
    Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: Зависимость от чего-либо выпадающего списка

Работает, но есть одно но. Если в %inj% будет запятая, то всё что после запятой будет определятся как "WinTitle", а Окошко уже будет считатся "WinText" .

9

Re: AHK: Зависимость от чего-либо выпадающего списка

Не знаю, только что проверил на примере ввода в адресную строку IE, всё работает и с запятыми, и без.

   Gui, Add, Edit, vEdit w300 h25
   Gui, Add, Button,, Ввести
   Gui, Show
   Return

ButtonВвести:
   Gui, Submit, NoHide
   ControlSetText, Edit1, %Edit%, ahk_class IEFrame
   Return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

10

Re: AHK: Зависимость от чего-либо выпадающего списка

А, да, решил так протестить, и вместо %inj% ввёл свой текст, вот и не заработало.:) Спасибо, этот работает:).

11

Re: AHK: Зависимость от чего-либо выпадающего списка

Хотелось бы последний раз вернутся к теме... Собственно, как сделать как-то так "If (List1="Первый вариант" И(!) List2="Третий вариант" {...}" Что бы смотрело на выбранный вариант в 1ой выпадающей строке и ещё в 2ой, если в 1ой это первый вариант, а в 2ой третий вариант, то производить какое-нибудь действие... Помогите.:)

12

Re: AHK: Зависимость от чего-либо выпадающего списка

a:=1
b:=2
c:=3
If (a=1) and (b=2) and (c=3)
   msgbox, Все условия соблюдены

13 (изменено: Skare, 2010-10-26 20:53:44)

Re: AHK: Зависимость от чего-либо выпадающего списка

Ах, вот оно что.:) Я то пытался всё в 1 паре скобок сделать... Спасибо!:)

14

Re: AHK: Зависимость от чего-либо выпадающего списка

Если в одной паре скобок, то никто не запрещает. И кстати: Операторы в выражениях.

15

Re: AHK: Зависимость от чего-либо выпадающего списка

Написал вот такой скрипт, и опять начались проблемы...

List_1=Accessory Stilish Pen / SD Card_M7G|Вина клиента_Mag|Энергопитание_MDG|Приём/передача_MEG|Дисплей камера_MFG|ЖК дисплей_MGG|Аудио_MHG|Функции_MJG|Дополнительные функции_MKG|Внешний вид_MLG|SIM_MNG|Аксессуар батарея_MPG|Аксессуар зарядное устройтсво_MQG|Аксессуар Адаптера_MRG|Аксессуар Адаптер прикуривателя_MSG|Аксессуар Data кабель_MTG|Аксессуар карта памяти_MWG|Аксессуар гарнитура_MXG|Приложение_MYG|Дефект не обнаружен_MZG
Kodd1=Missing/Not recognize_M7GA
Kodd=Гнёзда/Пружинные контакты/Системн_MGA1|Разъём(ЖКИ, межплатный, шлейфа)_MGA2|Катушка индуктивности_MGA3|FPCB(Гибкий шлейф)_MGA4|Камера_MGA5|Вибромотор_MGA6|Дисплей(Основной)_MGA7|Дисплей(Дополнительный)_MGA9|Зарядное устройство_MGAA|Адаптер зарядного устройства_MGAB|Батарея_MGAC|Автомобильный комплект "Свободное Р_MGAD|Проводная/Bluetooth гарнитура_MGAE|Data кабель_MGAF|Невозможно воспроизвести дефект_MGAH|Замена основной платы(Невозможно о_MGAJ|Замена основной платы SCRAP_MGAK|MSM/Цифровой и аналоговый процессоры_MGAL|Плата клавиатуры/Наклейка клавиат_MGAM|EEPROM/Flash Память_MGAN|ИС усилителя мощности_MGAP|Пав фильтр_MGAS|Термостабилизированный генератор(V_MGAW|Малошумящий усилитель_MGAX|RFR/RFT_MGAY|Дуплексер_MGAZ|Конденсатор(Необходимо указать точк_MGB6|Резистор(Необходимо указать точк_MGB8|Микрофон_MGBB|Динамик/Громкоговоритель_MGBD|Динамик вывзывного сигнала_MGBE|Антенна_MGBF|Корпус(Передняя,задняя,верхняя,_MGBG|Элементы такие как резисторы/Катуш_MGBH|LCD window(main,Sub)|Клавиатура_MGBN|Замена телефона(Невозможно отремонт_MGBT|Пружинный контакт/батарейный контакт_MGBZ|Неремонтопригодный_MGS1|Корпусная заглушка_MGC4|Батарея часов реального времени_MGC5|Карта памяти_MGC6|Повторная сборка(Разъёмы,Корпус)_MGC7|Возвращение в BTSC(С заменой телефона)_MGC8|Возвращён в BTSC( Без замены телефона)_MGC9| Дополнительная плата_MGCJ|Bluetooth модуль_MGCK|Возврат без ремонта_MGCM|Калибровка_MGCN|Обновление версии ПО_MGCP|Пропайка(Необходимо указать точку р_MGCR|Чистка_MGCS|Дефект не обнаружен/разъяснение кли_MGCT|Дефект не обнаружен_MGCW|Отчёт проверки предторга_MGDA|Отчёт проверки для 3 и более раз_MGDB|Замена предторга_MGDC|Компенсация_MGDD
Kodd2=Гнёзда/Пружинные контакты/Системн_MGA1|Разъём(ЖКИ, межплатный, шлейфа)_MGA2|Катушка индуктивности_MGA3|FPCB(Гибкий шлейф)_MGA4|Камера_MGA5|Вибромотор_MGA6|Дисплей(Основной)_MGA7|Дисплей(Дополнительный)_MGA9|Зарядное устройство_MGAA|Адаптер зарядного устройства_MGAB|Батарея_MGAC|Автомобильный комплект "Свободное Р_MGAD|Проводная/Bluetooth гарнитура_MGAE|Data кабель_MGAF|Невозможно воспроизвести дефект_MGAH|Замена основной платы(Невозможно о_MGAJ|Замена основной платы SCRAP_MGAK|MSM/Цифровой и аналоговый процессоры_MGAL|Плата клавиатуры/Наклейка клавиат_MGAM|EEPROM/Flash Память_MGAN|ИС усилителя мощности_MGAP|Пав фильтр_MGAS|Термостабилизированный генератор(V_MGAW|Малошумящий усилитель_MGAX|RFR/RFT_MGAY|Дуплексер_MGAZ|Конденсатор(Необходимо указать точк_MGB6|Резистор(Необходимо указать точк_MGB8|Микрофон_MGBB|Динамик/Громкоговоритель_MGBD|Динамик вывзывного сигнала_MGBE|Антенна_MGBF|Корпус(Передняя,задняя,верхняя,_MGBG|Элементы такие как резисторы/Катуш_MGBH|LCD window(main,Sub)|Клавиатура_MGBN|Замена телефона(Невозможно отремонт_MGBT|Пружинный контакт/батарейный контакт_MGBZ|Неремонтопригодный_MGS1|Корпусная заглушка_MGC4|Батарея часов реального времени_MGC5|Карта памяти_MGC6|Повторная сборка(Разъёмы,Корпус)_MGC7|Возвращение в BTSC(С заменой телефона)_MGC8|Возвращён в BTSC( Без замены телефона)_MGC9| Дополнительная плата_MGCJ|Bluetooth модуль_MGCK|Возврат без ремонта_MGCM|Калибровка_MGCN|Обновление версии ПО_MGCP|Пропайка(Необходимо указать точку р_MGCR|Чистка_MGCS|Дефект не обнаружен/разъяснение кли_MGCT|Дефект не обнаружен_MGCW|Отчёт проверки предторга_MGDA|Отчёт проверки для 3 и более раз_MGDB|Замена предторга_MGDC|Компенсация_MGDD|PMIC_MGDF
kodd3=Пусто
kodd4=Обновление версии ПО_MGCP|Touch Panel/Touch Window_MGPE
kodd5=Обновление Версии ПО|Radio chip_MGDG

List_2_var1=Missing / Not recognize_M7GA
List_2_var2=Механическое повреждение(корпус)_MAGA|Воздействие жидкости - коррозия_MAGB|Обман клиентом_MAGC|Забыт пин код(телефон заблокирован)_MAGE|Недопустимое использование батареи_MAGF|Вина клиента - Прочее_MAGG|Разъём повреждён_MAGH|Разъём мокрый_MAGJ
List_2_var3=Не включается(проблема телефона)_MDGA|Нет заряда АКБ(проблема телефона)_MDGB|Самопроизвольное отключение_MDGC|Зависание_MDGD|Малове время работы от акб (повышенн_MDGE|Проблема распознования акб_MDGH
List_2_var4=Индикация низкого уровня принимаемо_MEGA|Обрыв соединений_MEGB|Поиск сети_MEGC|Нет входящих/исходящих вызовов_MEGD
List_2_var5=Дефект растра камеры_MFGA|Невозможно сделать фотографию_MFGB|Нет изображения(в режиме камеры)_MFGC|Зависание камеры_MFGe
List_2_var6=Нет изображения(Основной дисплей)_MGGA|Потёки/пузырьки на дисплее_MGGC|Нет подсветки изображения(Основной_MGGD|Отсутствует сегмент на дисплее(Осно_MGGE|Нет изображения(Доп.Дисплей)_MGGF|Отсутствует сегмент на дисплее(Допо_MGGH
List_2_var7=Отсутствует/низкая громкость вызова_MHGA|Отсутствует/Низкая громкость входящ_MHGB|Отсутствует/низкая громкость исходя_MHGC|Шумы/Жужжание/Эхо/Прерывание_MHGD|Проблемы гарнитуры_MHGE|Нет звукового подтверждения нажатия_MHGF
List_2_var8=Проблема определения USB_MJG4|Элемент сгорел_MJG6|Кнопка не чувствительна_MJG7|Touch Panel No/Bad touch_MJG8|Radio error_MJG9|Слабая упругость(Включая залипание)_MJGA|Не определяется открытие раскладушк_MJGB|Ошибка хранения памяти_MJGC|Карта памяти неисправна_MJGD|Не определяется карта памяти_MJGE|Не читается карта памяти_MJGE|Не фиксируется карта памяти_MJGG|Нет вибрации_MJGH|Нет/Низкая яркость подсветки клавиа_MJGJ|Нет сигнала звонка/Будильника_MJGM|Не работает ИК-порт_MJGN|Ошибка Bluetooth(Проблема телефона)_MJGP|Не работает клавиатура или боковые_MJGQ|Ошибка MP3(Проблема телефона)_MJGS|Ошибка DMB/TV - Тюнер цифрового ТВ_MJGW|Неверный язык_MJGX|Установка часов реального времени_MJGY
List_2_var9=Ошибки SMS/MMS_MKGA|Проблемы синхонизации с компьютером_MGKB|Проблемы доступа к интернету(WAP,J_MKGC|Дополнительные функции - Прочее_MKGD|MS Office error|GPS error_MKGG|WIFI Problem_MKGH|Smart Phone O/S upgrade_MKGJ
List_2_var10=Трещины_MLGA|Щели_MLGB|Выцветание_MLGC|Поцарапано стелко ЖКД(Поцарапано кл_MLGE|Заглушка корпуса утеряна_MLGH|Вмятина на корпусе_MLGJ|Текстура на корпусе_MLGK|Отпечатки на корпусе_MLGL|Царапины на корпусе_MLGM
List_2_var11=Не считывается Sim карта_MNGA|Sim lock_MNGB
List_2_var12=Не включается(проблема батареи)_MPGA|Малое время работы от АКБ(Проблема_MPGB|Нагревание батареи_MPGC|Вздутие батареи_MPGD
List_2_var13=Не включается(проблема уз)_MQGA|Мигает/Не светится светодиод_MQGB|Нет заряда(Проблемы зарядного устройства_MQGC
List_2_var14=Не включается ( Проблема Адаптера)_MRGA
List_2_var15=Не включается ( Проблема Адаптера Пр)_MSGA
List_2_var16=Нет соединения с компьютером_MTGB
List_2_var17=Не читается карта внешней памяти_MWGA
List_2_var18=Не работают функции_MXGA
List_2_var19=Ошибка игры_MYGA|Ошибка запуска приложения_MYGB|Ошибка установки приложения_MYGC
List_2_var20=Дефект не обнаружен прочее_MZGD
Gui, Add, DropDownList, h250 AltSubmit vKod1 gControl_List2 ,%List_1%
Gui, Add, DropDownList, w120 vList2 AltSubmit  , %List_2_var1%
Gui, Add, DropDownList, h250 AltSubmit vKod2 gControl_List3 ,%Kodd%
Gui, Add, Button, gInput, Ввести данные
gui show
Return



Control_List2:
GuiControlGet, Kod1
If (Kod1 = "1")
    GuiControl,, List2, |%List_2_var1%
If (Kod1 = "2")
    GuiControl,, List2, |%List_2_var2%
If (Kod1 = "3")
    guicontrol,,List2, |%List_2_var3%
If (Kod1 = "4")
    guicontrol,,List2, |%List_2_var4%
If (Kod1 = "5")
    guicontrol,,List2, |%List_2_var5%
If (Kod1 = "6")
    guicontrol,,List2, |%List_2_var6%
If (Kod1 = "7")
    guicontrol,,List2, |%List_2_var7%
If (Kod1 = "8")
    guicontrol,,List2, |%List_2_var8%
If (Kod1 = "9")
    guicontrol,,List2, |%List_2_var9%
If (Kod1 = "10")
    guicontrol,,List2, |%List_2_var10%
If (Kod1 = "11")
    guicontrol,,List2, |%List_2_var11%
If (Kod1 = "12")
    guicontrol,,List2, |%List_2_var12%
If (Kod1 = "13")
    guicontrol,,List2, |%List_2_var13%
If (Kod1 = "14")
    guicontrol,,List2, |%List_2_var14%
If (Kod1 = "15")
    guicontrol,,List2, |%List_2_var15%
If (Kod1 = "16")
    guicontrol,,List2, |%List_2_var16%
If (Kod1 = "17")
    guicontrol,,List2, |%List_2_var17%
If (Kod1 = "18")
    guicontrol,,List2, |%List_2_var18%
If (Kod1 = "19")
    guicontrol,,List2, |%List_2_var19%
If (Kod1 = "20")
    guicontrol,,List2, |%List_2_var20%

Control_List3:
GuiControlGet,kod1
If (Kod1 = "1")
    GuiControl,, Kod2, |%Kodd1%

If (Kod1 = "3")
    GuiControl,, Kod2, |%Kodd2%

If (Kod1 = "8" ) and (list2 = "1")
    GuiControl,, Kod2, | %kodd1%
Return
Input:
msgBox,%kod2%
msgBox,%kod1%
msgBox,%list2%
return

Судя по msgBox хоть какое-то значение приобретает только kod1, а остальные, что бы я не выбирал остаются пустыми... Из за этого не возможна работа с ними.:(Собственно в чём ошибка?:)

16

Re: AHK: Зависимость от чего-либо выпадающего списка

OFF: а ещё удивляются, как можно Autohotkey использовать в коммерческих целях.

17

Re: AHK: Зависимость от чего-либо выпадающего списка

Skare пишет:

Судя по msgBox хоть какое-то значение приобретает только kod1, а остальные, что бы я не выбирал остаются пустыми...

Переменным, ассоциированным с DDL, присваиваются значения после команды Gui, Submit. В данном скрипте её не наблюдается. Кроме того, пропущен Return после метки Control_List2:.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder