1

Тема: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Чего не хватает языку AHK для "полного счастья" разработчика/программиста?
Какой новой функциональности?
Что существенно повысит юзабилити AHK?

2

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Многопоточности?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

3

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

В соседней ветке ypppu сообщил:

Чтобы можно было в GUI вставлять анимированные GIF-картинки без костылей.

Перенес его мнение в эту новую тему

4

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Простоты без необходимости ковырять API (DllCall/VarSetCapacity), COM-объекты, WMI, комстроку, возможности сразу сравнивать/присваивать значения без записи в переменную из встроенных функций, отсутствия всяких неочевидностей и индонюансов типа замыкающей #If, возможности писать = вместо :=, операторов типа With, Sub-процедур, Select Case, многократного переназначения (сочетаний) клавиш в строке (a::b::c::d) и т.д. (всего не помню).

5

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Flasher пишет:

возможности писать = вместо :=

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

Flasher пишет:

Простоты без необходимости ковырять API (DllCall/VarSetCapacity)

А как проще организовать?

Flasher пишет:

COM-объекты, WMI

Как бы есть.

Flasher пишет:

комстроку

Тут не знаю о чём.

Flasher пишет:

возможности сразу сравнивать/присваивать значения без записи в переменную из встроенных функций

При сравнении не обязательно сохранять результат выражения...

Flasher пишет:

типа замыкающей #If

А как следующим хоткеям понять, что они не относятся к этой директиве?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

6

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

serghey пишет:

Чтобы можно было в GUI вставлять анимированные GIF-картинки без костылей.

Бросьте, какие костыли:

html =
(
<body style="margin: 0; overflow: hidden;">
	<img src="https://upload.wikimedia.org/wikipedia/commons/5/55/Tesseract.gif" width="200">
</body>
)

Gui, Margin, 0, 0
Gui, Add, ActiveX, vPic w200 h200, HTMLFile
Pic.write(html)
Gui, Show, w200 h200

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

7

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

-DPIScale

По умолчанию.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

8 (изменено: Flasher, 2016-05-08 03:19:21)

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

serzh82saratov пишет:

почему то более понятная новичкам

Сомневаюсь.

serzh82saratov пишет:

А как проще организовать?

Встроить новые функции.

serzh82saratov пишет:

Как бы есть.

Пример аналога хотя бы объектов MSOffice приведёте?

serzh82saratov пишет:

Тут не знаю о чём.

Консольные системные команды.

serzh82saratov пишет:

При сравнении не обязательно сохранять результат выражения...

Вот именно.

serzh82saratov пишет:

А как следующим хоткеям понять, что они не относятся к этой директиве?

По повторному переводу строки, например. Хотя нет, это не годится. По двойной решётке исходного If или хотя бы по привычному EndIf.

9

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Встроить новые функции.

Спасибо, новые функци это конечно очень интересно, но как это должно по вашему выглядеть? 

или хотя бы по привычному EndIf

Для кого привычному?

возможности сразу сравнивать/присваивать значения без записи в переменную

Вот именно.

Так не надо же присваивать значения...

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru
Win10x64 v2004, AutoHotkey_L v1.1.33.02 (Unicode 32-bit). AhkSpy, Hotkey, ClockGui

10

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

serzh82saratov пишет:

но как это должно по вашему выглядеть?

Так же, как и сейчас. Ничего примечательного.

serzh82saratov пишет:

Для кого привычному?

Для кодеров на других языках. Ну, или пусть фигурные скобки сигнальными будут.

Так не надо же присваивать значения...

Так всё равно ErrorLevel на след. строке пойдёт. В одностроковый If не записать.

11

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Flasher пишет:

Простоты без необходимости ковырять API (DllCall/VarSetCapacity), COM-объекты, WMI, комстроку, возможности сразу сравнивать/присваивать значения без записи в переменную из встроенных функций, отсутствия всяких неочевидностей и индонюансов типа замыкающей #If, возможности писать = вместо :=, операторов типа With, Sub-процедур, многократного переназначения (сочетаний) клавиш в строке (a::b::c::d) и т.д. (всего не помню).

Flasher, Sub-процедуры есть, возможность = вместо := есть, #If писать не обязательно, доступ к COM-объектам есть, возможность сравнивать результат работы встроенных функций есть, простоты достаточно для начального уровня.

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

12

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

teadrinker пишет:

Sub-процедуры есть

Только решили в справке и "гугле" не указывать?

teadrinker пишет:

возможность = вместо := есть

Не буквально, а там, где применяются :=.

teadrinker пишет:

#If писать не обязательно

Скрипты писать и водку пить тоже.

teadrinker пишет:

доступ к COM-объектам есть, возможность сравнивать результат работы встроенных функций есть

Про достут и результат не писалось. См. внимательней.

13

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Sub-процедура (и знак = заодно):

Gosub, Sub
MsgBox, % a
Return

Sub:
	a = test
	Return
Flasher пишет:

COM-объекты, WMI, комстроку, возможности сразу сравнивать/присваивать значения без записи в переменную из встроенных функций

Ну, прочитал, что дальше?

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

14 (изменено: Flasher, 2016-05-08 05:19:18)

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

teadrinker пишет:

Sub-процедура

В русской справке по процедур* ничего нет, как и по Sub в английской. GoSub я знаю. Параметры-то где?

teadrinker пишет:

Ну, прочитал, что дальше?

Дальше не вырываем из контекста "без необходимости ковырять" и смотрим русский язык > склонение имён существительных.

15

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Flasher пишет:

В русской справке по процедур* ничего нет, как и по Sub в английской. GoSub я знаю.

Не понял смысла. Я же вам показал, что Sub-процедуры есть. В чём проблема-то? В том, что они называются не так, как вам бы этого хотелось?

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

16

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

teadrinker пишет:

В том, что они называются не так, как вам бы этого хотелось?

А как они называются?

17

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Flasher пишет:

А как она называется?

Подпрограмма.

Продолжаете утверждать, что подпрограммы в AHK отсутствуют? Или Sub-процедура — это не подпрограмма? Или вы к названию придираетесь?

Будете утверждать дальше, что в AHK нет возмозможности использовать знак = так же, как := ?

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

18

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

teadrinker пишет:

Или Sub-процедура — это не подпрограмма? Или вы к названию придираетесь?

Первое. Это не то же, что и Sub в бэйсиках, где есть параметры.

teadrinker пишет:

Будете утверждать дальше, что в AHK нет возмозможности использовать знак = так же, как := ?

В определённых ситуациях, как я и пояснял, да, буду.

Shell = ComObjCreate("WScript.Shell")
MsgBox % Shell.CurrentDirectory

19

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Flasher пишет:

Первое. Это не то же, что и Sub в бэйсиках, где есть параметры.

Так, теперь вы обвиняете AHK, что в нём не так же, как в бейсике? Ну приведите мне конструкцию из бейсика, которую нельзя воспроизвести в AHK.

Shell = % ComObjCreate("WScript.Shell")
MsgBox % Shell.CurrentDirectory

Да, синтаксис другой, так и знак другой. Как они должны различаться для интерпретатора? Вообще, знак = в современном AHK позиционируется, как оператор сравнения, а не присвоения. В любом языке они различаются.

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

20

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

teadrinker пишет:

Так, теперь вы обвиняете AHK, что в нём не так же, как в бейсике?

Обвиняю? Это вы меня только и делаете, что обвиняете. Я же ответил на вопрос про "полное счастье" и юзабилити.

Ну приведите мне конструкцию из бейсика, которую нельзя воспроизвести в AHK.

Воспроизвести каким образом?

teadrinker пишет:

Как они должны различаться для интерпретатора?

По мне так их и не надо различать.

21

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Изложите своё видение вопроса, как тогда по-вашему отличить

if (var := "value")

от

if (var = "value")

В первом случае присвоение, во втором — сравнение.

Flasher пишет:

Воспроизвести каким образом?

В коде.

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

22

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

teadrinker пишет:

А пока изложите своё видение вопроса, как тогда по-вашему отличить

А какой смысл в первом примере?

teadrinker пишет:

В коде.

Я не спрашивал - где.

23

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Обнулять по команде все переменные.

24

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

А где такое есть и зачем это нужно?

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

25

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Ну например когда в вечном цикле используются различные переменные и при каждой последующей итерации нужно их всех сделать пустыми.

26

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Loop  {
	MyFunc()
}

MyFunc()
{
	MsgBox, % x
	x := 1
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

27

Re: OFF: Чего не хватает AHK? Какая функциональность повысит юзабилити?

Да - можно рассматривать, как вариант засунуть весь код в функцию.
Но я был бы не против такой команды, по типу как здесь:
http://se.mathworks.com/help/matlab/ref/clearvars.html