Студопедія
рос | укр

Головна сторінка Випадкова сторінка


КАТЕГОРІЇ:

АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія






Вінницький начально-науковий інститут економіки


Дата добавления: 2015-10-18; просмотров: 396



Например:

openwrite(myfile1, «file1.dat»).

Т.е. устанавливается связь между объектами myfile1 и file1.dat, а ссылка на myfile1 означает обращение к file1.dat.

 

Если файл file1.dat уже существует, то его содержимое будет утеряно. Для избежания этого сначала проверяется наличие этого файла

existfile(«file1.dat»).

 

Назначение файла myfile1 в качестве устройства записи реализует предикат

Writedevice(myfile1).

 

Собственно запись в файл реализуется любыми предикатами write или writef. При этом ввод будет происходить не на экран, а в файл. И, наконец, закрытие файла myfile1 реализует предикат

closefile(myfile1).

 

Т.о. вся процедура записи в файл складывается из следующих этапов: открытие файла, назначение файла в качестве устройства записи, сама запись и закрытие его. Например:

openwrite(myfile1, «file1.dat»),

Writedevice(myfile1),

<предикаты и правила записи в файл>,

<любые другие предикаты и правила>,

Closefile(myfile1).

 

ЧТЕНИЕ ИЗ ФАЙЛА

Если файл уже создан, то он готов для осуществления некоторых операций: считывание всех данных или выборочно, модификация данных, добавление данных в конец файла.

 

Уже созданный файл DOSFileName открывается для чтения по логическому имени SymbolFileName:

Openread(SymbolFileName, DOSFileName).

Например:

openread(myfile1, «file1.dat»).

 

Предикат

Readdevice(SymbolFileName)

назначает файл DOSFileName устройством чтения.

 

Предикат

closefile(SymbolicFileName)

закрывает файл. Например:

openread(myfile1, «file1.dat»).

Writedevice(myfile1).

<предикаты и правила записи в файл>,

<любые другие предикаты и правила>,

Closefile(myfile1).

 

МОДИФИКАЦИЯ СУЩЕСТВУЮЩЕГО ФАЙЛА

Эта операция несколько отличается от предыдущих. Сначала существующий файл открывается для модификации (чтения и записи) с помощью следующего предиката:

openmodify(SymbolFileName, DOSFileName).

 

Нужно учитывать, что позиция символа в файле определяется его удаленностью от самого первого символа: в нулевой позиции - 1-й символ, в первой - 2-й символ и т.д. При открытии или модификации файла указатель находится в начале. Но указатель символа можно устанавливать и в любую позицию файла при использовании предиката filepos.

 

Вся процедура модификации файла складывается из следующих этапов: открытие, назначение файла в качестве устройства записи, запись в файл и закрытие его. Например:

openmodify(myfile1, «file1.dat»),

Writedevice(myfile1),

<правила выборочной записи в файл>,

<любые другие предикаты и правила>,

Closefile(myfile1).

 

ДОЗАПИСЬ В КОНЕЦ СУЩЕСТВУЮЩЕГО ФАЙЛА

Для реализации этой операции используется openappend(SymbolFileName, DOSFileName).

 

Вся процедура дозаписи очевидна из описаний предыдущих операций. Например:

openappend(myfile1, «file1.dat»),

Writedevice(myfile1),

<правила дозаписи>,

<любые другие предикаты и правила>,

Closefile(myfile1).

 

В примере 6.1 демонстрируется вывод информации из статической БД в файл на диске и на экран монитора.

 

/*Пример 6.1.*/

Domains

file=myfile

Predicates

Data(symbol)

Write_lines

Goal

openwrite(myfile, «PETER.DAT»),

Write_lines,

Closefile(myfile).

Clauses

data(«Люблю тебя, Петра творенье,»).

data(«Люблю твой строгий, стройный вид,»).

data(«Невы державное теченье,»).

data(«Береговой ее гранит.»).

write_lines:-

data(«Line»),

write(« »,Line),nl,

Writedevice(myfile),

write(« »,Line),nl,

Writedevice(screen),

Fail.

Write_line.

 

В примере 6.2 демонстрируется чтение данных из файла PETER.DAT и вывод прочитанной информации на экран и принтер.

 

/*Пример 6.2.*/

Domains

file=myfile1

Predicates

Write_data

Goal

openread(myfile1, «PETER.DAT»),

Write_data,

Closefile(myfile1).

Clauses

write_data:-

Readdevice(myfile1),

Not(eof(myfile1)),

Readln(Line),

Writedevice(screen),

write(« »,Line),

Readln(Line),

Writedevice(printer),

write(« »,Line),

Write_data.

Fail.


<== предыдущая лекция | следующая лекция ==>
Міністерство освіти і науки України | Нормативна література
1 | <== 2 ==> | 3 | 4 |
Studopedia.info - Студопедия - 2014-2024 год . (0.196 сек.) російська версія | українська версія

Генерация страницы за: 0.197 сек.
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7