Преобразование, определяемые пользователем

Пользователь может определить преобразование, не предусмотренные предикатами. Например: целые числа в действительные и наоборот.

predicates

conv_real_int (real, integer)

clauses

conv_real_int (R, N):- R=N.

Предикат ТП для работы с файлами

Удаление файлов

deletefile (ИмяФайлаДОС) (string) : (i)

Параметр ИмяФайлаДОС может создать имя накопителя, но не должен указывать путь.

deletefile (“C: progr.pro”)

Сохранение файла

save (ИмяФайлаДОС) (string) : (i)

Используется для записи на внешнйи накопитель динамической базы данных. После этого файо можно снова загрузить в ОП. Если заданный файл ИмяФайлаДОС уже существует, то его содержимое уничтожается.

Переименование файлов

renamefile (СтИмяФДОС, НовИмяФДОС) (string, string) : (i, i)

Проверка наличия файла

existfile (ИФД) (string) : (i)

Выполняется успешно, если заданный файл имеется в текущем каталоге.

Сброс данных из внутреннего файлового буфера в заданный файл

flash (СимвИФ) (file) : (i)

Позволяет организовывать передачу данных на стандартный интерфейс до того, как буфер будет заполнен.

Установка накопителя и пути

disc (ПутьДОС) (string) : (i) (o)

(i) – устанавливает путь и накопитель

(o) – связывает с параметром текущий накопитель и путь.

Вывод текущего каталога

dir (Путь, СпецификацияФайла, ИФД) (string, string, string) : (i, i, o)

Выдается каталог имен файлов в соответствии с заданными параметрами и присваивается 3-му параметру имя выбранного из каталога файла.

dir (“E:\PROLOG”, “a*.*”, X)

Открытие файлов

- для чтения : openread

- для записи: openwrite

- для чтения/записи : openmodify

- для заполнения (до записи) : openappend.

Формат этих предикатов одинаков: (СИФ, ИФД) (file, string) : (i, i)

Закрытие файла

closefile (СИФ) (file) : (i)

Для стандартных устройств (клава, экран, принтер) опции открытия и закрытия файла выполнять не нужно (автоматически).

Проверка на конец файла

eof (СИФ) (file) : (i)

Выполняется успешно, если указатель текущей позиции файла указывает на конец файла.

Установка или чтение типа файал

filemode (СИФ, тип) (file, integer) : (i, i) (i, o)

(i, i) – устанавливает тип файла ( 0 – текстовый, 1 – бинарный)

(i, o) – читает тип заданного файла и связывает его с параметром тип файла.

Устанвока или чтение позиции указателя файла

filepos (СИФ, Позиция, Режим) (file, real, integer) : (i, i, i) (i, o, i)

(i, i, i) – устанавливает указатель данного файла на заданню позицию (Режим=0 – относительно начала файла, =1 – текущей позиции, =2 – конца)

(i, o, i) – определяет позицию указателя относительно начала файла.