Установка атрибутов файла

While not EoF(f1) do begin

END.

Writeln(F2)

BEGIN

Текстовые файлы

Begin

writeln;

write(S[i]:19, '_ |';

for j:= 1 to M do

write(A[i,j]:7, ' _ _ |')

end;


Пример расчета для массива "SS" сумм "M" элементов в каждой из "N" строк массива "A" (NxM):

for i:= 1 to N do

begin SS[i]:= 0;

for j:= 1 to M do

SS[i]:= SS[i] + A[i, j]

end;


Var f: Text;

Assign(f, 'Name_f');

где Name_f - имя файла.

Например,

Assign(f, 'file. dat');{файл находится в текущем каталоге}

Assign(f,'C:\Pascal\Work\file.dat'){файл находится}

{ по указанному пути на диске С}

 

Открытие файла для записи данных

ReWrite(f);

Запись данных в файл

Write(f,"сп"); или Writeln(f,"сп");{"сп" - список переменных}

Открытие файла для считывания данных

Reset(f);

Считывание данных

Read(f, "сп"); или Readln(f, "сп");

Закрытие файла

Close(f);

Запись данных в конец закрытого файла

Append(f);

Пример операторов записи и считывания данных

Assign(f1,'File1.dan');{назначить переменой f1, имя файла: File1.dan}

ReWrite(f1);{открыть файл для записи в первой программе }

Writeln(f1,'Значения "X","Y"' ); {начать запись }

For i:= 1 to N do begin

X:= 0.5*i; Y:= Ln(X);{пример расчета значений переменных }

write(f1, X:6:2, Y:10:4);{записать данные в файл File1. dan }

If i mod 5 = 0 then writeln(f1){ записать символ #13 }

end;

Close (f1);{закрыть файл в первой программе }

Assign(f2,'File1.dan');{назначить переменой f1, имя файла: File1.dan}

Reset(f2);{открыть файл для чтения во второй программе}

Readln(f2);{пропустить первую строчку}

For i:= 1 to N do begin

read(f2, a[i], b[i]);{считать данные в массивы "A" и "B" }

If i mod 5 = 0 then readln(f2){ считать символ #13 }

end;

Close (f2);{закрыть файл во второй программе }

 

Пример программы для считывания строковых и числовых данных из файла и записи их в другой файл.

var c: char; j, i: word;

s: array[1..10] of string[12];

a: array[1..10, 1..6] of word;

f1, f2: text;

assign(f1, 'F1.txt'); reset(f1);

assign(f2, 'F2.txt'); rewrite(f2);

for i:= 1 to 10 do begin

read(f1, s[i]); { считывание строки }

for j:= 1 to 6 do

read(f1, a[i,j]); { считывание шести чисел }

readln(f1) {считывание символа конца строки}

end;

for c:= 'А' to 'Я' do{цикл по перебору символов}

for i:= 1 to 10 do

if s[i,1] = c then begin

write(f2, s[i]); {запись строк в алф.порядке первых символов}

for j:= 1 to 6 do

write(f2, a[i,j]:2); { запись шести чисел }

end;

close(f1); close(f2);

 

В файле F1. txt записаны данные, которые в редакторе текста имеют вид:

Леонтьев 5 4 4 5 4 3

Ивлев 4 5 3 4 3 4

и т. д.

EoF(f); {возвращает признак конца файла}

 

Пример считывания текста из файла FF1. t,

кодировки текста и записи в файл FF2. t с сохранением кода #13.

assign(f1, 'FF1. t'); reset(f1);

assign(f2, 'FF2. t'); rewrite(f2);

read(f1,c); {считываем переменную типа Char }

if c <> #13 then c:=pred(c);

write(f2,c) {кодируем и выводим на экран }

end;

Исходный атрибут файла

GetFattr(f, af);

 

Установка атрибута файла

SetFattr(f, af);

 

где f- имя файловой переменной,

af - имя переменной атрибута (тип Word).

 

Наименование Константа "ads" Двоичное Шестнадцатиричное
Только для чтения ReadOnly 0000 0001 $01
Скрытый файл Hidden 0000 0010 $02
Системный файл System 0000 0100 $04
Архивный файл Archiv 0010 0000 $20