1

Тема: AHK: считывание клавиш с ini-файла

Возможно ли сделать так, что бы считывать кнопку, которая должна быть нажата вместо заданой с ини-файла?
То есть, что бы было что-то похожее на это, но работало:


IniRead, k, %A_WorkingDir%\opt.ini,, key, F1

F2::
Send, {%k%}
return

2

Re: AHK: считывание клавиш с ini-файла

Оно работает, если секцию указать.


IniRead, k, %A_WorkingDir%\opt.ini, Keys, key, F1

F2::
Send, {%k%}
return

Файл INI

[Keys]
key=a

3 (изменено: Indomito, 2013-01-07 13:54:30)

Re: AHK: считывание клавиш с ini-файла

Вопрос по теме.

Как корректно написать комментарии в файле что бы они не считывались/пропускались/игнорировались командой IniRead ?

Вот пример

[MainKeys]
;M-M клавиша Play/Pause
KeyPlay=vkB3
KeyPause=vkB3

Так верно или нужно иначе?

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

4

Re: AHK: считывание клавиш с ini-файла

Я думаю лучше

[MainKeys]
commentary = M-M клавиша Play/Pause
KeyPlay = vkB3
KeyPause = vkB3

5 (изменено: YMP, 2013-01-07 14:14:12)

Re: AHK: считывание клавиш с ini-файла

Indomito пишет:

Так верно или нужно иначе?

Судя по Википедии, верно. http://en.wikipedia.org/wiki/INI_file#Comments.

6 (изменено: Amadare, 2013-01-07 14:23:11)

Re: AHK: считывание клавиш с ini-файла

YMP пишет:

Оно работает, если секцию указать.

Спасибо за ответ.
Да, конечно оно работает таким образом для символов. А вот для, например, F1?
Если прописать


k:=VK70SC03B ; код F1 : VK 70 SC 03B
Send, {%k%}

оно все ровно не работает. Как быть?

P.s. IniRead умеет читать ключи без сегментов. Для этого достаточно пропустить этот параметр.

7 (изменено: YMP, 2013-01-07 14:31:38)

Re: AHK: считывание клавиш с ini-файла

Amadare пишет:

Если прописать


k:=VK70SC03B ; код F1 : VK 70 SC 03B
Send, {%k%}

оно все ровно не работает. Как быть?

Прописать вот так:


k=VK70SC03B ; код F1 : VK 70 SC 03B
Send, {%k%}

или так:


k:="VK70SC03B" ; код F1 : VK 70 SC 03B
Send, {%k%}

8 (изменено: Indomito, 2013-01-07 15:50:40)

Re: AHK: считывание клавиш с ini-файла

YMP пишет:

Судя по Википедии, верно.

Похоже на то, но сразу куча вопросов

Вот из Вики

; last modified 1 April 2001 by John Doe
[owner]
name=John Doe
organization=Acme Widgets Inc.
 
[database]
; use IP address in case network name resolution is not working
server=192.0.2.62     
port=143
file = "payroll.dat"

1. Между ; и комментарием обязателен пробел?
2. Есть запись

file = "payroll.dat"

, а разве не так надо писать

file="payroll.dat"

т.е. без пробелов межу =

Я почему так придирчиво спрашиваю, просто не хочется отлавливать сразу ошибки в скрипте и INI

Блин, так можно концов и не найти

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

9

Re: AHK: считывание клавиш с ini-файла

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

10

Re: AHK: считывание клавиш с ini-файла

Indomito, в том-то и беда, что какого-то общепринятого стандарта нет. Где так, а где этак.

11

Re: AHK: считывание клавиш с ini-файла

alexii пишет:

Indomito, в том-то и беда, что какого-то общепринятого стандарта нет. Где так, а где этак.

ну меня сам AHK (например с С++ всё понятно) интересует, т.е. что он именно поймёт, хотя можно и провести тесты.

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