Как прослушать определенную текстовую строку в 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
Другие вопросы по тегам