1

Тема: AHK: Функции

Привет всем.Не могу решить не которые проблемы.
Решил создать свой инклуд для облегчение написание в дальнейшем скриптов.
Проблема в том что не получается создать функцию меток и goto (отправку на метки)
Пробовал вот так:


метка(MN)
{
 metka%MN%:
}

на_метку(GM)
{
 goto, metka%MN%
}

и не получается.

2

Re: AHK: Функции

GoTo
Gosub

Win 10 x64
AHK
                       Справка AHK v1 тебе в помощь.

3 (изменено: Leva2.aksenov, 2015-12-12 17:32:47)

Re: AHK: Функции

Alectric пишет:

GoTo

я так и делал

Leva2.aksenov пишет:

на_метку(GM)
{
 goto, metka%MN%
}

4

Re: AHK: Функции

и ещё вопрос,вот функция


сообщение(текст)
{
	msgbox, %текст%
}

и если к примеру использовать

сообщение(привет)

то выведит пустоту

5 (изменено: yalanne, 2015-12-12 19:34:58)

Re: AHK: Функции

метка1()
{
  msgbox 1
}

метка2()
{
  msgbox 2
}

на_метку(GM)
{
Func("метка" GM).call()
}

F1::на_метку(1)
F2::на_метку(2)

6

Re: AHK: Функции

Так работает.

сообщение("привет")
Return

сообщение(текст)
{
	msgbox, %текст%
}

7

Re: AHK: Функции

yalanne
спасибо, работает)
ypppu
с кавычками знаю работает,думал может можно без них(для удобства)

8

Re: AHK: Функции

yalanne
Ещё может знаешь как сделать функцию " if "
вот так не работает


если()
{
	if
}

9

Re: AHK: Функции

А зачем все это в функциях лепить?
Скорей всего изначально можно было на условиях сделать.

var := 1

if (var = 1)
	msgbox первое
else if (var = 2)
	msgbox второе
else if (var = 3)
	msgbox третее
else if (!var)
	msgbox ноль




var2 := "ahk"

if (var2 = "ahk")
	msgbox autohotkey
else if (var2 = "hello")
	msgbox Привет
else if (!var2)
	msgbox пусто

10

Re: AHK: Функции

Leva2.aksenov пишет:

с кавычками знаю работает,думал может можно без них(для удобства)

Gourmet пишет:

AutoHotkey.chm: "Functions"
Поскольку вызов функции является выражением, не следует заключать в знаки процента имена переменных в списке ее параметров. И напротив, буквальные строки необходимо заключать в двойные кавычки.