1

Тема: AHK: Как передавать скрипту параметры командной строки (функция)

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

#NoTrayIcon
vIniFileName := fnCountArgs(0) ; писал и fnCountArgs(%0%)
fnIniRead (vIniFileName)   
ExitApp ; для отладки
; .....много кода

fnCountArgs(){
    If %0% ; Выборка аргументов командной строки = только один аргумет
        {
            args := []
            vCountArgs :=0
            Loop %0%
                {
                    args[A_Index] := %A_Index%
                    vTmp := args[0]
                    msgbox %vTmp%
                    vCountArgs++
                }
        }

    If (vCountArgs < 1)
        {
            vTxt := fnHelpComple()
            msgbox %    32 
                        ,%    "Справка по Compile AHK"
                        ,% vTxt
                        ,%    60 
            ExitApp
        }
Return args[1]
}
; ещё код

По сути, надо %0% присвоить текстовой переменной, но у меня и это не получилось.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

2

Re: AHK: Как передавать скрипту параметры командной строки (функция)

Переменные с параметрами нужно объявить глобальными либо в секции автовыполнения, либо в функции.

global 0, 1, 2   ; и т. д.
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: Indomito, 2013-01-09 08:57:44)

Re: AHK: Как передавать скрипту параметры командной строки (функция)

Блин, совсем забыл, т.е. я думал, что они глобально предопределены.
Спасибо

UPD
А сколько писать что бы не ошибиться?
т.е. global 0, 1, 2, .... какое посл. число?

Мне нужно только один параметр, но нужно и остальные проверять.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

4 (изменено: Indomito, 2013-01-09 09:12:48)

Re: AHK: Как передавать скрипту параметры командной строки (функция)

-del

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

5

Re: AHK: Как передавать скрипту параметры командной строки (функция)

Indomito пишет:

...сколько писать что бы не ошибиться?

Справка пишет:

Если функции необходимо создать или сослаться на большое количество глобальных переменных, можно объявить все переменные функции глобальными (кроме ее параметров). Для этого необходимо поместить в первой строке слово "global" или объявить в ней локальную переменную.