Компонентами файла не могут быть файлы.
f1 : file of TToyFile; { первый файл для обработки }
f2 : file of TToyFile; { второй файл для обработки }
f1 : TToyFile; { первый файл для обработки }
f2: TToyFile; { второй файл для обработки }
Program ToysProg;
Const
cMaxToy = 1000; { Максимальное число игрушек }
cMaxCost = 1000; { Максимальная цена }
Type
{ Информация об одной игрушке }
TToy = record
name : string;
cost : Word;
age : Byte;
end;
{Список игрушек}
TToys = array [1..cMaxToy] of TToy;
{ Файл с информацией по игрушкам}
TToyFile = file of TToy;
Var
toys : TToys; { список игрушек для обработки }
f1 : TToyFile; { первый файл для обработки }
f2 : TToyFile; { второй файл для обработки }
n, i : Word;
Procedure LoadToys (var f : TToyFile);
{ Процедура загрузки информации об игрушках из файла }
begin
while not eof (f) do
begin
n := n + 1;
read (f, toys [n]);
end;
end;
Begin
Assign (f1, ParamStr (1)); Reset (f1); { Открыть первый файл для считывания }
Assign (f2, ParamStr (2)); Reset (f2); { Открыть второй файл для считывания }
LoadToys (f1); { Загрузить список игрушек из первого файла }
LoadToys (f2); { Загрузить список игрушек из второго файла }
Close (f1);
Close (f2);
{ Отобразить список игрушек с ценой не более заданной }
for i := 1 to n do
if Toys[i].cost <= cMaxCost then writeln (Toys[i].name);
End.
type
TToy = record
name : string;
cost : Word;
age : Byte;
end;
var
f: file of Ttoy;
i, n: integer;
filename: string;
toy: ttoy;
begin
Write('Имя файла: ');
ReadLn(filename);
Assign(f, filename);
Rewrite(f);
Write('n: ');
ReadLn(n);
for i := 1 to n do
begin
Write('name: ');
ReadLn(toy.name);
Write('cost: ');
ReadLn(toy.cost);
Write('age: ');
Readln(toy.age);
write(f, toy);
end;
Close(f);
end.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.