Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.04.2014, 19:20
WishHunter WishHunter вне форума
Прохожий
 
Регистрация: 19.04.2014
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
Печаль Примитивное задание

Народ, я заочник, поэтому мягко сказать нуб пока, помогите если не трудно с контрольным заданием!!! Очень прошу

Модуль содержит описание типа-объекта TRect – прямоугольник.

1. Используя этот модуль, написать программу, изображающую на
экране мигающий прямоугольник. Изменить модуль, объявив часть полей
личными.

2. Написать свой модуль, в котором описать два новых объекта,
наследующих от TRect : прямоугольник, способный случайным образом
изменять размеры, цвет и стиль заполнения, и эллипс, обладаюший таким же
поведением. Составить программу, изображающую на одной половине
экрана мигающий прямоугольник, а на другой - мигающий эллипс.

3. Создать новый объект "Среда", который мог бы занимать весь экран
или его часть и содержать внутри себя четыре объекта, вид объектов
определяется случайно при инициализации среды из объектов, созданных в
результате выполнения пункта 2. Объекты размещаются каждый в своем
квадранте и при выполнении программы изменяют свои параметры.

Буду вам премного благодарен!
Ответить с цитированием
  #2  
Старый 19.04.2014, 22:25
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,090
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну и где этот модуль???
Кстати, TRect уже есть в Delphi, только это, если не ошибаюсь, запись, а не класс.
Ответить с цитированием
  #3  
Старый 20.04.2014, 19:03
WishHunter WishHunter вне форума
Прохожий
 
Регистрация: 19.04.2014
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
unit Rectangl;
  
interface
uses Graph, Crt;
  
const EnvColor = white ; { цвет фона }
  
type
  
 TRect = object { тип объекта "прямоугольник" }
 X, Y : integer; { координаты центра }
 SizeX, SizeY : integer; { размеры }
 Color : byte; { цвет }
 FillStyle : byte; { способ закраски }
 Filled : Boolean; { флаг закраски }
 Visible : Boolean; { флаг видимости }
 procedure Init(InitX,InitY,InitSizeX,InitSizeY : 
 10
 integer; InitColor,InitFillStyle : byte);
 {Начальная установка параметров прямоугольника }
 procedure Show;
 { Высвечивает прямоугольник на экране }
 procedure Hide;
 { гасит изображение прямоугольника }
 function IsVisible : boolean;
 { Возвращает значение флага видимости }
 function IsFilled : boolean;
 { Возвращает значение флага закраски }
 function GetFigureColor : byte;
 { Возвращает значение цвета прямоугольника }
 function GetX : integer;
 { Возвращает X координату центра }
 function GetY : integer;
 { Возвращает Y координату центра }
 function GetWidth : integer;
 { Возвращает размер прямоугольника по оси X }
 function GetHeight : integer;
 { Возвращает размер прямоугольника по оси Y }
 procedure SetVisibilityFlag (NewVisible:boolean);
 { Устанавливает флаг видимости объекта }
 procedure SetFillFlag (NewFilled : boolean);
 { Устанавливает флаг закраски объекта }
 procedure SetFillStyleM(InitFillStyle : byte) ;
 { Устанавливает способ закраски объекта }
 procedure SetFigureColor(TheColor : byte);
 { Устанавливает цвет объекта }
 end;
  
implementation
{************ методы TRect **************}
  
procedure TRect.Init;
begin
 X := InitX; Y := InitY;
 SizeX := InitSizeX; SizeY := InitSizeY;
 SetFigureColor(InitColor);
 SetVisibilityFlag(true);
 SetFillStyleM(InitFillStyle);
 SetFillFlag(true);
end;
  
function TRect.IsVisible : boolean;
begin
 IsVisible := Visible; 
 11
end;
  
function TRect.IsFilled : boolean;
begin
 IsFilled := Filled;
end;
  
function TRect.GetFigureColor : byte;
begin
 GetFigureColor := Color;
end;
  
function TRect.GetX : integer;
begin
 GetX := X;
end;
  
function TRect.GetY : integer;
begin
 GetY := Y;
end;
  
function TRect.GetWidth : integer;
begin
 GetWidth := SizeX;
end;
  
function TRect.GetHeight : integer;
begin
 GetHeight := SizeY;
end;
  
procedure TRect.Hide; { гасит изображение объекта }
begin
 SetColor(EnvColor);
 SetFillStyle(EmptyFill, Color);
 if Filled
 then Bar( X - SizeX div 2, Y - SizeY div 2,
 X + SizeX div 2, Y + SizeY div 2 )
 else Rectangle( X-SizeX div 2, Y-SizeY div 2,
 X+SizeX div 2, Y+SizeY div 2 )
end;
  
procedure TRect.SetVisibilityFlag ;
begin
 Visible := NewVisible;
end;
   
 12
procedure TRect.SetFillFlag ;
begin
 Filled := NewFilled;
end;
  
procedure TRect.SetFillStyleM(InitFillStyle: byte) ;
begin
 FillStyle := InitFillStyle;
end;
  
procedure TRect.SetFigureColor(TheColor : byte);
begin
 Color := TheColor;
end;
  
procedure TRect.Show; {высвечивает объект на экране}
begin
 if Visible then begin
 SetColor(Color);
 SetFillStyle(FillStyle, Color);
 if Filled
 then Bar( X - SizeX div 2, Y - SizeY div 2,
 X + SizeX div 2, Y + SizeY div 2 )
 else Rectangle( X-SizeX div 2, Y-SizeY div 2,
 X+SizeX div 2, Y+SizeY div 2 )
 end;
end;
  
end.
Ответить с цитированием
  #4  
Старый 20.04.2014, 21:00
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,090
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А что это за старьё от TurboPascal???
Это все надо переписывать...
Ответить с цитированием
  #5  
Старый 21.04.2014, 01:21
WishHunter WishHunter вне форума
Прохожий
 
Регистрация: 19.04.2014
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Понимаю, но уж что дали, с преподом бесполезно спорить
Ответить с цитированием
  #6  
Старый 21.04.2014, 03:13
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,090
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Дык не будет работать на Дельфи. Там таких модулей-то (Graph, Crt) больше нет.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:53.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025