Преобразование, определяемые пользователем
Пользователь может определить преобразование, не предусмотренные предикатами. Например: целые числа в действительные и наоборот.
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) – определяет позицию указателя относительно начала файла.