Упс, не сказал что приложение на Turbo Pascal, вот коды посмотрите что можно сделать:
Задание:
Написать информационно-поискову систему на тему ""автовокзал":
Код
Program kursova;
uses Crt,vbp;
Begin
repeat
 textcolor(14);
 textbackground(0);
 clrscr;
  gotoxy(22,10);
  writeln ('1  - Добавити автобус, маршрут');
  gotoxy(22,11);
  writeln ('2  - Пошук');
  gotoxy(22,12);
  writeln ('3  - Перегляд маршрутов, автобусов');
  gotoxy(22,13);
  writeln ('4  - Видалення маршрутов, автобусов');
  gotoxy(22,14);
  writeln ('5  - Автор(c)');
  gotoxy(22,15);
  writeln ('6  - Вихiд');
   c := readkey;
  case c of
         '1' : A1;
         '2' : A4;
     '3' : A2;
     '4' : A3;
     '5' : author;
     '6' :;
end;
 until c = '6';
end.
это меню
Код
Unit vbp;
Interface
uses Crt;
var
 c : char;
{///////////////////////////// Типи  /////////////////////////////////////////}
Type vodila = record {тип для водителя}
     id          : integer;
     name        : string;
end;
Type avtobus     = record {тип для автобуса}
     id         : integer;
     name       : string;
     id_vod    : integer;
end;
Type marshruts    = record {тип для маршрутов}
     id         : integer;
     name       : string;
     id_bus   : integer;
     id_vod    : integer;
     cina_bil    : integer;
end;
{Опис процедур}
Procedure author;
procedure add_vod;
Procedure add_bus;
Procedure add_marshruts;
Procedure dir_vod;
Procedure dir_bus;
Procedure dir_marshruts;
Procedure del_vod;
Procedure del_bus;
Procedure del_marshruts;
procedure A1;
procedure A2;
procedure A3;
Procedure A4;
Procedure search_av;
Procedure search_sp;
Procedure search_cin;
implementation
procedure add_vod;
 var
    f1,f2: file of Vodila;
    a: Vodila;
    b: Vodila;
    i: integer;
 begin
 clrscr;
 writeln('ADD Vodila');
 {1}
 Assign(f1,'vod.txt');
 Assign(f2,'vod.bak');
 reset(f1);
 rewrite(f2);
while not Eof(f1) do
begin
     read(f1,a);
     write(f2,a);
end;
 Close(f1);
 Close(f2);
{/1}
{2}
Assign(f1,'vod.txt');
Assign(f2,'vod.bak');
 rewrite(f1);
 reset(f2);
while not Eof(f2) do
begin
     read(f2,a);
    write(f1,a);
end;
  writeln('Введiть нового водiя ');
  readln(a.name); {Добавлення нового водiя}
  a.id:=a.id+1;
  write(f1,a); {rec main to file}
Close(f1);
Close(f2);
 writeln('end!');
 readkey;
 end;
Procedure add_bus;
var
    f1,f2: file of Avtobus;
    f3   : file of Vodila;
    a    : Avtobus;
    b    : Vodila;
    i    : integer;
    kk,kkk:integer;
    v_st : string;
Begin
      clrscr;
      writeln('ADD Avtobus');
 {1}
      Assign(f1,'bus.txt');
      Assign(f2,'bus.bak');
      reset(f1);
      rewrite(f2);
     while not Eof(f1) do
begin
     read(f1,a);
     write(f2,a);
end;
     Close(f1);
     Close(f2);
{/1}
{2}
     Assign(f1,'bus.txt');
     Assign(f2,'bus.bak');
     rewrite(f1);
     reset(f2);
while not Eof(f2) do
begin
     read(f2,a);
   write(f1,a);
end;
  writeln('Введiть номер нового автобуса');
  readln(a.name); {Добавление автобуса}
  a.id:=a.id+1;
  {----- Вичитуєм водитель ------------}
 Assign(f3,'vod.txt');
 reset(f3);
writeln('_______________________________________________________________');
writeln('      id водiя               | I"мя    водiя                   ');
writeln('_______________________________________________________________');
while not Eof(f3) do
begin
read(f3,b);
   str(b.id,v_st);
      kk:=length(v_st);
      for kkk:=kk to 10 do v_st:=' '+v_st;
      v_st:=v_st+'                  |  ';
      kk:=length(b.name);
      for kkk:=kk to 21 do b.name:=b.name+' ';
Writeln(v_st,b.name);
end;
writeln('_______________________________________________________________');
Close(f3);
{----- end -----------------}
   writeln;
   writeln('Увага:  Якщо id не буде спiвпадати, то автобус не буде добавлений!');
   writeln;
   writeln('До якого водiя закрiпити автобус ? (id)');
  readln(a.id_vod);
  Assign(f3,'vod.txt');
  reset(f3);
  {нижче умова яка  не буде записувати в файл якщо id не сп?впадає!}
  while not Eof(f3) do
begin
     read(f3,b);
     if (a.id_vod=b.id) then write(f1,a);
end;
Close(f3);
Close(f1);
Close(f2);
 writeln('end!');
 readkey;
end;
Procedure add_marshruts;
var
    f1,f2: file of Marshruts;
    f3   : file of Avtobus;
    a    : Marshruts;
    b    : Avtobus;
    i    : integer;
    v_st : string;
    kk,kkk:integer;
Begin
      clrscr;
      writeln('ADD Marshrut');
 {1}
      Assign(f1,'marsh.txt');
      Assign(f2,'marsh.bak');
      reset(f1);
      rewrite(f2);
{Запис c коп?ї marsh.txt  в marsh.bак}
     while not Eof(f1) do
begin
     read(f1,a);
     write(f2,a);
end;
     Close(f1);
     Close(f2);
{/1}
{2}
     Assign(f1,'marsh.txt');
     Assign(f2,'marsh.bak');
     rewrite(f1);
     reset(f2);
while not Eof(f2) do
begin
     read(f2,a);
   write(f1,a);
end;
  a.id:=a.id+1;
  writeln('Введiть новий маршрут');
  readln(a.name); {Добавления маршрута}
  Writeln('Введiть цiну бiлета ');
  readln(a.cina_bil);
Assign(f3,'bus.txt');
reset(f3);
{~}
writeln('_____________________________________________');
writeln('      id автобуса |   Номер   автобуса       ');
writeln('_____________________________________________');
{~}
while not Eof(f3) do
begin
read(f3,b);
   str(b.id,v_st);
      kk:=length(v_st);
      for kkk:=kk to 11 do v_st:=' '+v_st;
      v_st:=v_st+'      |  ';
      kk:=length(a.name);
      for kkk:=kk to 21 do a.name:=a.name+' ';
writeln(v_st,b.name);
end;
writeln('_____________________________________________');
Close(f3);
  {----- end -----------------}
   writeln;
   writeln('Увага: Якщо id не буде спiвпадати, то маршрут не буде добавлений!');
   writeln;
   writeln('До якого автобуса закрiпити маршрут  (id)');
  readln(a.id_bus);
  assign(f3,'bus.txt');
  reset(f3);
  {нижче умова яка не буде записувати в файл якщо id не спiвпадає!}
  while not Eof(f3) do
begin
     read(f3,b);
      if a.id_bus=b.id then
     begin
          a.id_vod:=b.id_vod; {ok}
          write(f1,a);
     end;
end;
Close(f3);
Close(f1);
Close(f2);
 writeln('end!');
 readkey;
end;
Procedure dir_vod;
var
f1: file of Vodila;
a: Vodila;
kk,kkk:integer;
v_st:string;
Begin
clrscr;
Assign(f1,'vod.txt');
reset(f1);
writeln('_______________________________________________________________');
writeln('      id водiя               | i"мя водiя                      ');
writeln('_______________________________________________________________');
while not Eof(f1) do
begin
read(f1,a);
   str(a.id,v_st);
      kk:=length(v_st);
      for kkk:=kk to 10 do v_st:=' '+v_st;
      v_st:=v_st+'                  |  ';
      kk:=length(a.name);
      for kkk:=kk to 21 do a.name:=a.name+' ';
Writeln(v_st,a.name);
end;
writeln('_______________________________________________________________');
Close(f1);
readkey;
end;
Procedure dir_bus;
var
f1     : file of Vodila;
f2     : file of Avtobus;
a,a_sp : Vodila;
b      : Avtobus;
kk,kkk : integer;
v_st   : string;
Begin
clrscr;
Assign(f2,'bus.txt');
reset(f2);
{~}
writeln('________________________________________________________________________');
writeln('      id автобуса |   Номер автобуса        | водiй автобуса         ');
writeln('________________________________________________________________________');
{~}
while not Eof(f2) do
begin
read(f2,b);
         Assign(f1,'vod.txt');
         reset(f1);
         while not Eof(f1) do
         begin
              read(f1,a);
              if b.id_vod=a.id then a_sp.name:=a.name;
         end;
         Close(f1);
      str(b.id,v_st);
      kk:=length(v_st);
      for kkk:=kk to 7 do v_st:=' '+v_st;
      v_st:=v_st+'          |  ';
      kk:=length(b.name);
      for kkk:=kk to 21 do b.name:=b.name+' ';
      b.name:=b.name+' | ';
      kk:=length(a_sp.name);
      for kkk:=kk to 11 do a_sp.name:=a_sp.name+' ';
writeln(v_st, b.name,a_sp.name);
end;
writeln('________________________________________________________________________');
Close(f2);
{Close(f1);}
readkey;
end;
Procedure dir_marshruts;
var
f1      : file of vodila;
f2      : file of avtobus;
f3      : file of marshruts;
a,a_sp  : vodila;
b,b_gr  : avtobus;
v       : marshruts;
kk,kkk  : integer;
v_st,v_st2 : string;
Begin
clrscr;
Assign(f3,'marsh.txt');
reset(f3);
{~}
writeln('__________________________________________________________________________');
writeln('id маршрут|    маршрут             |  автобус |  водiй       | цiна бiлета  ');
writeln('__________________________________________________________________________');
{~}
while not Eof(f3) do
begin
    read(f3,v);
         Assign(f2,'bus.txt');
         reset(f2);
         while not Eof(f2) do
         begin
              read(f2,b);
              if v.id_bus=b.id then b_gr.name:=b.name;
         end;
         Close(f2);
              Assign(f1,'vod.txt');
              reset(f1);
              while not Eof(f1) do
         begin
              read(f1,a);
              if v.id_vod=a.id then a_sp.name:=a.name;
         end;
         Close(f1);
      str(v.id,v_st);
      kk:=length(v_st);
      for kkk:=kk to 4 do v_st:=' '+v_st;
      v_st:=v_st+'     | ';
      kk:=length(v.name);
      for kkk:=kk to 22 do v.name:=v.name+' ';
      v.name:=v.name+'| ';
      kk:=length(b_gr.name);
      for kkk:=kk to 8 do b_gr.name:=b_gr.name+' ';
      b_gr.name:=b_gr.name+'| ';
      kk:=length(a_sp.name);
      for kkk:=kk to 12 do a_sp.name:=a_sp.name+' ';
      a_sp.name:=a_sp.name+'| ';
      str(v.cina_bil,v_st2);
      kk:=length(v_st2);
      for kkk:=kk to 7 do v_st2:=' '+v_st2;
    writeln(v_st,v.name,b_gr.name,a_sp.name,v_st2);
end;
writeln('__________________________________________________________________________');
{Close(f2);
}
{Close(f1);}
Close(f3);
readkey;
end;
Procedure del_vod;
var
f1,f2  :file of vodila;
f3,f4  :file of avtobus;
f5,f6  :file of marshruts;
a,aa   :vodila;
b      :avtobus;
s      :marshruts;
v_st   :string;
kk,kkk :integer;
Begin
     clrscr;
     {1 записуемо в  бек}
      Assign(f1,'vod.txt');
      Assign(f2,'vod.bak');
      reset(f1);
      rewrite(f2);
writeln('_______________________________________________________________');
writeln('      id водiя               | I"мя водiя                      ');
writeln('_______________________________________________________________');
      while not Eof(f1) do
      begin
          read(f1,a);
   str(a.id,v_st);
      kk:=length(v_st);
      for kkk:=kk to 10 do v_st:=' '+v_st;
      v_st:=v_st+'                  |  ';
      kk:=length(a.name);
      for kkk:=kk to 21 do a.name:=a.name+' ';
          Writeln(v_st, a.name);
          write(f2,a);
      end;
      Close(f1);
      Close(f2);
      Assign(f3,'bus.txt');
      Assign(f4,'bus.bak');
      reset(f3);
      rewrite(f4);
      while not Eof(f3) do
      begin
          read(f3,b);
          write(f4,b);
      end;
      Close(f3);
      Close(f4);
      Assign(f5,'marsh.txt');
      Assign(f6,'marsh.bak');
      reset(f5);
      rewrite(f6);
      while not Eof(f5) do
      begin
          read(f5,s);
          write(f6,s);
      end;
      Close(f5);
      Close(f6);
   writeln('_______________________________________________________________');
     writeln('Введiть id водiя  для Видалення   ');
     readln(aa.id);
      Assign(f1,'vod.txt');
      Assign(f2,'vod.bak');
      reset(f2);
      rewrite(f1);
      while not Eof(f2) do
      begin
           read(f2,a);
           if aa.id<>a.id then
           begin
                write(f1,a);
           end;
      end;
      Assign(f3,'bus.txt');
      Assign(f4,'bus.bak');
      reset(f4);
      rewrite(f3);
      while not Eof(f4) do
      begin
           read(f4,b);
           if aa.id<>b.id_vod then
           begin
                write(f3,b);
           end;
      end;
      Assign(f5,'marsh.txt');
      Assign(f6,'marsh.bak');
      reset(f6);
      rewrite(f5);
      while not Eof(f6) do
      begin
           read(f6,s);
           if aa.id<>s.id_vod then
           begin
                write(f5,s);
           end;
      end;
readkey;
end;
Procedure del_bus;
var
f1,f2       :file of vodila;
f3,f4       :file of avtobus;
f5,f6       :file of marshruts;
a,a_sp      :vodila;
b,bb        :avtobus;
s           :marshruts;
kk,kkk       :integer;
v_st        :string;
Begin
     clrscr;
     {1 робимо бек}
      Assign(f3,'bus.txt');
      Assign(f4,'bus.bak');
      reset(f3);
      rewrite(f4);
{~}
writeln('________________________________________________________________________');
writeln('      id автобуса |   Номер  автобуса       | водiй автобуса         ');
writeln('________________________________________________________________________');
{~}
while not Eof(f3) do
begin
read(f3,b);
         Assign(f1,'vod.txt'); {водiй - f1}
         reset(f1);
         while not Eof(f1) do
         begin
              read(f1,a);
              if b.id_vod=a.id then a_sp.name:=a.name;
         end;
         Close(f1);
      str(b.id,v_st);
      kk:=length(v_st);
      for kkk:=kk to 7 do v_st:=' '+v_st;
      v_st:=v_st+'          |  ';
      kk:=length(b.name);
      for kkk:=kk to 21 do b.name:=b.name+' ';
      b.name:=b.name+' | ';
      kk:=length(a_sp.name);
      for kkk:=kk to 11 do a_sp.name:=a_sp.name+' ';
writeln(v_st,b.name,a_sp.name);
write(f4,b); {rec bak}
end;
Close(f3);
Close(f4);
{*************************************}
      Assign(f5,'marsh.txt');
      Assign(f6,'marsh.bak');
      reset(f5);
      rewrite(f6);
     while not Eof(f5) do
      begin
          read(f5,s);
          write(f6,s);
      end;
      Close(f5);
      Close(f6);
       writeln('_______________________________________________________________');
     writeln('Введiть id автобуса  для Видалення   ');
     readln(bb.id);
      Assign(f3,'bus.txt');
      Assign(f4,'bus.bak');
      reset(f4);
      rewrite(f3);
      while not Eof(f4) do
      begin
           read(f4,b);
           if bb.id<>b.id then {видалення}
           begin
                write(f3,b);
           end;
      end;
      Assign(f5,'marsh.txt');
      Assign(f6,'marsh.bak');
      reset(f5);
      rewrite(f6);
      while not eof(f5) do
      begin
      read(f5,s);
      write(f6,s);
      end;
      Close(f5);
      Close(f6);
      Assign(f5,'marsh.txt');
      Assign(f6,'marsh.bak');
      reset(f6);
      rewrite(f5);
      while not Eof(f6) do
      begin
           read(f6,s);
           if bb.id<>s.id_bus then {видалення}
           begin
                write(f5,s);
           end;
      end;
      Close(f5);
      Close(f6);
readkey;
end;
Procedure del_marshruts;
var
    f1,f2: file of marshruts;
    a,b: marshruts;
    kk,kkk:integer;
    v_st,v_st2:string;
Begin
 clrscr;
 writeln('DEL marshruts');
 {1}
 Assign(f1,'marsh.txt');
 Assign(f2,'marsh.bak');
 reset(f1);
 rewrite(f2);
{~}
writeln('__________________________________');
writeln('      id   |   маршрут          ');
writeln('__________________________________');
{~}
{Запис c копiї vod.txt  в vod.bак}
while not Eof(f1) do
begin
     read(f1,a);
      str(a.id,v_st);
      kk:=length(v_st);
      for kkk:=kk to 7 do v_st:=' '+v_st;
      v_st:=v_st+'   | ';
      kk:=length(a.name);
      for kkk:=kk to 18 do a.name:=a.name+' ';
      a.name:=a.name+' ';
      writeln(v_st,a.name);
     write(f2,a);
end;
writeln('__________________________________');
 Close(f1);
 Close(f2);
{/1}
{2}
Assign(f1,'marsh.txt');
Assign(f2,'marsh.bak');
 rewrite(f1);
 reset(f2);
  writeln;
   writeln('Увага: Якщо id не буде спiвпадати, то маршрут не буде Видалений!');
   writeln;
 Writeln('Який маршрут Ви хочете видалити? (ID)');
 Readln(b.id); {DELTE!}
while not Eof(f2) do
begin
     read(f2,a);
     if a.id<>b.id then
     begin
            write(f1,a);
     end;
end;
Close(f1);
Close(f2);
readkey;
end;
Procedure search_av;
var
f1      : file of marshruts;
f2      : file of avtobus;
f3      : file of vodila;
a       : marshruts;
b,b2,b_gr  : avtobus;
s,s_sp  : vodila;
kk,kkk  : integer;
v_st,v_st2: string;
Begin
clrscr;
Assign(f2,'bus.txt');
reset(f2);
{~}
writeln('________________________________________________________________________');
writeln('      id автобуса |   Номер автобуса        | водiй автобуса            ');
writeln('________________________________________________________________________');
{~}
while not Eof(f2) do
begin
read(f2,b);
         Assign(f3,'vod.txt'); {водiй - f1}
         reset(f3);
         while not Eof(f3) do
         begin
              read(f3,s);
              if b.id_vod=s.id then s_sp.name:=s.name;
         end;
         Close(f3);
      str(b.id,v_st);
      kk:=length(v_st);
      for kkk:=kk to 7 do v_st:=' '+v_st;
      v_st:=v_st+'          |  ';
      kk:=length(b.name);
      for kkk:=kk to 21 do b.name:=b.name+' ';
      b.name:=b.name+' | ';
      kk:=length(s_sp.name);
      for kkk:=kk to 11 do s_sp.name:=s_sp.name+' ';
writeln(v_st,b.name,s_sp.name);
end;
writeln('________________________________________________________________________');
Writeln('Виберiть автобус (ID)');
readln(b2.id);
Assign(f1,'marsh.txt');
reset(f1);
{~}
writeln('__________________________________________________________________________');
writeln('id маршрута|     маршрут           |   автобус | iмя водiя     | цiна бiлета ');
writeln('__________________________________________________________________________');
{~}
while not Eof(f1) do
begin
     read(f1,a);
     if b2.id=a.id_bus then
     begin
{ Вичисляємо автобус для маршруту и по id}
         Assign(f2,'bus.txt');
         reset(f2);
         while not Eof(f2) do
         begin
              read(f2,b);
              if a.id_bus=b.id then b_gr.name:=b.name;
         end;
         Close(f2);
{************************* ************************************}
{Вичисляємо водiя для маршруту по id}
              Assign(f3,'vod.txt');
              reset(f3);
              while not Eof(f3) do
         begin
              read(f3,s);
              if a.id_vod=s.id then s_sp.name:=s.name;
         end;
         Close(f3);
{ *****************************************************************}
      str(a.id,v_st);
      kk:=length(v_st);
      for kkk:=kk to 5 do v_st:=' '+v_st;
      v_st:=v_st+'     | ';
      kk:=length(a.name);
      for kkk:=kk to 18 do a.name:=a.name+' ';
      a.name:=a.name+'| ';
      kk:=length(b_gr.name);
      for kkk:=kk to 9 do b_gr.name:=b_gr.name+' ';
      b_gr.name:=b_gr.name+'| ';
      kk:=length(s_sp.name);
      for kkk:=kk to 13 do s_sp.name:=s_sp.name+' ';
      s_sp.name:=s_sp.name+'| ';
      str(a.cina_bil,v_st2);
      kk:=length(v_st2);
      for kkk:=kk to 7 do v_st2:=' '+v_st2;
     writeln(v_st,a.name,b_gr.name,s_sp.name,v_st2);
     end;
end;
Close(f1);
readkey;
end;
Procedure search_cin;
var
f1    : file of vodila;
f2    : file of avtobus;
f3    : file of marshruts;
a,a_sp: vodila;
b,b_gr: avtobus;
v,v2  : marshruts;
kk,kkk:integer;
v_st,v_st2:string;
Begin
Clrscr;
Writeln('Пошук маршрута за цiною бiлета');
Writeln('Введiть цiну бiлета?');
readln(v2.cina_bil);
 Assign(f3,'marsh.txt');
 reset(f3);
{~}
writeln('__________________________________________________________________________');
writeln('id маршрута|    маршрут            | автобус   | водiй         | цiна бiлета  ');
writeln('__________________________________________________________________________');
{~}
 while not Eof(f3) do
 begin
 read(f3,v);
 if v2.cina_bil=v.cina_bil then {условия}
 begin
{Вичисляємо автобус для маршруту  по id }
         Assign(f2,'bus.txt');
         reset(f2);
         while not Eof(f2) do
         begin
              read(f2,b);
              if v.id_bus=b.id then b_gr.name:=b.name;
         end;
         Close(f2);
{*************************************************************}
{Вичисляємо водiя для маршруту по id}
              Assign(f1,'vod.txt'); {водiй - f1}
              reset(f1);
              while not Eof(f1) do
         begin
              read(f1,a);
              if v.id_vod=a.id then a_sp.name:=a.name;
         end;
         Close(f1);
{ *****************************************************************}
      str(v.id,v_st);
      kk:=length(v_st);
      for kkk:=kk to 5 do v_st:=' '+v_st;
      v_st:=v_st+'     | ';
      kk:=length(v.name);
      for kkk:=kk to 18 do v.name:=v.name+' ';
      v.name:=v.name+'| ';
      kk:=length(b_gr.name);
      for kkk:=kk to 9 do b_gr.name:=b_gr.name+' ';
      b_gr.name:=b_gr.name+'| ';
      kk:=length(a_sp.name);
      for kkk:=kk to 13 do a_sp.name:=a_sp.name+' ';
      a_sp.name:=a_sp.name+'| ';
      str(v.cina_bil,v_st2);
      kk:=length(v_st2);
      for kkk:=kk to 7 do v_st2:=' '+v_st2;
    writeln(v_st,v.name,b_gr.name,a_sp.name,v_st2);
writeln('________________________________________________________________________');
 end;
 end;
 Close(f3);
Readkey;
end;
Procedure search_sp;
var
f1        : file of vodila;
f2        : file of marshruts;
f3        : file of avtobus;
a,a2,a_sp : vodila;
g,g_gr    : avtobus;
b         : marshruts;
kk,kkk    : integer;
v_st,v_st2: string;
Begin
clrscr;
Assign(f1,'vod.txt');
Assign(f2,'marsh.txt');
reset(f1);
reset(f2);
writeln('_______________________________________________________________');
writeln('      id водiя                  |iмя   водiя                   ');
writeln('_______________________________________________________________');
while not Eof(f1) do
begin
read(f1,a);
Writeln('       ',a.id, '             ','        |     ', a.name,'            ');
end;
writeln('_______________________________________________________________');
Writeln('Введiть водiя (id) ');
readln(a2.id);
Close(f1);
Close(f2);
{`````````````````````````````````````````````}
{~}
writeln(& #39;____________________________________________________________________________
__');
writeln('id маршрута|     маршрут           |   автобус | вод1й         | цiна бiлета  ');
writeln(& #39;____________________________________________________________________________
__');
{~}
assign(f2,'marsh.txt');
reset(f2);
while not Eof(f2) do
begin
     read(f2,b);
     if b.id_vod=a2.id then
    begin
{Вичисляємо автобус для маршрута  по id}
         Assign(f3,'bus.txt');
         reset(f3);
         while not Eof(f3) do
         begin
              read(f3,g);
              if b.id_bus=g.id then g_gr.name:=g.name;
         end;
         Close(f3);
{************************************************************}
{Вичисялємо водiя для маршрута по id}
              Assign(f1,'vod.txt');
              reset(f1);
              while not Eof(f1) do
         begin
              read(f1,a);
              if b.id_vod=a.id then a_sp.name:=a.name;
         end;
         Close(f1);
{ *****************************************************************}
      str(b.id,v_st);
      kk:=length(v_st);
      for kkk:=kk to 5 do v_st:=' '+v_st;
      v_st:=v_st+'     | ';
      kk:=length(b.name);
      for kkk:=kk to 18 do b.name:=b.name+' ';
      b.name:=b.name+'| ';
      kk:=length(g_gr.name);
      for kkk:=kk to 9 do g_gr.name:=g_gr.name+' ';
      g_gr.name:=g_gr.name+'| ';
      kk:=length(a_sp.name);
      for kkk:=kk to 13 do a_sp.name:=a_sp.name+' ';
      a_sp.name:=a_sp.name+'| ';
      str(b.cina_bil,v_st2);
      kk:=length(v_st2);
      for kkk:=kk to 7 do v_st2:=' '+v_st2;
    writeln(v_st,b.name,g_gr.name,a_sp.name,v_st2);
    end;
end;
writeln(& #39;____________________________________________________________________________
');
readkey;
end;
{Кiнець процедур search  bil }
  procedure A1;
    begin
   clrscr;
   repeat
  clrscr;
  writeln ('1  - Добавити водiя,');
  writeln ('2  - Добавити автобус');
  writeln ('3  - Добавити маршрут');
  writeln ('4  - Повернутися в Головне Меню');
  c := readkey;
  case c of
         '1' :add_vod;
         '2' :add_bus;
         '3' :add_marshruts;
         '4' :;
      end;
 until c = '4';
   end;
{Кiнець A1 }
{A2 }
procedure A2;
    begin
   clrscr;
   repeat
  clrscr;
  writeln ('1  - Перегляд вс1х водiiв');
  writeln ('2  - Перегляд вс1х автобусiв');
  writeln ('3  - Перегляд вс1х  маршрутiв');
  writeln ('4  - Повернутися в Головне Меню');
  c := readkey;
  case c of
         '1' :dir_vod;
         '2' :dir_bus;
     '3' :dir_marshruts;
         '4' :;
      end;
 until c = '4';
 end;
{/A2}
{A3}
procedure A3;
    begin
   clrscr;
   repeat
  clrscr;
  writeln ('1  - Видалення водiiв');
  writeln ('2  - Видалення автобусiв');
  writeln ('3  - Видалення  маршрутiв');
  writeln ('4  - Повернутися в Головне Меню');
  c := readkey;
  case c of
         '1' :del_vod;
         '2' :del_bus;
     '3' :del_marshruts;
         '4' :;
      end;
 until c = '4';
 end;
{/А3}
{A4}
procedure A4;
    begin
   clrscr;
   repeat
  clrscr;
  writeln ('1  - Пошук маршрутiв за автобусом');
  writeln ('2  - Пошук маршрутiв за водiэм');
  writeln ('3  - Пошук маршрутiв за цiною бiлета');
  writeln ('4  - Вихiд');
  c := readkey;
  case c of
         '1' :search_av;
         '2' :search_sp;
         '3' :search_cin;
         '4' :;
      end;
 until c = '4';
 end;
{/A4}
Procedure author;
Begin
ClrScr;
writeln;
gotoxy(22,8);
Writeln('Курсова робота');
gotoxy(22,10);
Writeln('В-6');
gotoxy(22,12);
Writeln('Виконав');
gotoxy(22,14);
Writeln('Литвин Тарас Володимирович');
gotoxy(22,15);
Writeln('група ММК-61');
readkey;
End;
end.
это модуль
А как их обьеденить, или как у билдере сделать файл-модуль?