Implementation
constructor TLesson.Create(KindLesson, DisciplineLesson, TeacherLesson, ClassRoomLesson, GroupLesson : String; CoursLesson : Byte; TimeLesson : TTimeEvent);
begin
self.Kind:=KindLesson;
self.Discipline:=DisciplineLesson;
self.Teacher:=TeacherLesson;
self.ClassRoom:=ClassRoomLesson;
self.Group:=GroupLesson;
self.Cours:=CoursLesson;
self.Time:=TimeLesson;
end;
constructor TLesson.Create;
begin
Writeln('Kind');
Readln(self.Kind);
Writeln('Discipline');
Readln(self.Discipline);
Writeln('Teacher');
Readln(self.Teacher);
Writeln('ClassRoom');
Readln(self.ClassRoom);
Writeln('Group');
Readln(self.Group);
Writeln('Cours');
Readln(self.Cours);
Writeln('Time poch v god');
Readln(self.Time.BeginEvent.Hour);
Writeln('Time poch v hv');
Readln(self.Time.BeginEvent.Minute);
Writeln('Time Kin v god');
Readln(self.Time.EndEvent.Hour);
Writeln('Time Kin v hv');
Readln(self.Time.EndEvent.Minute);
end;
procedure TLesson.Print;
begin
Writeln (self.Kind);
Writeln (self.Discipline);
Writeln (self.Teacher);
Writeln (self.ClassRoom);
Writeln (self.Group);
Writeln (self.Cours);
Writeln (self.Time.BeginEvent.Hour);
Writeln (self.Time.BeginEvent.Minute);
Writeln (self.Time.EndEvent.Hour);
Writeln (self.Time.EndEvent.Minute);
end;
function TLesson.GetKind : String;
begin
result:=self.Kind;
end;
function TLesson.GetDiscipline : String;
begin
result:=self.Discipline;
end;
function TLesson.GetTeacher: String;
begin
result:=self.Teacher;
end;
function TLesson.GetClassRoom: String;
begin
result:=self.ClassRoom;
end;
function TLesson.GetGroup: String;
begin
result:=self.Group;
end;
function TLesson.GetCours: Byte;
begin
result:=self.Cours;
end;
function TLesson.GetBegin: TTime;
begin
result:=self.Time.BeginEvent;
end;
function TLesson.GetEnd: TTime;
begin
result:=self.Time.EndEvent;
end;
function TLesson.GetDuration: TTime;
var a,b:Integer; q,m,n:TTime;
begin
Writeln;
Writeln('Time poch v god');
Readln(self.Time.BeginEvent.Hour);
Writeln('Time poch v hv');
Readln(self.Time.BeginEvent.Minute);
Writeln('Time Kin v god');
Readln(self.Time.EndEvent.Hour);
Writeln('Time Kin v hv');
Readln(self.Time.EndEvent.Minute);
if self.Time.EndEvent.Minute >self.Time.BeginEvent.Minute then
begin
a:=self.Time.EndEvent.Minute-self.Time.BeginEvent.Minute;
n.Minute:=a;
end;
if self.Time.EndEvent.Hour>self.Time.BeginEvent.Hour then
begin
b:=self.Time.EndEvent.Hour-self.Time.BeginEvent.Hour;
n.Hour:=b;
end;
if self.Time.EndEvent.Minute<self.Time.BeginEvent.Minute then
begin
self.Time.EndEvent.Hour:=self.Time.EndEvent.Hour-1;
a:=(self.Time.EndEvent.Minute+60)-self.Time.BeginEvent.Minute;
n.Minute:=a ;
b:=self.Time.EndEvent.Hour-self.Time.BeginEvent.Hour;
n.Hour:=b;
end;
result:=n;
end;
function TLesson.GetRemain(NowTime : TTime): TTime;
var a,b:Integer; m,q:TTime;
begin
Writeln;
Writeln('Time zaraz v god');
Readln(q.Hour);
Writeln('Time zaraz v hv');
Readln(q.Minute);
Writeln('Time Kin v god');
Readln(self.Time.EndEvent.Hour);
Writeln('Time Kin v hv');
Readln(self.Time.EndEvent.Minute);
if self.Time.EndEvent.Minute>q.Minute then
begin
a:=self.Time.EndEvent.Minute-q.Minute;
m.Minute:=a;
end;
if self.Time.EndEvent.Hour>q.Hour then
begin
b:=self.Time.EndEvent.Hour-q.Hour;
m.Hour:=b;
end;
if self.Time.EndEvent.Minute< q.Minute then
begin
self.Time.EndEvent.Hour:=self.Time.EndEvent.Hour-1;
a:=(self.Time.EndEvent.Minute+60)-q.Minute;
m.Minute:=a ;
b:=self.Time.EndEvent.Hour-q.Hour;
m.Hour:=b;
end;
result:=m;
end;
end.