Скачиваний:
201
Добавлен:
17.06.2016
Размер:
2.69 Mб
Скачать

Использование редактора и dir из программы.

Турбо Пролог содержит набор стандартных предикатов, которые обеспе-

чивают доступ к редактору в процессе работы программы. Это предикаты

edit, editmsg и display. Они описаны здесь и в секции стандартных преди-

катов справочного руководства Турбо Пролога. Вызванный из текста програм-

мы, редактор активизируется в текущем окне. Турбо Пролог содержит также

две версии предиката, осуществляющего доступ к каталогам в каталоговом

окне. Это предикаты dir/3 и dir/6.

Editmsg/8

Предикат editmsg, определенный в версии Турбо Пролог 1.х сохранен в

версии 2.0 для обеспечения совместимости.

editmsg(

InStringArg, OutStringArg, HeadStr, HeadStr2, /*(i,o,i,i,*/

Msg, InitPos, HelpFileName, RetStatus) /* i,i,i,o)*/

Рекомендуем вам в программах, написанных на Турбо Прологе 2.0 ис-

пользовать предикат edit вместо устаревшего editmsg.

Edit/2 и edit/13

Предикат edit существует в двух версиях: простейшей, с двумя аргу-

ментами и более сложный, с большим числом аргументов.

Простейшая версия имеет форму:

edit(InStringArg,OutStringArg) /* (i,o) */

Обращение к edit в вашей программе приведет к выполнению редактора

Турбо Пролога в активном окне, причем все средства редактора становятся

доступными пользователю. (Редактор описан в части 2 и в справочном руко-

водстве Турбо Пролога). Пользователь задает для редактирования входной

текст InStringArg, и OutStringArg будет содержать результат редактирова-

ния. Например, следующий вызов редактора может использоваться для запуска

редактирования в пустом окне:

edit("",Text).

Другая версия предиката использует формат:

edit(

InStringArg, OutStringArg, HeadStr, HeadStr2, /*(i,o,i,i,*/

Msg, InitPos, HelpFileName, RetStatus, /* i,i,i,i,*/

Indent, Insert, TextMode, RetPos, RetStatus) /*i,i,i,o,o)*/

Этот предикат поддерживает дополнительные функции, недоступные для

edit/2, такие, как установка режима выравнивания текста, выделения абза-

ца, возвращение положения курсора в момент завершения редактирования и

т.д. Как и в случае с простейшим предикатом, edit/13 вызывает редактор

Турбо Пролога в активное окно, при этом все функции редактора становятся

доступными пользователю.

Аргументы предиката edit.

InStringArg (string) - входная строка текста

OutStringArg (string) - строка текста после редактирования

HeadStr (string) - текст, вставляемый в верхний левый

угол окна редактирования

HeadStr2 (string) - заголовок окна редактирования. Если

пользователь желает сохранить текст в

редакторе, он сохраняется в файле с

именем HeadStr2

Msg (string) - сообщение, которое редактор посылает

в нижнюю часть окна редактирования

(до нажатия клавиши). Может быть

использовано в совокупности с InitPos

для отметки ошибок.

InitPos (integer) - начальная позиция в InStringArg

HelpFileName (string) - файл содержащий справочную информацию

и когда пользователь нажимает F1,

редактор загружает файл с именем

HelpFileName

EditMode = 0 - только чтение

= 1 - чтение/запись

Indent = 0 - без выделения абзацев

= 1 - автоматическое выделение абзацев

Insert = 0 - режим замены

= 1 - режим вставки

TextMode = 0 - отсутствие автоматического

выравнивания текста

= 1 - автоматическое выравнивание текста

RetPos (integer) - позиция курсора в момент, когда

пользователь прекращает работу с

редактором

RetStatus (integer) - показывает, как пользователь завершил

редактирование

= 0 - завершение с помощью F10

= 1 - сброс редактора нажатием ESC

Соседние файлы в папке Документация