Установка атрибутов файла
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 |