Delphi ортасында анимация құру



Мазмұны

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . ... 2
І. Delphi . дің графикалық мүмкіндіктері ... ... ... ... ... ... ... ... ... ... ... ... .. 3
1.1 Қозғалысты программалау және индикаторларды пайдалану ... ... 3
1.2 Қарапайым графиктерді сызу әдістері ... ... ... ... ... ... ... ... ... ... 8
1.3 Функциялардың графиктері мен диаграммаларын сызу ... ... ... ... .. 15
ІІ. Айналмалы шар бағдарламасын құру ... ... ... ... ... ... ... ... ... ... 16
2.1 Бағдарламаның құрылу жолы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 16
2.2 Бағдарлама мәтіні ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 18
2.3 Бағдарлама скриншоты ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 21
Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 23
Пайдаланылған әдебиеттер тізімі ... ... ... ... ... ... ... ... ... ... ... ... ... . 24
Қосымшалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 26
КІРІСПЕ
Бағдарламалау тілін жүзеге асыру саласындағы бағдарлама құрумен әлемге әйгілі Borland компониясы 1996 ж. Delphi жаңа буынының компиляторын шығарды. Borland корпорациясы аз ғана мерзім ішінде Delphi-дің 7 негізгі версиялары мен бірнеше модификацияларын шығарды. Delphi 7 версиясында өте көп өзгерістер енгізілген. Бағдарламалармен қамтаматсыз етудің тиімді өңдеу құралдарын қажет ету «жылдам жасау» ортасы деп аталатын бағдарламалау жүйелерінің пайда болуына алып келді. Жылдам жасау RAD – жүйесіне «Rapid Application Development» жүйесінің негізі визуалды жобалау және оқиғаны өңдеуді программалар технологиясы жатады, оның мағынасы өңдеу үнемсіз жұмыстың көп бөлігін өзіне алады да, бағдарламашыға диалогты терезелерді және оқиғаны өңдеу функциясын құрастыру жұмыстары қалады.
Delphi-дің ұлғайтылған мүмкіндіктері графикамен, мультимедиямен, дерек қорларымен жұмыс істейтін және динамикалық құрылымдармен қосымшаларды құруға мүмкіндік береді.
Бұл курстық жұмыстың мақсаты – Delphi бағдарламалау ортасын пайдалана отырып, графикалық бағдарламаларды жасау арқылы білімімді кеңейтіп, бағдарламалау ортасында жұмыс істеу қабілетімді жоғарлату. Бағдарламаның міндеттері - Delphi – дің графикалық мүмкіндіктерін пайдалана отырып, бағдарламалар құрастыруды игеру; графикаға байланысты компоненттермен жұмыс жасауды үйрену; бағдарламаның кодын жаза білу; Delphi ортасында сенімді жұмыс істеу үшін оны толықтай меңгеру; Delphi – дің графикадан басқа мүмкіндіктерін пайдалана алу; Delphi – дің қазіргі кездегі пайдасы туралы дағдыларын қалыптастыру.
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
1. В Фаронов. Объектно-ориентированная среда Delphi. Версия 6. Учебное пособие. "Русская редакция", 2002.
2. Я. Н. Глинский, В. Е. Анохин, В. А. Ряжская – TURBO PASCAL 7.0 и Delphi. Учебное пособие. Москва – Санкт – Петербург-Киев. 2001.
3. Культин Н. Delphi 3. Программирование на Object Pascal. Санкт-
Петербург, 1998. -304 с.
4. Конопка Р. Создание оригинальных компонентов в среде DеІрһі.Перс англ.Рей.К.:НИПФ «Диа Софт ЛТД», 1996. -152 с.
5. Орлик С.В. Секреты Delphi на примерах. М.: Бином, 1996. - 136 с.
6. Нурбекова Ж. Практикум решения задач на Delphi 5.O. Учебно-
методическое пособие. Павлодар, 2001. -106 с.
7. Халықова К.З. Паскаль тілінде программалау. Оқу құралы. Абай ат.ҚазҰПУ. Алматы, 2002. -2106.
8. Дудина И.П. Построние графиков функций в Delphi. Информатика и образование. №6, 2003, стр.27-31.
9. Давыдова Е.В., Скородумов И.А., Балаханов В.А. Создание базовых элементов интерфейса Windows программы в среде Delphi.
Информатика и образование. №4,5,6. 2002.
10. Халықова К.З., Ануарбекова Г.Ж. Object Pascal тілі. Delphi ортасы. Оқу әдістемелік құрал. – Алматы: Абай ат.ҚазҰПУ, 2008. – 220 бет.
11. Б. Д. Сыдықов, Ш. Т. Шекербекова, Н. И. Культин - Delphi ортасында бағдарламалау практикумы. Алматы, 2005
12. Компьютерная технология обучения:словарь-справочник/Под редакцией В. Ю. Гриценко, А. М. Довгялло, А. Я. Савельева-К.: «Накова думка», 1992
13. Нұрғалиева Г. Қ. Электрондық оқулықтар – мұғалім мен оқушы арасындағы әрекетттестікті гуманизациялау құралы// «Информатика негіздері» республикалық журналы, №2, 2002.- 2-3 б.
14. Тажигулова А. И. Конструирование электронных учебников//Научно-практический журнал «Информационные технологии в Казахстане», №1, 2000.- С. 42
15. Виштынецский Е. И., Кривошеев А. О. Вопросы применения информационных технологий в сфере образования и обучения//Информационныетехнологии, 1998, №2

КІРІСПЕ
Бағдарламалау тілін жүзеге асыру саласындағы бағдарлама құрумен әлемге әйгілі Borland компониясы 1996 ж. Delphi жаңа буынының компиляторын шығарды. Borland корпорациясы аз ғана мерзім ішінде Delphi-дің 7 негізгі версиялары мен бірнеше модификацияларын шығарды. Delphi 7 версиясында өте көп өзгерістер енгізілген. Бағдарламалармен қамтаматсыз етудің тиімді өңдеу құралдарын қажет ету жылдам жасау ортасы деп аталатын бағдарламалау жүйелерінің пайда болуына алып келді. Жылдам жасау RAD - жүйесіне Rapid Application Development жүйесінің негізі визуалды жобалау және оқиғаны өңдеуді программалар технологиясы жатады, оның мағынасы өңдеу үнемсіз жұмыстың көп бөлігін өзіне алады да, бағдарламашыға диалогты терезелерді және оқиғаны өңдеу функциясын құрастыру жұмыстары қалады.
Delphi-дің ұлғайтылған мүмкіндіктері графикамен, мультимедиямен, дерек қорларымен жұмыс істейтін және динамикалық құрылымдармен қосымшаларды құруға мүмкіндік береді.
Бұл курстық жұмыстың мақсаты - Delphi бағдарламалау ортасын пайдалана отырып, графикалық бағдарламаларды жасау арқылы білімімді кеңейтіп, бағдарламалау ортасында жұмыс істеу қабілетімді жоғарлату. Бағдарламаның міндеттері - Delphi - дің графикалық мүмкіндіктерін пайдалана отырып, бағдарламалар құрастыруды игеру; графикаға байланысты компоненттермен жұмыс жасауды үйрену; бағдарламаның кодын жаза білу; Delphi ортасында сенімді жұмыс істеу үшін оны толықтай меңгеру; Delphi - дің графикадан басқа мүмкіндіктерін пайдалана алу; Delphi - дің қазіргі кездегі пайдасы туралы дағдыларын қалыптастыру.


1 DELPHI - ДІҢ ГРАФИКАЛЫҚ МҮМКІНДІКТЕРІ
1.1. Қозғалысты бағдарламалау. Индикаторларды пайдалану

Қозғалысты еліктету немесе анимация эффектін көрсету негізгі үш қадамдың орындалуымен қамтылады:
oo Объектіні экран бетіне шығару (кейде шағын үзіліс орнатылғаны жөн);
oo Объектіні экраннан алып тастау;
oo Объектіні басқа жерге шығару.
Диаграмма мен график сандық берілгендерді ұғынуды жеңілдетуге бейімделген және Delphi ортасы олармен жұмыс атқаратын компоненттерімен қамтылған. Диаграммаларды екі топқа бөлуге болады:
oo Индикаторлар;
oo Күрделі диаграммалар және графиктер.
Индикатор жалпы диаграмманың қарапайым түріне жатады және ол арқылы кейбір ұзақ уақыт орындалатын іс-әрекет (мысалы, дискетті форматтау, файлды көшіру, т.с.с.) процестердің көрінісін мәтіндік және графикалық түрде бейнелеуге арналған.
Delphi ортасы жұмыстың орындалуын көрсететін ProgressBar және Gauge компоненттерін ұсынады.
ProgressBar ортаның Win32 парағында орналасқан, бұл компонент белдеу түрінде болып, кейбір ұзақ уақыт орындалатын іс-әрекеттің көрінісін экран бетіне шығарады.[1,2]
ProgressBar
ProgressBar

1 сурет. Delphi ортасының Win32 парағы

ProgressBar компонентінің индикация өрістері мен реңінің түсін өзгертетін қасиеттері жоқ, сондықтан бұл параметрлер контейнер параметрлерімен анықталады. Әдетте графикалық белдеу көк түспен боялады.
ProgressBar компонентінің келесі қасиеттерін негізгі деп санайды:
Min және Max - индикатордың алғашқы және соңғы мәндерінің аралығын анықтайды. Келісімше Min=0%, Max=100% деп саналады.
oo Position - орындалған іс-әрекеттің салыстырмалы көлемін Min және Max мәндеріне сәйкес анықтайды. Мысалы, Min=0, Max=80 деп көрсетілсе, онда Position-ның 20 деген мәніне сәйкес орындалған жұмыстың көлемі 25% деп саналады.
oo Step - индикатордың көлемі өскендегі позицияның қандай мәнге өсіп отыратынын анықтайды.
Индикатордың позициясын программада көрсетуге болады, мысалы:
ProgressBar1. Position:=35;
ProgressBar-ның элементінің позициясын StepIt (өсімшесі Step) және StepBy (Delta:Integer) (өсімшесі Delta) процедуралары арқылы өзгертуге болады. Мысалы, ProgressBar1.StepBy (13).
Бұл оператор бойынша ProgressBar1-дің индикаторы 13-ке өсіп отырады.
ProgressBar1 компонентінің Caption немесе Text қасиеттері жоқ болғандықтан, жұмыс атқару индикаторын жазумен қамту үшін, Label компонентін қолдануға болады.
Samples парағында орналасқан Gauge элементі қарапайым диаграммаларды шығаруда қолданылады. Gauge компоненті арқылы белгілі бір параметрдің мәнін пайызға сәйкестеп, лайықтап шығарады.
Kind қасиеті шығарылатын диаграмманың түрін анықтайды және оның мәні келесідей бола алады:
oo GkHorizontalBar - көлденең төртбұрыш;
oo gkVerticalBar - тік төртбұрыш;
oo gkPie - сектор;
oo gkNeedle - спидометр;
oo gkText - тек қана мәтін.

2 сурет. Диаграмма түрлері
BorderStyle - жиектерінің түрі bsSingle деп анықталса, онда жиегі жіңішке сызықпен салынады. Егер bsNone деп анықталса - жиегі болмайды. ForeColor - индикатордың түсін, BackColor диаграмманың индикатордан бос аймағының түсін, Progress - параметр мәнін пайызға сәйкестеп анықтайды.
MinValue және MaxValue - параметрдің ең кіші және ең үлкен мәндерін анықтайды (әдетте ол мәндер - 0% және 100% ).
Мысалы, бейнетаспаны ойнау Animate компоненті арқылы іске асырылады. Бұл компонент тек тығыздалмаған графикалық бейне бөлігін ойнауға бейімделген. Осы әрекеттің орындалуын графикалық түрде ProgressBar компоненті арқылы көрсетуге болады.
График және диаграмма. [3,4]
Chart компоненті әртүрлі күрделі диаграммаларды салуда қолданылады. Бұл компоненттің құрамындағы көптеген қасиеттері өздері объект ретінде анықталған және олардың ішкі қасиеттері болады.
Chart
Chart

3 сурет. Additional парағының Chart компоненті
Тәжiрибеде Chart компонентінің параметрлерін анықтау әрекеттері Editing Chart редакторының терезесінде анықталады. Ол терезені шақыру үшін формадағы TСhart терезесiн екі рет сырт еткізіңіз немесе тышқанның оң жақ батырмасын басқандағы Edit Chart опциясын таңдаңыз. Ашылған редактордың терезесіндегі Series параметрінде Add батырмасын басу арқылы диаграмманың немесе графиктің түрін анықтауға болады.
Берілгендердің шығар көзі Series= Data Source парағында анықталады. Егер берілгендердің жиыны қосымшаның орындалу барысында қалыптастандырылса, онда No data деп көрсету керек.
DBChart және QRChart компоненттерінің шығар көзін Table - кесте деп анықтауға болады.
Диаграмма құрылғандағы пайдаланылатын берілгендердің мәндерін басқару үшін Add, Delete, Clear әдістері қолданылады.
Add (Const AValue :Double; Const ALabel:String; Acolor:Tcolor): LongInt функциясы Avalue параметрімен анықталған мәнді диаграммаға қосады. Диаграмма шығарылғанда, Alabel - мәндің атын, ал Aсolor - оның түсін анықтайды.
Delete (ValueIndex:LongInt) процедурасы ValueIndex нөмірімен анықталған мәнді жояды. Жалпы барлық мәндерді жою үшін Clear процедурасы қолданылады.
Delphi ортасы схемаларды, сызбаларды, түрлі иллюстрацияларды экранға шығаратын программаларды неғұрлым қарапайым жолмен құруға мүмкіндік береді.
Графикалық элементтер объекттің үстінгі жағында шығарылады (формалар немесе Image компоненті), бұған Canvas қасиеттері сәйкес келеді. Объектінің бетіне графиктік элементтерді (түзу сызық, шеңбер және т.б.) шығару үшін осы объектінің Canvas қасиетін қолдану әдісін пайдаланамыз.
Мысалы, form1.Canvas.Restangle (10, 10, 100, 100); Бет (Холст)

Қарапайым графиктерді шығару әдісінде сурет салуға болатын абстрактты бет (холст) ретінде Canvas қасиеттері қарастырылады. Бұл бет (холст) жеке нүктелерден - пиксельдерден тұрады, олардың әрқайсысы көлденең (х) және тік (у) координаталар арқылы анықталады.
Қарандаш және қылқалам
Қарапайым графиктерді бет (холст) бетіне салуды қамтамасыз ететін әдістер үшін, қарандаш және қылқалам қолданылады: қарандашты түзулер мен контурларды сызуға қолданады, ал қылқаламды аймақтарды шекаралық контурмен бояуға қолданады.
Графиктерді бетке (холстқа) шығаратын арнайы қарандаш және қылқаламға Pen (қарандаш) Brush (қылқалам) қасиеттері сәйкес келеді, бұлар TPen және TBrush типтерін көрсетеді. Осы объектілердің қасиеттерінің мәні шығарылатын графикалық элементтердің түрін анықтайды.
TPen объектісінің мынадай қасиеттері бар:
Color - түзудің түсі (контуры);
Width - түзудің қалындығы (пиксель бойынша);
Style - түзудің түрі.
Pen.Color қасиетіннің мәні ретінде мынадай атаулы тұрақтыларды қолдануға болады (TColor): clBlack, clOlive, clGray, clBlue, clMaroon, clNavy, clSilver, clAqua, clGreen, clPurple, clRed, clWhite.
Pen.Style қасиеті мынадай мәндерді қабылдайды:
psSolid - біркелкі түзу;
psDash - пункттирлік түзу, ұзын штрихтар;
psDot - пункттирлік түзу, қысқа штрихтар;
psClear - түзу көрінбейді.
Егер Pen.Width қасиетінің мәні бірден үлкен болса, онда пункттирлік түзулер біркелкі түзулер болып шығады.
Қылқалам (Canvas. Brush) тұйық аймақтарды сызатын және сол облыстарды бояуды қамтамасыз ететін әдіс ретінде қолданылады. Қылқалам объект сияқты екі қасиетке ие:
Color - тұйық облысты бояйтын түс;
Style - аймақты толықтыру стилі (типі).
Brush.Color қасиетінің мәні ретінде жоғарыда айтылып өткен TСolor типті атаулы тұрақтылардықолдануға болады.
Brush.Style қасиеті мындай мәндерді қабылдайды :
bsSolid - біркелкі бояу;
bsClear - облыс болмайды;
bsHorizontal - көлденен штрих;
bsVertical - тік штрих;
bsFDiagonal - ілгері қарай көлбеген диагоналдық штрих.
Мәтінді шығару
Графикалық объекттің бетіне мәтін шығару үшін TextOut әдісі қолданылады. Осы әдістің шақыру нұсқауы жалпы жағдайда мынадай түрде болады:
Объект.Canvas. TextOut(x, y, Текст);
Мұндағы х, у - шығатын мәтіннің координат нүктелері; Текст - айнымалы немесе символдық типті тұрақты (шығарылатын мәтін).
TextOut әдісімен шығарылатын мәтін облысының оң жақ шекара координаттарын, PenPos қасиетін пайдыланып алуға болады, мысалы:
TextOut(PenPos.x, PenPos.y, (`руб.'); [5,6,7]

3.2 . Қарапайым графиктерді сызу әдістері

LineTo әдісі түзуді қарандаштың ағымдағы орнынан координатасы көрсетілген нүктеге дейін сызады.
Объект.Canvas.LineTo(х, у);
MoveTo әдісі қарандашты белгіленген нүктеге апарады:
Объект.Canvas.MoveTo(х, у);
Ellipse әдісі эллипс сызады (жеке жағдайда, шеңбер - параметр мәндеріне тәуелді болады):
Объект.Canvas.Ellipse(x1, y1, x2, y2);
Мұндағы х1, у1, х2, у2 - ішіне эллипс сызылатын тіктөртбұрыш координаттары.
Arc әдісі доға сызады:
Объект.Canvas.Arc(x1, y1, x2, y2, х3, у3, х4, у4);
Мұндағы х1, у1, х2, у2 - эллипс параметрлері, эллипс бөлігі яғни сызылатын доға болады.
Rectangle әдісі тіктөртбұрыш сызады:
Объект.Canvas.Rectangle (x1, y1, x2, y2);
Мұндағы х1, у1 және х2, у2 - сол жақ үстінгі және оң жақ астынғы тіктөртбұрыш бұрыштарының координаттары.
FillRect әдісі Brush.Color қасиеті арқылы берілген түсімен тіктөртбұрышты бояйды. Бұл әдістің бір ғана параметрі бар, бұл структуранының TRect типі. Мысалы:
var
R :Rect(20, 20, 150, 150);
with Canvas do
begin
Brush.Color:=clRed;
FillRect(R);
end;
end;
Айтып кеткендей, программа орындайтын графиктерді бетке шығару үшін Canvas қасиеті келеді. Canvas объектісінің Pixels қасиетін пайдалана отырып, графикалық беттің кез келген нүктесін қажетті түске бояуға болады. Мысалы, нұсқауы
Form1.Canvas.Pixels[10, 10] :=clRed;
форм бетіндегі нүктені қызыл түске бояйды.
Мысал1. Форма бетіне олимпиядалық жалау суретін салайық. Объектіні Image компонентінің үстіне шығарамыз. Формаға Image, button1 компоненттерін орналастырамыз. Button1 компонентінің Caption қасиетіне сурет салу мәнін енгіземіз. Button1 компонентінің Onclick оқиғасын құрамыз. Коды:
procedure TForm1.Button1Click(Sender: TObject);
begin
with Image1.canvas do
begin
pen.Width:=1;Pen.Color:=clblack;
brush.Color:=clcream;Rectangle(30,3 0,150,115);
pen.Width:=2;brush.Style:=bsclear;
Pen.Color:=clblue;ellipse(40,40,80, 80);
Pen.Color:=clblack;ellipse(70,40,11 0,80);
Pen.Color:=clred;ellipse(100,40,140 ,80);
Pen.Color:=clyellow;ellipse(55,65,9 5,105);
Pen.Color:=clgreen;ellipse(85,65,12 5,105);
end;
end; [8]

ScrollBar, ColorDialog, ComboBox, Panel және Button компоненттерін пайдалана отырып, геометриялық фигураларды құру.
1) Геометриялық фигураны шығару үшін Additional қосымша бетіндегі Shape1 компонентін орналастырамыз. Heigth қасиетіне 209; қасиетіне 393; қасиетіне 56; қасиетіне 48 мәнін тағайындаймыз.
2) Фигураның өлшемін өзгерту үшін ScrollBar1, ScrollBar2 айналым жолақтарын орналастырамыз:

1 кесте. ScrollBar1, ScrollBar2 компоненттерінің қасиеттерін өзгерту
Компоненттер
Объектілер инспекторы терезесіне енгізілетін өзгертулер
ScrollBar1: TScrollBar
Heigth: 17
Width: 481
Left: 16
Top: 288
Kind: cbHorizontal
ScrollBar2 TScrollBar
Heigth: 289
Width: 17
Left: 496
Top: 16
Kind: cbVertical

ScrollBar1 компонентін екі рет басып, ашылған ScrollBar1Change оқиға өңдеуші процедурасына төмендегі мәліметтерді енгіземіз:

procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
Shape1.Width:=ScrollBar1.Position*3 ;
end;
Сонымен ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Delphi-дің мультимедиалық мүмкіндіктері
WEBbrowser компонентін қолданып бағдарлама құру
Delphi-дің мультимедиалық мүмкіндіктері туралы
Бағдарламалау тілдерін оқытудың виртуалды ортасын жобалау және бағдарлама құру
Delphi дің мультимедиялық мүмкіндіктері
Форма оқиғалары
Delphi - де «Мозаика» ойын бағдарламасын жазу әдістері
Microsoft Office туралы түсінік және түрлері
“Delphi программалау ортасында графикалық компоненттерді пайдалану әдістемесі”
Қоңырау кестесі бойынша автоматты түрде қоңырау соғуға арналған Автоматтандырылған Қоңырау бағдарламасы
Пәндер