Люблю нерешаемые задачи, в них исключения не надо проверять:)
uses
AirplaneAPI;
var
AP: Airplane;
sBuf: string;
begin
AP := new Airplane(Types.Boeing747, 'N752PA');
writeln('Пустая строка - конец посадки пассажиров');
repeat
writeln('Номер билета: ');
readln(sBuf);
if not Ticket.Verify(sBuf) then
writeln('| Неверный номер билета. Код ', Ticket.LastCode, ' |')
else
AP.Pass.Add(Ticket.getInfo(sBuf));
if ((sBuf.Length = 0) or (AP.Loaded)) then
break;
until (false);
writeln('Самолёт загружен');
end.