DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

СТВОРЕННЯ ВЛАСНОЇ КОМПОНЕНТИ .

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

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

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

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

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

Міністерство освіти та науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій Кафедра автоматизованих систем управління  Створення власної компоненти Лабораторна робота № 2 з дисципліни " Об‘єктно орієнтоване програмування" Виконав: ст. гр. КН-4 Львів –2008 unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, OpenGL, Glaux, DGlut, StdCtrls; // підключаємо бібліотеки OpenGL, GLAux, GlUt type GLObject = (SolidICOSAHEDRON); TForm1 = class(TForm) Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Timer1Timer(Sender: TObject); private mc:array[1..3]of GLFloat; DC : HDC; hrc: HGLRC; Angle : GLfloat; i: integer; procedure DrawScene(Tx, Ty, Tz, Angle, Rx, Ry, Rz, Red, Green, Blue : GLdouble; MyObject : GLObject); procedure SetDCPixelFormat; public { Public declarations } end; var Form1: TForm1; MyObject : GLObject; implementation procedure TFOrm1.DrawScene(Tx, Ty, Tz, Angle, Rx, Ry, Rz, Red, Green, Blue : GLdouble; MyObject : GLObject); begin glRotatef(Angle, Rx, Ry, Rz); glTranslated(Tx,Ty,Tz); glColor3d(Red,Green,Blue); case MyObject of SolidIcosahedron : auxSolidIcosahedron (2); end; end; {$R *.dfm} procedure OutText (txt : PChar); begin glPushAttrib(GL_ALL_ATTRIB_BITS); glListBase(1000); glCallLists(Length (txt), GL_UNSIGNED_BYTE, txt); glPopAttrib; end; procedure TForm1.FormCreate(Sender: TObject); const pos : Array [0..3] of GLFloat = (3.0, 3.0, 3.0, 1.0); dir : Array [0..2] of GLFloat = (-1.0, -1.0, -1.0); begin Angle := 0; DC := GetDC (Handle); SetDCPixelFormat; hrc := wglCreateContext (DC); wglMakeCurrent (DC, hrc); glMatrixMode (GL_PROJECTION); glFrustum (-1, 1, -1, 1, 1, 8); glMatrixMode (GL_MODELVIEW); wglUseFontOutlines(canvas.handle, 0, 255, 1000, 0, 0.10,WGL_FONT_POLYGONS, nil); glEnable(GL_DEPTH_TEST); glEnable(GL_COLOR_MATERIAL); glLightfv(GL_LIGHT0, GL_POSITION, @pos); glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, @dir); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); Timer1.Interval := 25; Timer1.Enabled := True; end; procedure TForm1.FormPaint(Sender: TObject); begin glClearColor (1,0.8, 0.2, 1); glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); glPushMatrix; DrawScene(1, 0, 1,Angle, -1, -1, 0, 0, 0.5, 1,SolidIcosahedron); glPopMatrix; SwapBuffers(DC); end; procedure TForm1.FormDestroy(Sender: TObject); begin Timer1.Enabled:=False; wglMakeCurrent(0, 0); wglDeleteContext(hrc); ReleaseDC (Handle, DC); DeleteDC (DC); end; procedure TForm1.Timer1Timer(Sender: TObject); begin Angle := Angle + 1.0; If (Angle >= 360.0) then Angle := 0.0; InvalidateRect(Handle, nil, False); end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin If Key = VK_ESCAPE then Close; InvalidateRect(Handle, nil, False); end; procedure TForm1.SetDCPixelFormat; var pfd : TPixelFormatDescriptor; nPixelFormat : Integer; begin FillChar (pfd, SizeOf (pfd), 0); pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER; nPixelFormat := ChoosePixelFormat (DC, @pfd); SetPixelFormat (DC, nPixelFormat, @pfd); end; end.
Антиботан аватар за замовчуванням

2015

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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