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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет «Львівська політехніка» Кафедра АСУ Звіт до лабораторної роботи №10 з курсу “Об'єктно орієнтоване програмування” Варіант 8 Львів 2010 Тема: Створення багатопотокових ужитків Мета роботи: Вивчення можливостей системи програмування Delphi 5 по створенню багатопотокових ужитків. Завдання Створити проект - модель "Обчислення та малюваня". Обчислення здійснюється в основному модулі, для відображення рухомого малюнка, використати окремий потік. Текст програми: unit O10; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,unit2; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; My:TMyThread; X,Y:integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin X:=0; Y:=0; Randomize; My:=TMyThread.Create(false); My.Owner:=Self; end; // Обчислюэмо та малюэмо procedure TForm1.FormPaint(Sender: TObject); var i,j:integer; begin with Canvas do begin MoveTo(My.Point[1].X,My.Point[1].Y); LineTo(My.Point[2].X,My.Point[2].Y); LineTo(My.Point[3].X,My.Point[3].Y); LineTo(My.Point[1].X,My.Point[1].Y); end; end; end. unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TMyThread=class(TThread) Owner:TForm; Point,DMove:array [1..3]of TPoint; procedure Execute;override; end; implementation procedure TMyThread.Execute; begin //Зміщення кординат трикутника DMove[1].X:=5; DMove[1].Y:=5; DMove[2].X:=4; DMove[2].Y:=4; DMove[3].X:=3; DMove[3].Y:=3; //Безкінечний цикл обчислення нових координат трикуткика на площині repeat Point[1].X:=Point[1].X+DMove[1].X; Point[1].Y:=Point[1].Y+DMove[1].Y; Point[2].X:=Point[2].X+DMove[2].X; Point[2].Y:=Point[2].Y+DMove[2].Y; Point[3].X:=Point[3].X+DMove[3].X; Point[3].Y:=Point[3].Y+DMove[3].Y; //Перевірка на межі вікна if (Point[1].X>Owner.ClientWidth) or (Point[1].X<0) then DMove[1].X:=-DMove[1].X; if (Point[1].Y>Owner.ClientHeight) or (Point[1].Y<0) then DMove[1].Y:=-DMove[1].Y; if (Point[2].X>Owner.ClientWidth) or (Point[2].X<0) then DMove[2].X:=-DMove[2].X; if (Point[2].Y>Owner.ClientHeight) or (Point[2].Y<0) then DMove[2].Y:=-DMove[2].Y; if (Point[3].X>Owner.ClientWidth) or (Point[3].X<0) then DMove[3].X:=-DMove[3].X; if (Point[3].Y>Owner.ClientHeight) or (Point[3].Y<0) then DMove[3].Y:=-DMove[3].Y; //При отриманні нових координат - перемальовуємо вікно Owner.Repaint; //Затримка на 10 мілісекунд sleep(10); until false; end; end. object Form1: TForm1 Left = 251 Top = 179 Width = 431 Height = 210 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False OnCreate = FormCreate OnPaint = FormPaint PixelsPerInch = 96 TextHeight = 13 End program Project1; uses Forms, O10 in 'O10.pas' {Form1}, Unit2 in 'Unit2.pas'; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. Скріншоти роботи програми   Висновок: На даній лабораторній роботі я вивчив можливості системи програмування Delphi 5 по створенню багатопотокових ужитків.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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