Работа с файлами
К файловым обработкам относятся операции создания файлов, запись, чтение, изменение и добавление. Данные из файлов могут обрабатываться либо как непрерывный поток символов, либо как структурированные объекты типа записей базы данных.
Список предикатов работающих с файлами.readevice (имя устройства) вводное устройство, тип операции – чтение (клавиатура).
Writedtvice (имя устройства) устройство вывода (принтер, экран, модем).
readevice – открыть устройство на чтение.
writedtvice – открыть устройство на запись.
Программа:
domains str=string
predicates
data (str)
writelines
goal
writelines.
clauses
data (“этот текст”).
data (“который мы”).
data (“хотим вывести”).
data (“на принтер”).
writelines: – data (Line),
write (“ “, Line), nl,
writedevice(printer),
write(“ “, Line), nl,
flush (printer),
writedtvice (screen) – переключениенаэкран
fail – неудача
writelines.
Flush (очистка буфера) – используется для сброса данных из внутреннего буфера. Принтер печатает только тогда, когда буфер будет заполнен.
В качестве устройств ввода–вывода могут быть назначены и файлы, например, readdevice(myfile). Чтение файла может быть целиком, либо выборочное, запись может быть в виде создания, дозаписи и модифицирования.
- deletefile (Df) – уничтожение файла.
- save (Df) – сохранение базы данных в виде файла.
- renamefile (Df) – переименование файла.
- existfile (Df) – проверка существования файла с данным именем.
- disk (path) – выбор дисковода и траектории.
- dir ( ) – выдача каталога директория.
- flush(fd)-сброс данных из внутреннего буфера.
Df – dos_filеname – имя файла в директории, fd – описываемый пользователем файловый домен.
dir (траектория или маршрут, специализация файла, имя файла).
Этот предикат выдает каталог имен на выбранном диске, позволяет стрелками выбрать один из файлов, а вводом присваивает это имя имени файла.
Для работы с файлом необходимо в разделе domains описать файловый домен, который должен быть там единственным: File = datafile. Если доменов несколько: File = datafile1; datafile2;…
Символическое имя файла datafile является идентификатором, который логически отождествляется с dos именем файла (имя, расширение).