1 (изменено: Mongol, 2012-09-28 17:06:09)

Тема: AHK: Кол-во не пустых строк, Автопереход, Кнопка формы.

Приветствую!
Достаточно давно начал осваивать AutoHotkey (но не регулярно), но справка помогает в лучшем случае в половине случаев. И вот в очередной раз не могу найти то, что нужно.
С помощью SmartGUI Creator создал форму, плюс имеется скрипт который работает с данными из полей формы. Какие функции изучать, что бы:
1. Подсчитать кол-во НЕ пустых строк в поле Edit?
2. Указать зацикленному скрипту работу с текущим полем Edit кол-во раз, равному количеству строк с записями?
3. Переход в следующее поле Edit когда текущее поле Edit стало пустым? (хотя при выполнении п.2 не актуально, но хотел бы знать на будущее)
4. Задействовать кнопку в форме на запуск скрипта?

Gui, Add, Text, x66 y-3 w60 h20 , 4x
Gui, Add, Text, x246 y-3 w90 h20 , 3x
Gui, Add, Text, x646 y-3 w70 h20 , BTG
Gui, Add, Text, x456 y-3 w40 h20 , F
Gui, Add, Edit, x6 y17 w180 h240 ,    [i]; нужно подсчитать кол-ко НЕ пустых строк, а если строка пуста переход к следующему полю Edit [/i]
Gui, Add, Edit, x196 y17 w190 h240 , [i]; нужно подсчитать кол-ко НЕ пустых строк, а если строка пуста переход к следующему полю Edit [/i]
Gui, Add, Edit, x396 y17 w180 h240 , [i]; нужно подсчитать кол-ко НЕ пустых строк, а если строка пуста переход к следующему полю Edit [/i]
Gui, Add, Edit, x586 y17 w190 h240 , [i]; нужно подсчитать кол-ко НЕ пустых строк, а если строка пуста переход к следующему полю Edit [/i]
Gui, Add, Button, x6 y267 w100 h30 , Start ; [i]как связать со скриптом?[/i]
Gui, Show, x820 y341 h314 w791, CM
Return

GuiClose:
ExitApp

2

Re: AHK: Кол-во не пустых строк, Автопереход, Кнопка формы.

Mongol, ознакомься с этой темой, отредактируй свой пост.

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

3

Re: AHK: Кол-во не пустых строк, Автопереход, Кнопка формы.

Подправил. И?

4

Re: AHK: Кол-во не пустых строк, Автопереход, Кнопка формы.

…И теперь — порядок.

5

Re: AHK: Кол-во не пустых строк, Автопереход, Кнопка формы.

Спасибо!

6

Re: AHK: Кол-во не пустых строк, Автопереход, Кнопка формы.

Могу сделать небольшую подсказку.

Gui, Add, Text, x66 y-3 w60 h20 , 4x
Gui, Add, Text, x246 y-3 w90 h20 , 3x
Gui, Add, Text, x646 y-3 w70 h20 , BTG
Gui, Add, Text, x456 y-3 w40 h20 , F
Gui, Add, Edit, x6 y17 w180 h240 ,    [i]; нужно подсчитать кол-ко НЕ пустых строк, а если строка пуста переход к следующему полю Edit [/i]
Gui, Add, Edit, x196 y17 w190 h240 , [i]; нужно подсчитать кол-ко НЕ пустых строк, а если строка пуста переход к следующему полю Edit [/i]
Gui, Add, Edit, x396 y17 w180 h240 , [i]; нужно подсчитать кол-ко НЕ пустых строк, а если строка пуста переход к следующему полю Edit [/i]
Gui, Add, Edit, x586 y17 w190 h240 , [i]; нужно подсчитать кол-ко НЕ пустых строк, а если строка пуста переход к следующему полю Edit [/i]
Gui, Add, Button, x6 y267 w100 h30 , Start ; [i]как связать со скриптом?[/i]
Gui, Show, x820 y341 h314 w791, CM
Return

GuiClose:
ExitApp

F11::
    ControlGet, Count, LineCount,, Edit1, CM
    MsgBox, % "Количество строк в поле Edit1 — " Count

    NotEmpty := 0
    Loop % Count
    {
        ControlGet, Line, Line, % A_Index, Edit1, CM
        if RegExMatch(Line, "[^\r\n]")   ; если в строке есть что-то, кроме знака переноса строки — она не пустая
            NotEmpty++
    }
    MsgBox, % "Из них не пустых — " NotEmpty
    return

Из примера видно, как обращаться к конкретному контролу (можно и по-другому), и как задавать количество итераций в цикле.

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

7

Re: AHK: Кол-во не пустых строк, Автопереход, Кнопка формы.

Благодарю за помощь!
Удалось решить первую задачу, это уже много значит.

GUI (Графический интерфейс пользователя) изучил, но там настолько кратко и перечислены в основном возможности, что понять как активировать кнопку ума не приложу.

8

Re: AHK: Кол-во не пустых строк, Автопереход, Кнопка формы.

Если кратко - параметр gLabel в свойствах кнопки задает метку Label, к которой происходит переход при нажатии на кнопку.
Кстати, примеров GUI с кнопками на форуме достаточно

Gui, Add, Button, Default +gStart, Старт
Gui, Add, Button, +gExit, Выход через 1 секунду
Gui, Show
return
Start:
   MsgBox Нажата кнопка "Старт"
return

GuiClose:
Exit:
   MsgBox,,, Пока,1
   ExitApp

9 (изменено: Mongol, 2012-10-03 20:32:17)

Re: AHK: Кол-во не пустых строк, Автопереход, Кнопка формы.

Всем огромное спасибо!
Заработало, безумно облегчил себе жизнь