1

Тема: AHK: Автозамена текста из переменной

Собственно сабж. Как использовать переменную, как строку автозамены? Ну то есть, чтобы было что-то типо:

var = ddd

::%var%::Desire

2

Re: AHK: Автозамена текста из переменной

http://www.autohotkey.com/board/topic/15015-regex-powered-dynamic-hotstrings/

3

Re: AHK: Автозамена текста из переменной

Да уже нашел, спасибо

4

Re: AHK: Автозамена текста из переменной

Не срабатывает, если использовать в качестве аббревиатуры кириллицу. Пофиксить не получается :С

5

Re: AHK: Автозамена текста из переменной

http://www.autohotkey.com/board/topic/15015-regex-powered-dynamic-hotstrings/

В топике ничего не было про regex. Уже очень какой то плохой вариант, и только для английского. Вообще спецом для задачи есть команда Input, обладающая большей гибкостью, чем сами строки автозамены.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

6

Re: AHK: Автозамена текста из переменной

Если я верно понял, polyethene ставит все клавиши клавиатуры под обработку, создавая десятки горячих клавиш.

7 (изменено: Desire, 2014-10-19 18:43:43)

Re: AHK: Автозамена текста из переменной

ypppu пишет:

Если я верно понял, polyethene ставит все клавиши клавиатуры под обработку, создавая десятки горячих клавиш.

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

8

Re: AHK: Автозамена текста из переменной

Если бы в стандартной автозамене можно было использовать переменную, было бы очень здорово!

9

Re: AHK: Автозамена текста из переменной

Ну так создавайте при каждом запуске соответствующий файл анк.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

10

Re: AHK: Автозамена текста из переменной

serzh82saratov, ладно, это не столь важно, буду писать латинскими буквами.
В Dynamic Hotstrings есть проблема, что после запуска этой библиотеки ahk начинает писать в английской раскладке кириллицу всякими иероглифами и так остается после перезахода в систему. Вы, случайно, не знаете, как пофиксить?

11

Re: AHK: Автозамена текста из переменной

Desire, думаю на этот вопрос лучше всего ответит polyethene.
Спросите на оф.форуме. Народ там отзывчивый.

12

Re: AHK: Автозамена текста из переменной

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

Помоему хорошая идея, да и делов то немного. Открываем GUI с автозаменами, редактируем вместе с опциями. Пишется всё в ини файл. При запуске скрипта автозамен он читает ини файл, создаёт требуемый скрипт, запускает его, закрывает себя.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

13

Re: AHK: Автозамена текста из переменной

serzh82saratov пишет:

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

Помоему хорошая идея, да и делов то немного. Открываем GUI с автозаменами, редактируем вместе с опциями. Пишется всё в ини файл. При запуске скрипта автозамен он читает ини файл, создаёт требуемый скрипт, запускает его, закрывает себя.

Я просто хотел, чтобы без созданий других .ahk

14 (изменено: serzh82saratov, 2014-10-19 21:59:53)

Re: AHK: Автозамена текста из переменной

Тогда у меня такая идея:


Hot1 = ddd
Str1 = Desire
Hot2 = атп
Str2 = Автозамена текста из переменной

  ;  ---  Далее пилить  ---  
  
#NoEnv
ListLines Off
SetBatchLines -1
Global HotStrings := []

While Hot%A_Index% != ""
    HotStrings[A_Index] := [Hot%A_Index%, Str%A_Index%] 
    
EndChars = ()-[]{}:;'"/\`n %A_Tab%,.?! 

Loop  {
    Input, chr, I V L1
    SetTimer, Input, -20
}

Input:  
    If (!InStr(EndChars, chr) && (chars .= chr) != "")
        return  
    If Match(chars, match) 
        SendInput % "{BS " StrLen(chars) + 1 "}{Raw}" match chr
    chars := ""
    return
    
Match(text, byref match)  {    
    For k, v in HotStrings
        If (text == v[1])
            return 1, match := v[2]
}  

Думаю regex и некоторые опции замен, можно без труда прикрутить в функции Match.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

15

Re: AHK: Автозамена текста из переменной

По-моему, проще всего создавать в какой-нибудь стандартной папке ("temp" или  "Мои документы") дополнительный include-файл. А в GUI скрипта сделать кнопку "Применить" или "Сохранить", при нажатии на которую скрипт перезапускается и считывает этот файл заново.
Как вариант, если скрипт не требуется компилировать.

16

Re: AHK: Автозамена текста из переменной

Ну это я уже предлагал, нужно конструировать ahk файл исходя из данных в окне.
Но:

ТС пишет:

Я просто хотел, чтобы без созданий других .ahk

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

Да и если интересен regex, то надо заменить только один символ, и в переменные можно писать шаблоны.

If (text == v[1])

на

If (text ~= v[1])
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui