Запись символов осуществляется посимвольно, разделителей не требуется. При считывании символа, считанное значение присваивается переменной в процедуре Read и указатель в файле переходит к следующему символу.
Пример: необходимо создать файл, в который надо записать все прописные буквы латинского алфавита по 3 буквы в строке. После необходимо прочитать содержимое файла и вывести на экран.
var
f:text;
ch:char;
I:byte;
begin
Assign(f, ‘t.txt’);
rewrite(f);
I:=1;
for ch:=‘a’ to ‘z’ do
begin
if i=3 then writeln(f,ch)
else write(f,ch);
inc(i);
end;
close(f);
***
reset(f);
while not eof(f) do
begin
while not eoln(f) do
begin
read(f, ch);
write(ch);
end;
readln(f);
writeln
end;
***
Запись и чтение числовой информации
Любая числовая информация хранится в текстовом файле в символьном виде. Чтобы одно отличить от другого, в файл должны записываться разделители. Чтение числовой информации производится так: выделяется подстрока, в которой исключаются пробелы, символы табуляции и маркеры конца строк. Происходит преобразование выбранной подстроки в числовой вид к типу переменной, установленному в процедуре Read.
Пример записи и чтения числовой информации.
***
Assign(f, ‘t.txt’);
rewrite(f0;
randomize;
for i:=1 to 5 do
begin
j:=random(101);
write(f,’ ‘,j);
end;
close(f);
***
reset(f);
while not eof(f0 do
begin
while not Seekeoln(f) do
begin
read(f,i);
write(I, ‘ ‘);
end;
readln(f);
writeln;
end;
***
Для добавление в файл обычно используется следящее:
Assign(f,’t.txt’);
{$i-}
Reset(f);
{$i+}
If ioresult<>0 then rewrite(f);
Else append(f);
Запись и чтение строковой информации.
При считывание из файла строки в переменную строку в неё помещается количество символов установленное при объявление сроки или меньше если раньше встретится признак конца строки или конца файла.
Пример: необходимо записать в созданный файл слово program на каждой из двух строк, после необходимо прочитать содержимое файла и вывести на экран.
Const
S:string=’program’;
Var
S1:string[4];
F:text;
I:byte;
Begin
.
.
Rewrite(f);
For i:=1 to 2 do
Writeln(f,s);
Close(f);
Reset(f);
S1:=’’;
While not eof(f) do
Begin
While ot eoln(f) do
Begin
Read(f,s1);
Write(s1);
S1:=’’;
End;
Readln(f);
Writeln;
End;
Close(f);
Лекция №13
Файлы ввода/вывода. Типизированный файлы ввода/вывода. Объявление типизированного файла. Последовательный доступ к типизированному файлу. Добавление записи, удаление записи.