Как прослушать определенную текстовую строку в Mac OS X в приложении livecode
Я хочу создать приложение для Mac, подобное https://textexpander.com/ или Atext. Оба этих приложения позволяют пользователю определять фрагменты вместе с соответствующими триггерными словами. При вводе слова-триггера в любом приложении это слово-триггер заменяется фактическим определенным фрагментом.
Я предполагаю, что приложение прослушивает все строки, вводимые в любом приложении, и когда оно обнаруживает строку, соответствующую одному из определенных слов триггера, оно заменяет ее фрагментом.
Так оно и работает на самом деле, или есть другой способ?
1 ответ
Сделайте два поля. В поле 2 введите что-то вроде:
time xyz
come ABC
В скрипте поля 1:
on textChanged
if the last char of me = space then
put the last word of me into temp
if temp is in fld 2 then
repeat for each word tWord in fld 2
put the last word of line lineOffset(temp,fld 2) of fld 2 into the last word of me
exit repeat
end repeat
end if
select after text of me
end if
end textChanged
Теперь введите в поле 1, вы знаете: "Настало время для всех хороших людей прийти на помощь своей стране". Лучше сделать это с помощью массива, но здесь концепция может быть более доступной.
Это лучший обработчик, поскольку он не будет реагировать на слово-триггер:
on textChanged
if the last char of me = space then
put the last word of me into stringOfInterest
put fld 2 into dataToSearch
if stringOfInterest is in dataToSearch then
repeat for each line tLine in dataToSearch
if word 1 of tLine = stringOfInterest then
put word 2 of tLine into the last word of me
exit repeat
end if
end repeat
end if
select after text of me
end if
end textChanged