1 (изменено: Lazy72, 2011-04-25 14:54:13)

Тема: AHK: Сохранение данных в comboBox

Добрый день!
Хотелось бы узнать, возможно ли сохранение текста, введенного в комбобокс в выпадающий ниже список.
Например я написал Вася в строке комбобокса и отправил это, хочется что бы при следующем запуске скрипта - вася был в выпадающем списке.

2

Re: AHK: Сохранение данных в comboBox

Lazy72 пишет:

Например я написал Вася в строке комбобокса и отправил это

Куда отправил и как?

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

3 (изменено: Lazy72, 2011-04-25 18:00:51)

Re: AHK: Сохранение данных в comboBox

teadrinker пишет:

[
Куда отправил и как?

Набрал вася, нажал ок - данные отправлены в рабочее окно) Когда потом открываешь программу - в выпадающем меню уже есть вбитый мною Вася.
Вот мой скриптик, написал так, как знаю (может там что-то покажется глупым), главное - работает) Хотелось бы добавить, что бы при вводе в поле vTerretoryName, активировался чекбокс vRegion, кажется это можно сделать с помощью метки g, но не знаю куда именно его ставить.

#x::
Gui, Add, CheckBox, x336 y67 w90 h20 vBan, Забанить
Gui, Add, CheckBox, x336 y87 w90 h20 vMute, Заткнуть
Gui, Add, CheckBox, x336 y107 w90 h20 vUnban, Разбанить
Gui, Add, CheckBox, x336 y127 w90 h20 vunmute, Разговорить
Gui, Add, Text, x16 y197 w120 h20 , Название территории:
Gui, Add, Edit, x146 y197 w170 h20 vTerritoryName,
Gui, Add, Text, x16 y227 w120 h20 , Ник владельца:
Gui, Add, Edit, x146 y227 w170 h20  vOwnerName
Gui, Add, Text, x16 y257 w120 h20 , Сожители:
Gui, Add, Edit, x146 y257 w170 h20 vMemberName, 
Gui, Add, CheckBox, x336 y147 w90 h30 , удалить из списка
Gui, Add, Button, x56 y307 w90 h60 , OK
Gui, Add, Button, x326 y327 w50 h20 , Cancel
Gui, Add, CheckBox, x46 y27 w100 h30 vPlayer, Действия с игроком
Gui, Add, CheckBox, x156 y27 w100 h30 vRegion, Действия с территорией
Gui, Add, ComboBox, x146 y97 w170 h20 vPerson,
Gui, Add, CheckBox, x336 y197 w90 h30 , Удалить территорию
Gui, Add, CheckBox, x336 y257 w90 h30 , Добавить сожителей
Gui, Add, CheckBox, x336 y227 w90 h30 , Добавить владельцев
; Generated using SmartGUI Creator 4.0
Gui, Show, x131 y91 h379 w479, New GUI Window
Return
GuiClose: 
reload   
ButtonCancel:
reload
ButtonOK:
Gui, Submit 
if not ErrorLevel

Click 100, 100 
Send {esc} 
Sleep 100
if region = 1
Goto, Label1
Label2:
Sleep 100
if player = 1
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100
if player = 1
if ban = 1 
Send {t} /ban %Person% {enter}
Sleep 100
if player = 1
if ban = 1
Send {t}/me 
Sleep 100
if player = 1
if ban = 1
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100
if player = 1
if ban = 1 
Send {space} Поднял свой банхамер на 
Sleep 100
if player = 1
if ban = 1 
Send {Lctrl Down}{Shift}{Lctrl Up} 
Sleep 100
if player = 1
if ban = 1 
Send {space} %Person% {enter}
Sleep 100
if player = 1 
if mute = 1
send {t} /mute %Person% {enter}
Sleep 100
if mute = 1
if player = 1
Send {t}/me 
Sleep 100
if player = 1
if mute = 1
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100
if player = 1
if mute = 1 
Send {space} Вставил кляп 
Sleep 100
if player = 1
if mute = 1 
Send {Lctrl Down}{Shift}{Lctrl Up} 
Sleep 100
if player = 1
if mute = 1 
Send {space} %Person% {enter}
Sleep 100
if player = 1
if Unban = 1 
Send {t} /pardon %Person% {enter}
Sleep 100
if player = 1
if Unban = 1
Send {t}/me 
Sleep 100
if player = 1
if Unban = 1
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100
if player = 1
if Unban = 1 
Send {space} Снял бан с 
Sleep 100
if player = 1
if Unban = 1 
Send {Lctrl Down}{Shift}{Lctrl Up} 
Sleep 100
if player = 1
if Unban = 1 
Send {space} %Person% {enter}
Sleep 100
if player = 1
if unmute = 1 
Send {t} /unmute %Person% {enter}
Sleep 100
if player = 1
if unmute = 1
Send {t}/me 
Sleep 100
if player = 1
if unmute = 1
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100
if player = 1
if unmute = 1 
Send {space} Снял кляп с  
Sleep 100
if player = 1
if unmute = 1 
Send {Lctrl Down}{Shift}{Lctrl Up} 
Sleep 100
if player = 1
if unmute = 1 
Send {space} %Person% {enter}
Sleep 100
if player = 1
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100
 
Label1:
Sleep 100 
if region = 1
Send {Lctrl Down}{Shift}{Lctrl Up} 
Sleep 100
if region = 1
Send {t}//expand vert{enter}
 Sleep 100
if region = 1 
Send {t}/region claim %TerritoryName%{enter}
Sleep 100
if region = 1 
Send {t}/region addowner %TerritoryName% %TerritoryName% %OwnerName%{enter} 
Sleep 100
if region = 1 
Send {t}/region addowner %TerritoryName% Malcanteth Jagger Eni Jesuspwn{enter}
Sleep 100
if region = 1 
Send {t}/region addmember %TerritoryName% %MemberName%{enter}
Sleep 100
if region = 1
Send {t}/me 
Sleep 100
if region = 1
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100
if region = 1 
Send {space}Защитил территорию 
Sleep 100
if region = 1 
Send {Lctrl Down}{Shift}{Lctrl Up} 
Sleep 100
if region = 1 
Send {space} " %TerritoryName% " 
Sleep 100
if region = 1 
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100
if region = 1 
Send {space} по заявке 
Sleep 100
if region = 1 
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100
if region = 1 
Send {space} %OwnerName% {enter}
Sleep 100
if region = 1 
Send {Lctrl Down}{Shift}{Lctrl Up} 
Sleep 100
reload

#2::
Sleep 100
Send {t} 
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100
Send  {space} Добавить жильцов на территорию вы можете командой
Sleep 100
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100
Send  {space} /region addmember
Sleep 100 
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100 
Send {space} название региона, ник сожителя. Узнать название территории можно кликнув нитью по блоку.
Sleep 100
Send {enter}
Sleep 100 

reload

#1::

Sleep 100 
Send [b]Защищено.[/b]{enter}[b]территория:[/b]{enter}[b]хозяин:[/b]{enter}[b]сожители:[/b] -
Sleep 100 
Send {Lctrl Down}{Shift}{Lctrl Up} 
Sleep 100

reload


#z::
Sleep 100
Send {Lctrl Down}{Shift}{Lctrl Up}
Sleep 100
reload

Что делает скрипт? пишет разные команды и вставляет туда %text%.
Если будут предложения по корректировке и улучшению скрипта - с радостью выслушаю)

4

Re: AHK: Сохранение данных в comboBox

Вот пример. При нажатии OK текст, введённый в ComboBox, если не существует в списке, добавляется туда, а также весь новый список записывается в Ini-файл. При следующем запуске скрипта в ComboBox будет список, считанный из Ini-файла.

   IniRead, List, %A_ScriptDir%\Script.ini, Settings, List, |Петя|Саша|Миша|
   Gui, Add, ComboBox, vBox, % SubStr(List, 2, -1)
   Gui, Add, Button, wp hp, OK
   Gui, Show
   Return
   
ButtonOK:
   GuiControlGet, Box,, Box
   if !InStr(List, "|" Box "|")
   {
      List .= Box . "|"
      GuiControl,, Box, % "|" . SubStr(List, 2, -1)
      IniWrite, %List%, %A_ScriptDir%\Script.ini, Settings, List
   }
   Return
   
GuiClose:
   ExitApp
Author пишет:

Хотелось бы добавить, что бы при вводе в поле vTerretoryName, активировался чекбокс vRegion

Согласно правилам форума, одна тема — один вопрос.

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

5

Re: AHK: Сохранение данных в comboBox

Большое спасибо, все действительно работает)