Процедура открытия файла для дополнения
append(f : Тext) – процедура открывает существующий файл для присоединения. Если файл уже открыт, то он сначала закрывается, а затем открывается заново. Текущая позиция устанавливается на конец файла.
Если в последнем блоке файла размером 128 байтов присутствует символ Сtrl+Z (26 в коде ASCII), то текущая позиция устанавливается в файле таким образом, что при записи первым в блоке будет "затираться" символ Сtrl+Z.
Если переменной f было присвоено пустое имя assign(f,' '), то после обращения к процедуре append f будет указывать на стандартный выходной файл.
После обращения к append файл f становится доступным только по записи и Eof(f) принимает всегда значение True(истина).
Рассмотрите несколько примеров простых программ.
Program TextFile4;
{Задача. Дан файл Primer1 на диске. Считать из него информацию и записать во вновь созданный файл Primer2 }
Var
f, t: text;
Put1, Put2, d: string;
s : char;
Begin
Put1 := 'D:\TP7\BIN\Primer1';{Путь до файла Primer на диске}
assign(f, Put1 );
reset(f);{Открыть файл c файловой пер. f на чтение }
Put2 := 'D:\TP7\BIN\Primer2';{Путь где будет создан файл}
assign(t, Put2);
rewrite(t);{ Открыть файл c файловой пер. t на создание и запись }
while Not Eof(f) Do
begin
while Not Eoln(f) do
begin
read(f, s); {Cчитывать из f в переменную s}
write(t, s);{ Записывать в t значение s}
end;
readln(f); {Переходим к чтению следующей строки файла f}
writeln(t);{Переходим к записи следующей строки файла t}
end;
close(t);{Закрытие файла Primer1}
close(f);{Закрытие файла Primer2}
End.
Program TextFile5;
{Задача. Дан файл Primer2 со скобками. Проверить численное соответствие закрытых и открытых скобок}
Var
f : Тext;
Put, s : string;
a, i : integer;
Begin
a := 0; {Обнуляем счетчик скобок}
Put := 'D:\TP7\BIN\Primer2'; {Полный путь до файла }
assign(t, Put);
reset(f); {Открываем файл на чтение.}
while Not Eof(f) do {Пока нет конца файла делай...}
begin
readln(f, s); {Считываем cтроку в переменную s}
for i := 1 to Length(s) do {Просматриваем строку до конца}
begin
if s[i] = '(' {Если встретилась открытая скобка,}
then
Inc(a,1);{то счетчик увеличиваем на 1}
if s[i] = ')' {Если встретилась закрытая скобка,}
then
Dec(a,1);{то счетчик уменьшаем на 1}
end;
end;
close(f);{Закрытие файла}
if a <> 0{Если скобок одинаковое кол-во, то а=0}
then
writeln('No')
else
writeln('Yes');
readln
End.
Program TextFile6;
{Задача. Проиллюстрировать работу процедуры append.}
Var
f: text;
Begin
assign(f, 'text.txt'); {создаем текстовый файл}
rewrite(f);{ Открыть файл c файловой пер. t на создание и запись }
writeln(f, 'Исходный текст');{ Записывать в него cтроку}
close(f);{Закрываем сформированный файл}
append(f); {Вновь открываем этот же файл для добавления}
writeln(f, 'Добавляемый текст');{ Пишем в конец файла cтроку}
close(f);{Закрываем файл}
End.
Дата добавления: 2015-05-16; просмотров: 858;