DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Розрахункова робота з курсу «Об'єктно-орієнтоване програмування»

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра автоматизованих систем управління

Інформація про роботу

Рік:
2011
Тип роботи:
Розрахункова робота
Предмет:
Об’єктно-орієнтоване програмування
Група:
КН-31
Коротко про документ

Про що ця робота

У роботі створено проект Delphi для побудови рухомих графічних зображень з використанням об'єктно-орієнтованого підходу. Описано класи для реалізації руху об'єктів та обробки керуючих подій.

У роботі розглядаються

  • Об'єктно-орієнтоване програмування
  • Мова програмування Delphi
  • Графічні примітиви та анімація
  • Створення класів
  • Програмні модулі
  • Обробка подій

Зміст і розділи

  1. Індивідуальне завдання
  2. Текст програми Unit1
  3. Текст програми Unit2
  4. Текст програми Unit3
  5. Результат виконання програми
Для кого:Студенти технічних спеціальностей, викладачі дисциплін програмування
Викладачі:Дронюк І. М.

Ключові поняття

Delphiкласоб'єктанімаціямодульCanvasTFormметодпроцедураграфіка

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти України Національний університет «Львівська політехніка» Кафедра автоматизованих систем управління / Розрахункова робота з курсу «Об'єктно-орієнтоване програмування» Створити проект Delphi для побудови рухомих графічних зображень. Основні елементи зображення розглядати як об’єкти класів, які необхідно ввести та описати. Рух або зміну об’єктів реалізувати за допомогою відповідних методів класів. Рух більшості об’єктів здійснюється зліва направо, а тоді повторюється або змінює напрямок. Програма має реагувати на керуючі клавіші: 1) для видачі підказки; 2) для зупинки (паузи) та продовження руху; 3) старт із початкового стану; 4) збільшення-зменшення об’єкта; 5) уповільнення-прискорення руху; 6) завершення програми. Примітка. Опис класів та реалізацію методів виконати в окремому програмному модулі. Індивідуальне завдання Файл копіюється (політ). Текст програми: unit unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Unit2,Unit3; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1 : TForm1; tf : TFile; tr : TRamka; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i,j,p,h,n:Integer; begin with Canvas do begin tr.PainR(Form1.Canvas); //рух файла h:=-1; Brush.Color:=16119000; for p:=1 to 2 do begin for i:=1 to 190 do begin tf.PainF(105+i-1,50,135+i-1,80,16119000,16119000,Form1.Canvas); tf.PainF(105+i,50,135+i,80,clWhite,clGray,Form1.Canvas); if h>=0 then n:=i+190 else n:=i; case n of 1:begin Pen.Color:=16119000; Brush.Color:=16119000; Rectangle(35,110,215,130); TextOut(37,110,'залишилось 5 секунд'); end; 80:begin Pen.Color:=16119000; Brush.Color:=16119000; Rectangle(35,110,215,130); TextOut(37,110,'залишилось 4 секунд'); end; 150:begin Pen.Color:=16119000; Brush.Color:=16119000; Rectangle(35,110,215,130); TextOut(37,110,'залишилось 3 секунд'); end; 220:begin Pen.Color:=16119000; Brush.Color:=16119000; Rectangle(35,110,215,130); TextOut(37,110,'залишилось 2 секунд'); end; 290:begin Pen.Color:=16119000; Brush.Color:=16119000; Rectangle(35,110,215,130); TextOut(37,110,'залишилось 1 секунд'); end; end; if n<369 then begin Pen.Color:=clBlue; MoveTo(30+n,130); LineTo(30+n,140); end; sleep(12); end; h:=1; Pen.Color:=16119000; Brush.Color:=16119000; Rectangle(104+i,50,135+i,80); end; Pen.Color:=16119000; Brush.Color:=16119000; Rectangle(35,110,215,130); TextOut(37,110,'виконано'); end; end; procedure TForm1.Button2Click(Sender: TObject); begin Close; end; end. unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFile=class procedure PainF(x1:Integer;y1:Integer;x2:Integer;y2:Integer;BColor:LongInt;PColor:LongInt;c:TCanvas); end; implementation procedure TFile.PainF(x1:Integer;y1:Integer;x2:Integer;y2:Integer;BColor:Longint;PColor:LongInt;c:TCanvas); begin with c do begin Brush.Color:=BColor; Pen.Color:=PColor; Rectangle(x1,y1,x2,y2); end; end; end. unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TRamka=class procedure PainR(c:TCanvas); end; implementation procedure TRamka.PainR(c:TCanvas); begin with c do begin Pen.Color := clBlue; Brush.Color := 16119000; Rectangle(30,20,400,200); MoveTo(30,42); LineTo(400,42); TextOut(37,25,'копіювання...'); MoveTo(30,90); LineTo(400,90); Rectangle(30,130,400,140); TextOut(37,170,'Опрацювання: Файл1.exe'); Rectangle(300,167,385,188); TextOut(315,170,'Скасувати'); //папки Pen.Color:=clOlive; Brush.Color := clOlive; //1 папка MoveTo(70,50); LineTo(100,54); LineTo(100,84); LineTo(70,79); LineTo(70,50); FloodFill(80,60,clOlive,fsBorder); //2 папка MoveTo(330,50); LineTo(360,54); LineTo(360,84); LineTo(330,79); LineTo(330,50); FloodFill(350,60,clOlive,fsBorder); //лінія розділення Pen.Color:=clGray; MoveTo(30,155); LineTo(400,155); //Brush.Color:=clBlue; //Rectangle(30,130,235,140); Pen.Color := clred; Brush.Color:=clRed; Rectangle(360,20,400,43); //хрестик Pen.Color := clWhite; MoveTo(370,27); LineTo(390,37); Moveto(370,37); LineTo(390,27); end; end; end. Результат виконання програми / Висновок: я створив проект Delphi для побудови рухомих графічних зображень. Рух і зміну об’єктів реалізував за допомогою відповідних методів класу.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!