|
Полезные утилитыCLIP - компилятор и сборщик программ clip_dbg,clip_cld - отладчики clip_hindex,clip_hseek - hyper text/HTML индексация и поиск. CLIP_WE - многооконный текстовый редакторТекстовый редактор с приличными возможностями, базирующийся на классах textedit, meditCLIP_BLANK - интерпретатор шаблонов документовШаблон документа представляет из себя текст со встроеными в него clipper-выражениями. Например кусок платежки (жаль что бравзеры неправильно показывают псевдографику):- поддерживаются #if, #endif, #while #endwhile, #return - строки содержание ":=" выполняются - #var - подставляются в текст в виде вычисленного значения Вот собственно и все правила составления шаблонов. Два ограничение - команды не поддерживаются и нельзя описать свою функцию, зато поддерживаются ВСЕ clipper-функции. Смотрите таже функцию run_blank() для использования шаблонов без clip_blank. CLIP_RUN - исполнитель po-файловPO-файлы - это файл с байт-кодом виртуальной машины CLIP. Можно сказать что это кодовый блок, записанный в файл. Чтобы его получить надо использовать ключик -p компилятора.Все нижеописанное можно подсмотреть в utils/Makefile Как сделать исполняемый po-файлНапишите test.prg:clear screen use test browse() Скомпилируйте: clip -p test.prg Получится файл test.po размером байт эдак в 300-400 Теперь надо немного пошаманить над этим файлом, чтобы он стал исполняемым. mv test.po test.po.0 cat "#!/путь_где_лежит_clip_run/clip_run" >test.po (это такая шаманская строчка, которая как раз и заставляет систему исполнять po-файл посредством clip_run и она должна быть самой первой в файле) cat test.po.0 >>test.po chmod +x test.po Теперь выполняйте "test.po Ну и как ???? Понравилось ??? Файл размером всего в 300 байт, а сколько умеет ???? CLIP_PRG - исполнитель prg-файлов"clip_prg filename.prg param1 param2 ...." - компилирует на лету prg-файл и исполняет скомпилированный po-файл.Чтобы получить исполняемый prg-файл, надо в первой строке написать: #!/path_for_clip_exec_files/clip_prg и поставить аттрибут исполняемости prg-файлу командой (chmod +x filename.prg) CLIP_BLЭтот полезный интерпретатор ppo-файлов предоставлен Сергеем Алешиным. Полное описание можно прочитать на его домашней страничке или здесь .WWW_CLIPЭто штука делает то же что www-sql от James Henstridge плюс кое-что еще. Про www-sql читайте здесь или в первоисточнике. Опишем здесь лишь особенности WWW_CLIP и его отличия от www-sql.1. Имена переменных нечувствительны к регистру. 2. Вместо команды SETEXPR можно юзать просто SET - они полностью идентичны. 3. Изменен синтаксис команды CONNECT. Самым первым параметром следует указывать двухбуквенную строку идентифицирующую тип сервера базы данных - "PG" - для PostgreSQL, "MS" - для MySQL, "OR" - для Oracle. Об использовании SQL в Clip`е читайте здесь. В случае Oracle параметр host задает не имя хоста сервера, а т.н. connect string - имя базы данных. Если хочется использовать базу данных по умолчанию или локальный хост, но в то же время хочется задать логин и пароль, вместо параметра host пишите NIL. Например, чтобы подключиться к умалчиваемой базе данных Oracle под именем scott с паролем tiger тег должен иметь следующий вид: <! sql connect OR NIL scott tiger> 4. В командах SET/SETEXPR/SETDEFAULT/EVAL можно использовать любые прилинкованные функции Клиппер. WCL2PRGWWW_CLIP, несомненно, полезная утилита, но если принять во внимание, что она является не самым быстрым интерпретатором, становится очевидным, что нужна еще утилита типа WCL2PRG. WCL2PRG на входе получает файл .WCL (.HTML с тегами www-sql), а на выходе - исходник .PRG после компиляции которого получается бинарник, выводящий в stdout то же самое что вывел бы WWW_CLIP, т.е. полноценное cgi-bin приложение. В результате скорость возрастает многократно.Кроме того, использование WCL2PRG позволяет вставлять в .WCL клиппер-код. Клиппер-код следует включать в тег-комментарий, начинающийся со слов "CLIP" или "CLIPFUNC". Например: <!-- clip QOUT("<b>Hello, world!</b>") -->В результате работы полученного cgi-bin приложения клиент увидит в своем браузере кроме прочего строку "Hello, world!" написанную жирным шрифтом. Команда CLIPFUNC предназначена для включения в конец генерируемого .PRG кода многократно используемой функции или процедуры. Например: <!-- clipfunc PROCEDURE PrintPrices USE prices.dbf NEW ALIAS prices ? "<table border>" ? "<tr><th>Наименование</th><th>Цена</th></tr>" DO WHILE !prices->EOF() ? "<tr><td>",prices->Name,"</td><td>",prices->Price,"</td></tr>" prices->SKIP() ENDDO ? "</table>" RETURN -->В результате клиент увидит в своем браузере таблицу с данными из prices.dbf В встраиваемом клиппер-коде можно использовать переменные www-sql. Все они хранятся в ассоциативном массиве vars. Например: <! sql set quad 25 > <! sql print $quad > <!-- clip QOUT(SQRT(vars:quad)) --> SQLRUNЭта утилита выполняет скрипты на языке SQL.lownameпереводит имена файлов в нижний регистрИспользовать можно примерно так : lowname *.PRG clip_transclip_trans cp866 cp1251 *.prg перекодирует все prg-файлы из русской DOS кодировки в русскую Win кодировку. configureГенерирует clipcfg.h с описанием некоторых системно-зависимых констант и define, используемый в clip.h. Вообщем вам это не должно быть интересно.clip_makeslibИз нескольких обычных библиотек с расширением .a делает одну динамически подключаемую библиотеку с расширением .so: этой утилитой создается libclip.so. Можете ее использовать чтоб создавать свои загружаемый библиотеки.clip_hindex, clip_hseekМини-google. clip_hindex индексирует содержимое сайта. Полученный индекс затем используется для быстрого поиска при помощи утилиты clip_hseek. Использована технология HiPER-Seek. |