Приблизительно могу сказать, что работа с типизированными файлами очень проста. Определяете нужный вам тип и данные этого типа пишите и читаете в файл/из файла. Вот примерно так:
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TRegData = record
FlyNo: String[10];
FlyDate: TDateTime;
Destination: String[50];
PassengerName: String[100];
LuggageWeight: Double;
end;
const
FILE_NAME = 'c:\typedfile.bin';
var
F: File Of TRegData;
R1, R2: TRegData;
begin
// -- Это запись в файл ------------------------------------------------------
// Открываем файл на запись
AssignFile(F, FILE_NAME);
Rewrite(F);
// Заполняем запись
R1.FlyNo := 'A100';
R1.FlyDate := StrToDate('01.01.2008');
R1.Destination := 'Зимбабве';
R1.PassengerName := 'Иванов Иван Иванович';
R1.LuggageWeight := 6.3;
// Записываем ее в файл
Writeln(F, R1);
// Закрываем файл
// -- Это чтение из файла ----------------------------------------------------
// Открываем файл на чтение
AssignFile(F, FILE_NAME);
Reset(F);
// Считываем запись
// Теперь в записях R1 и R2 одинаковые значения
Readln(F, R2);
// Закрываем файл
CloseFile(F);
end.
Для обработки нескольких записей вам нужно будет в программе завести массив записей типа TRegData
Код:
var
Data: Array [0..200] Of TRegData;
(200 - это количество записей. Для учебного примера вполне достаточно) и организовать циклы:
1) Ввода данных с подсчетом количества заполненных позиций в массиве
2) Записи данных в файл
3) Чтения данных из файла
4) Подсчета веса пассажиров и багажа для выбранного рейса
Цикл записи в файл будет примерно такой:
Код:
...
AssignFile(F, FILE_NAME);
Rewrite(F);
for i := 0 to PassengerCount - 1 do
Writeln(F, Data[i]);
...
Цикл чтения:
Код:
...
AssignFile(F, FILE_NAME);
Reset(F);
i := 0;
while not EOF(F) do begin
Readln(F, Data[i]);
i := i + 1;
end;
PassengerCount := i;
...
После того, как данные введены (или считаны из файла) нужно запросить пользователя, какой рейс (номер, дата) его интересует. Пользователь вводит номер рейса и дату, вы подсчитываете в цикле вес и вычисляете, сколько останется от заявленной грузоподъемности самолета, если все эти толстые пассажиры, по 100 килограмм каждый, займут свои места.
Вот, если приблизительно, то так.