![]() *)Форум: |
Как ни парадоксально, на самом деле NoteTab умеет намного больше того, что... умеет. Я бы сравнил этот текстовой редактор с детским конструктором - каким вы его построите из клипов-кубиков, таким он и будет. Загляните в перечень команд и функций клип-программинга. Разве вас не поражает размах? Нет, это не "текстовик", это какой-то монстр по своим потенциальным возможностям. Тут тебе и управление документами на диске (можно создавать файлы, искать текст, заменять текст по указанному алгоритму, даже не открывая документы в окне редактора), и управление разными другими программами (включение их, запуск команд из меню), и многое другое. Главное же, все это клип делает «интеллектуально». Но не будем забегать вперед. Вернемся к той «магнитофонной записи», что мы создали в прошлой главе. С помощью имитации клавиш на клавиатуре и команд из меню редактора были записаны следующие действия: 1) выделение текста и его копирование, 2) создание нового документа и вставка в него скопированного, 3) сохранение документа. ВЫДЕЛЕНИЕ Посмотрим, насколько совершенны эти команды. Начнем с выделения текста. У нас есть только одна макроклавиша для выделения - Ctrl+A. Она выделяет весь документ, целиком. А если нам нужен всего один фрагмент, скажем, абзац, в котором есть словосочетание «Глава №»? Как его автоматически выделить в тексте, чтобы автоматически же скопировать в другой документ? Вот тут-то и понадобятся специфические команды. Первая из них - ^!Find (Найти). Вторая - ^!Select (Выделить). Чтобы поиск производился не с того места, где стоит курсор, а с начала документа, используем команду ^!Jump («Прыгнуть», т.е. переставить курсор в другое место). Пишем: ^!Jump TEXT_START ^!Find "Глава №" IT ^!Select PARAGRAPH Как вы заметили, после команд стоят еще какие-то слова и буквы. Это - опции команд. TEXT_START - в начало текста; I - при поиске слов игнорировать начертание строчные/прописные, T - не искать только целое слово, можно и по кусочкам слов; PARAGRAPH - выделить абзац, параграф. Почти у каждой команды есть опции, уточняющие ее действие, хотя можно обходиться и без них (например, если написать просто ^!Find, то поиск все равно производиться будет). При составлении клипов вы всегда можете посмотреть в Как делать клипы.otl - там указаны и команды, и опции к ним. Здесь же приведу опции для команды «выделить»: ^!Select WORD - выделить слово, на котором стоит курсор; LINE - строку; URL - веб-ссылку; EMAIL - выделить весь электронный адрес, если на нем стоит курсор; HTMLTAG - выделить весь тег HTML; FILENAME - имя файла; HYPERLINK - гиперссылку; ALL - весь текст; BOL - выделить от курсора до начала строки; EOL - до конца строки; nn - здесь вместо «nn» пишите число, сколько букв с пробелами выделить (+3 выделит три буквы вправо, - 3 выделит три буквы влево). Надеюсь, что такое «find», «word», «line», все знают и будут легко ориентироваться среди названий команд и опций. Если же не знаете, то нет худа без добра - выучите хотя бы минимальный «компьютерный» набор слов, что встречаются в меню всех англоязычных программ. А если вы принципиальный противник английского языка, то не пишите, а просто копируйте команды и функции в свой клип из Как делать клипы.otl - там даны русские переводы и пояснения. Чтобы закончить с темой «выделение текста», упомянем еще одну команду: ^!SelectTo №вертик:№горизонт. Она выделит фрагмент текста от курсора до точки, заданной координатами. Слева от двоеточия пишите номер строки (отсчет от начала текста), справа - номер буквы-пробела (отсчет от начала строки). НОВЫЙ ДОКУМЕНТ Итак, нужный фрагмент найден, выделен и скопирован. Кстати, копировать выделенное можно как имитацией макроклавиши ^!KeyBoard Ctrl+C, так и командой с функцией: ^!Copy ^$GetSelection$ (в долларовых скобках - функция, которая обозначает выделенный текст). Теперь переходим к тому, чтобы создать новый документ... Спросите: а что тут создавать-то? Есть универсальная для всех программ макроклавиша Ctrl+N («new», создание нового документа) - сымитируй её командой ^!Keyboard, и все дела. Так-то оно так. Можно, конечно, воспользоваться и этим. Но зачем? Представьте, что вы работаете с документом и пожелали скопировать цитату, поместив его в другой документ, - но так, чтобы при этом не отвлекаться от текста, который перед вашими глазами. Скопировал - и забыл (типа самонаводящейся ракеты на нашем «МиГ»-е системы «выстрелил - забыл»). Для того и предназанчены клипы, чтобы всю рутинную работу оставлять за кадром. А тут надо переключать внимание на другое окно (Ctrl+N открывает в редакторе окно с новым документом), потом снова возвращаться... Вот если бы не в самом редакторе, а где-то там, на диске, незаметно возникал документ и в него «улетала» скопированная цитата. Выстрелил - забыл... Сказано - сделано. Берем Как делать клипы.otl, в разделе [- Диск Файлы] смотрим, какие команды для этого существуют: ^!TextToFile "ПутьИмяФайла" "КакойНибудьТекст" Создает на диске файл, содержащий указанный текст. Если файл с указанным именем уже есть на диске, то этот новый файл заменит его. ^!AppendToFile "ПутьИмяФайла" "КакойНибудьТекст" Добавит указанный текст в конец файла на диске. Если такого файла нет на диске, он будет создан. Что выбрать? Если мы хотим иметь постоянный единый документ, этакий цитатник, куда бы мы «закидывали» найденные в разных текстах интересные цитаты, то лучше выбрать вторую команду. Но раз у нас поставлена задача просто создать новый документ, чтобы определить туда найденный фрагмент, то берем первую команду. Теперь вся запись выглядит так: ^!Jump TEXT_START Как видите, вместо самого текста ("КакойНибудьТекст") мы использовали функцию, которая актуализирует скопированный в буфер обмена текст (Get – получить, Clipboard – содержание клипбоарда, т.е. буфера обмена). Без этой функции никак не обойтись, иначе как еще обозначить скопированное? СОХРАНЕНИЕ ДОКУМЕНТА Теперь, собственно, сохранение документа нам уже и не требуется – предыдущей командой мы одновременно и создали, и сохранили его. Но на тот случай, если вам понадобится клип для работы прямо в окне редактора, скажу несколько слов и об этом. В прошлой главе в «магнитофонной записи» была использована простенькая ^!Toolbar Save, имитирующая команду меню File | Save (Сохранить документ). На самом деле для клипов она не годится, потому что новые документы она не может сохранить автоматически, «за кадром», а непременно открывает диалоговое окошко, куда вручную нужно вписывать имя документа, нажимать ОК. Как сделать так, чтобы клип автоматом сохранял документ и сам давал ему какое-то имя? Для этого есть специальная команда. Например: ^!Save As C:\Windows\Рабочий стол\Цитаты\Глава.txt А как сделать, чтобы клип, сохраняя новый документ, прописывал не одно и то же имя (Глава.txt, как в вышеприведенном примере), а каждый раз давал ему новое? Вот тут и появляется третье действующее лицо нашей пьесы – ^%Переменная%... | ||||||
листать | |||||||