![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 22.12.2008
Сообщений: 4
|
![]()
Нормально компилируется, но выдает ошибку "cannot run a unit"
Имя файла программы trans.pas unit trans1; interface Type Transport=object S,stoim:real; Procedure Init(s1:real); end; Autobus=object(Transport) bustype:integer; bag:integer; bust:real; Constructor Init(bustype1, bag1:integer; s1,bust1:real); Destructor Done;virtual; Procedure Stoimost; virtual; end; Poezd=object(Transport) raintype: integer; ctype:integer; rst:integer; raint:real; Constructor Init(raintype1,ctype1,rst1:integer; s1,raint1:real); Destructor Done;virtual; Procedure Stoimost; virtual; end; Samolet=object(Transport) airt:integer; clairs:integer; airts:real; Constructor Init(airt1, clairs1:integer; s1,airts1:real); Destructor Done;virtual; Procedure Stoimost; virtual; end; implementation Procedure Transport.Init(s1:real); begin S:=s1; End; Constructor Autobus.Init(bustype1,bag1:integer; s1,bust1:real); Begin Transport.Init(s1); bustype:=bustype1; bag:=bag1; bust:=bust1; End; Destructor Autobus.Done; Begin End; Constructor Poezd.Init(raintype1,ctype1,rst1:in teger; s1,raint1:real); Begin Transport.Init(s1); Raintype:=raintype1; Ctype:=ctype1; Rst:=rst1; Raint:= raint1; End; Destructor Poezd.Done; Begin End; Constructor Samolet.Init(airt1,Clairs1:integer; s1,airts1:real); Begin Transport.Init(s1); airt:=airt1; clairs:=Clairs1; airts:=airts1; End; Destructor Samolet.Done; Begin End; Procedure Autobus.Stoimost; Begin stoim:= bustype*50 + bag*100+bust + 1.1 * S; writeln(stoim); End; Procedure Poezd.Stoimost; Begin stoim:= raintype*50 + ctype*30 + rst*55+ raint + 1.02*S; writeln(stoim); End; Procedure Samolet.Stoimost; Begin stoim:= airt*100+clairs*120 + airt + 3.7*S; End; End. Uses Crt,trans1; var: trans_type:integer; rasstoyanie: real; Procedure Autobus_Stoim() Begin Writeln (‘Введите тип автобуса’); Writeln (‘0. ПАЗ’); Writeln (‘1. Икарус’); Writeln (‘2. Мерседес’); Readlin (bustype1); Writeln (‘Имеется ли багаж? ’); Writeln (‘0. Нет’); Writeln (‘1. Да’); Readln (bag1); Readln (‘Введите другие сборы ’, bust1); Autobus.Init(bustype1,bag1,s1,bust1 ); Autobus.Stoimost; - End; Procedure Poezd_Stoim() Begin Writeln (‘Введите тип поезда’); Writeln (‘0. Пассажирский’); Writeln (‘1. Скорый’); Writeln (‘2. Фирменный’); Readln (raintype1); Writeln (‘Введите тип вагона ’); Writeln (‘0. Общий’); Writeln (‘1. Плацкартный’); Writeln (‘2. Купейный’); Writeln (‘3. Мягкий’); Readln(ctype1); Writeln (‘Укажите тип обслуживания’); Writeln (‘0. Обычный’); Writeln (‘1. Эконом’); Writeln (‘2. Коммерческий’); Readln(rst1); Readln (‘Введите другие сборы ’, raint1); Poezd.Init(raintype1,ctype1,rst1,s1 ,raint1); Poezd.Stoimost; Procedure Samolet_Stoim() Begin Writeln (‘Введите тип самолета’); Writeln (‘0. Ан-124’); Writeln (‘1. Ту-154’); Writeln (‘2. Ту-204’); Readln (raintype1); Writeln (‘Введите класс места ’); Writeln (‘0. Эконом’); Writeln (‘1. Коммерческий’); Writeln (‘2. Первый’); Readln(clairs1); Readln (‘Введите другие сборы ’, airts1); Samolet.Init(airt1,Clairs1,s1,airts 1); Samolet.Stoimost; End; Begin clrscr; writeln ('Введите тип транспорта:'); writeln ('1. Автобус'); writeln ('2. Поезд'); writeln ('3. Самолет'); read(trans_type); clrscr; (writeln 'Введите расстояние в км'); read(rasstoyanie); case trans_type of 1 : Autobus_Stoim; 2 : Poezd_Stoim; 3 : Samolet_Stoim; else exit end; End. Все выходные потратил на написание этого кода, компилируется нормально, но вот упорно выдает ошибку "cannot run a unit". Хотя в меню Compile указал Destination ->Disk, Primary file -> trans.pas Последний раз редактировалось Ink_90; 22.12.2008 в 06:32. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
![]()
Это потому что ты все запихал в unit.
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 22.12.2008
Сообщений: 4
|
![]()
В том-то и дело, что trans.tpu как отдельный файл от основной программы который начинается с
Uses Crt,trans1; var: trans_type:integer; rasstoyanie: real; и так далее по тексту.. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ADOQuery - выдает ошибку | kiber0net0 | Общие вопросы Delphi | 2 | 02.09.2008 19:49 |
Windows2003 ошибку выдает | Cantana | Windows | 11 | 07.12.2007 06:04 |
MasterSource - выдает ошибку | nataly_ukr | БД в Delphi | 10 | 12.10.2007 13:49 |
При активизации формы выдает ошибку | Canadec | Общие вопросы Delphi | 11 | 04.09.2007 12:10 |
выдает ошибку в очень глупом месте помогите пожалуйста | durexa | Помощь студентам | 2 | 24.06.2007 11:45 |