1

Тема: AHK: Скрипт, который сам себя перезаписывает

Не знаю как точно выразить идею, но я попробую )
Появилась идея, сделать скрипт, нечто  Punto Switcher, только не в плане смены раскладки, а в плане автозамены.
К примеру, выделил текст, который нужен, нажимаю сочетание клавишь и  текст помещается в переменную, к примеру, avtz2 (на что заменять).
Потом через InputBox сделать переменную, к примеру, avtz1 с текстом автозамены (что заменять).
И чтобы скрипт сам себя перезаписывал, добавляя сам в себя автозамену (не знаю как точнее выразиться).
Примерно таким образом:


^+vk5A:: ; контрл+шифт+z
Send, ^{vk43} 
avtz2 := clipboard
InputBox, avtz1,,что заменить?,50,50

а далее код с открытием самого скрипта и дописыванием в него же (не знаю как это сделать)


clipboard=
(
::%avtz1%::
clipboard=%avtz2%
)
Send, ^{vk56}
sleep 150
Send ^{vk53}  ;сохранить файл

В итоге задум получить ахк с автозаменами, с возможностью довавлять новые.

2

Re: AHK: Скрипт, который сам себя перезаписывает

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

3

Re: AHK: Скрипт, который сам себя перезаписывает

https://www.autohotkey.com/boards/viewtopic.php?t=68148

4 (изменено: Leone_Galante, 2020-04-06 03:05:21)

Re: AHK: Скрипт, который сам себя перезаписывает

спасибо, но я, если честно, ничего не понял


Зато все таки придумал свое решение.


ESC::reload

^+z:: ; выделяю нужный текст и нажимаю комбинацию                                                  
sleep 150                                              
Send, ^{vk43}
x2 :=Clipboard
sleep 150
InputBox, x1 , автозамена, что заменять?, 50, 50
FileAppend,
(


::%x1%::	
Clipboard=
`(
%x2%
`)
Send, ^{vk56}
`Return

),C:\Users\папа\Desktop\автозамены СВИЧЕРА.ahk ; путь к файлу 
sleep 150
MsgBox, Скрипт обновился
sleep 150
send {ESC}			
Return