Қарапайым, графикалық және белгіленген батырмалар компоненттерін қолдану.



Жоспар

I Кіріспе
II Негізгі бөлім
2.1 Қарапайым, графикалық және белгіленген батырмалар компоненттерін қолдану.
Тапсырма А
Тапсырма Б
Тапсырма С
2.2 Тәуелді және тәуелсіз ауыстырғыштар
Тапсырма А
2.3 . Ерекше жағдайларды өңдеу. Exception класы.
Тапсырма А
Тапсырма Б
2.4 Негізгі және жанама мәзір құру
Тапсырма А
Тапсырма Б
Тапсырма С
2.5 Контейнерлер. Пішімдер, модальды пішімдер. Сұқбаттық терезе.
Тапсырма А
Тапсырма Б
Қорытынды
Пайдаланылған әдебиеттер
Кіріспе
Диплом алды практиканы “ Мадияр-Құрылыс ” ЖШС компаниясынан өттім. Практиканы өту барысында өзіме көп нәрсе қабылдадым. Microsoft Word –пен жұмыс жасадым. Интернеттен мәліметтер қарастырдым және почтамен хат алмастырдым.
Delphi –мен жұмыстар жасадым. Delphi-де программа дайындау, мәліметтер базасын басқару жүйелерін құру,анимация, мультимедиа үрдістерін ұйымдастыру, OLE технологиясын пайдаланып, басқа офистік қосымшаларды шақыру, олармен жұмыс істеу және тағы басқа іс- әрекеттерді орындауға болады. Бұл жерде мен көп нәрсені үйреніп,келешекте осындай секілді компанияларда істей алатынымды білдім.
Пайдаланылған әдебиеттер тізімі

1. В Фаронов. Объектно-ориентированная среда Delphi. Версия 6. Учебное пособие. "Русская редакция", 2002.
2. Я. Н. Глинский, В. Е. Анохин, В. А. Ряжская – TURBO PASCAL 7.0 и Delphi. Учебное пособие. Москва – Санкт – Петербург-Киев. 2001.
3. Культин Н. Delphi 3. Программирование на Object Pascal. Санкт-
Петербург, 1998. -304 с.
4. Конопка Р. Создание оригинальных компонентов в среде Dеlрһі.Перс англ.Рей.К.:НИПФ «Диа Софт ЛТД», 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

Жоспар

I Кіріспе
II Негізгі бөлім
2.1 Қарапайым, графикалық және белгіленген батырмалар компоненттерін қолдану.
Тапсырма А
Тапсырма Б
Тапсырма С
2.2 Тәуелді және тәуелсіз ауыстырғыштар
Тапсырма А
2.3 . Ерекше жағдайларды өңдеу. Exception класы.
Тапсырма А
Тапсырма Б
2.4 Негізгі және жанама мәзір құру
Тапсырма А
Тапсырма Б
Тапсырма С
2.5 Контейнерлер. Пішімдер, модальды пішімдер. Сұқбаттық терезе.
Тапсырма А
Тапсырма Б
Қорытынды
Пайдаланылған әдебиеттер

Кіріспе
Диплом алды практиканы " Мадияр-Құрылыс " ЖШС компаниясынан өттім. Практиканы өту барысында өзіме көп нәрсе қабылдадым. Microsoft Word - пен жұмыс жасадым. Интернеттен мәліметтер қарастырдым және почтамен хат алмастырдым.
Delphi - мен жұмыстар жасадым. Delphi-де программа дайындау, мәліметтер базасын басқару жүйелерін құру,анимация, мультимедиа үрдістерін ұйымдастыру, OLE технологиясын пайдаланып, басқа офистік қосымшаларды шақыру, олармен жұмыс істеу және тағы басқа іс- әрекеттерді орындауға болады. Бұл жерде мен көп нәрсені үйреніп,келешекте осындай секілді компанияларда істей алатынымды білдім.

2.1 Қарапайым, графикалық және белгіленген батырмалар компоненттерін қолдану.
Тапсырма А
Canvas қасиетін және графикалық примтивтердің салу әдісін қолдана отырып, графикалық фигураларды шығаруға программа құрайық.
1) Графикалық фигураларды шығару үшін Image1 компоненттін форма бетіне орналастырып, Heigth қасиетіне 537, Width қасиетіне 345,
Left қасиетіне 32 және Top қасиетіне 8 мәнін бересіз.
2) Батырманы басқанда графикалық фигуралар шығу үшін Button компоненттін орналастырып, Caption қасиетіне Run мәтінін енгіземіз және ButtonClick оқиға өңдеуші процедурасына төмендегі программа мәтінін енгіземіз:
procedure TForm1.Button1Click(Sender: TObject);
begin
with Image1.Canvas do
begin
pen.Color:=clfuchsia;
brush.Color:=cllime;
brush.Style:=bshorizontal;
rectangle(10,10,150,100);
Textout(60,102,'rectangle');
pen.Color:=clmaroon;
brush.Color:=clolive;
brush.Style:=bsdiagcross;
RoundRect(10,130,150,230,20,20);
Textout(60,232,'RoundRect');
pen.Color:=clred;
brush.Color:=clBlue;
brush.Style:=bsvertical;
Ellipse(10,260,150,340);
Textout(60,342,'Ellipse');
pen.Color:=clnavy;
brush.Color:=claqua;
brush.Style:=bsfdiagonal;
pie(10,390,150,550,150,380,10,380);
Textout(70,480,'pie');
font.Style:=[fsbold];
pen.Color:=clRed;
Arc(170,10,330,230,280,100,170,70);
textout(240,100,'arc');
pen.Color:=clgreen;
brush.Style:=bscross;
chord(170,130,330,370,350,180,150,1 80);
textout(230,230,'chord');
PolyLine([point(180,260),point(240, 270),point(300,260),
point(280,300),
point(300,340),point(210,330)]);
textout(230,340,'polyLine');
pen.Color:=clteal;
brush.Color:=clmaroon;
brush.Style:=bsbdiagonal;
polyGon([point(190,380),point(250,3 90),point(310,380),point(290,430),
point(310,480),
point(250,450),point(190,480)]);
textout(230,490,'polyGon');
end;
Программаны сақтап, орындаймыз. Программанын орындалу нәтижесі келесі суретте

Жауабы:

Программа мәтіні

Canvas қасиетімен сурет шығаруға арналған форма терезесі

Тапсырма Б
Canvas қасиетін пайдана отырып, форма бетіне шкафтың суретін салуға арналған программа құрайық.
1) Форма бетіне Емен ағашынан жасалған Италия шкафы мәтінін шығару үшін Label 1 компоненттін орналастырамыз.
2) Button компоненттін орналастырып, Caption қасиетіне Шкаф мәтінін жазамыз және ButtonClick оқиға өңдеуші процедурасына төмендегі программа мәтінін енгіземіз.
Procedure TForm1.ButtonClick1(Sender:TObject) ;
begin
with Form1.Canvas do begin
pen.Color:=clBlack;
pen.Width:=3;
brush.Style:=bsSolid;
Brush.Color:=clMaroon;
Rectangle(100,40,430,430);
MoveTo(260,40);
LineTo(260,430);
MoveTo(270,40);
LineTo(270,430);
moveTo(100,280);
LineTo(430,280);
moveTo(100,290);
LineTo(430,290);
Brush.Color:=clwhite;
Rectangle(115,55,245,265);
rectangle(285,55,415,265);
MoveTo(115,110);
LineTo(245,110);
MoveTo(115,160);
lineTo(245,160);
moveTo(115,210);
LineTo(245,210);
moveTo(285,110);
LineTo(415,110);
MoveTo(285,160);
LineTo(415,160);
moveTo(285,210);
LineTo(415,210);
MoveTo(253,150);
LineTo(253,180);
MoveTo(277,150);
LineTo(277,180);
Rectangle(115,305,250,415);
MoveTo(285,360);
LineTo(415,360);
MoveTo(165,330);
LineTo(195,330);
moveTo(335,330);
lineTo(365,330);
moveTo(165,390);
lineTo(195,390);
moveTo(335,390);
LineTo(365,390);
Label1.Caption:='Емен ағашынан жасалған Италия шкафы'
end;

Жауабы:

Программа мәтіні

Тапсырма С
Mainmenu , Shape, TrackBar, ColorGrid пайдалана отырып, геометриялык фигураларды шығаруға программа құрайық. Олардың фонының және жиегінің түсін өзгерту мүмкіндіктерін қарастырайық.
1) Бас меню құру үшін форма бетіне MainMenu 1 компоненттін орналастырамыз. MainMenu 1 компоненттіне екі рет басып, меню құруға арналған терезені ашамыз. Caption файл сөзін жазып,Enter батырмасын басамыз. Файл менюінің бір ғана шығу деген пунктін құрамыз.
2) Түр менюін құрамыз. Анықтама менюін және оның Авторлар туралы мағұлмат командасын құрамыз. Меню құруға арналған терезені жабамыз.
3) Компоненттерді топтау үшін Standard бетіде орналасқан GroupBox компоненттін форма бетіне орналастырамыз.Caption қасиетіне GroupBox сөзін өшіріп, Фигуралар сөзін енгіземіз.
4) Геометриялық фигураларды құру үшін Additional бетіндегі Shape компоненттін орналастырамыз.бұл компоненттің Shape қасиетіне Cicle мәнін тағайындаймыз. Фигурамыз дөңгелекке айналады.
5) Фигураның түсін және жиегінің түсін беру үшін Samples қосымша бетінде ColorGrid түс палитрасын форманың төменгі бөлігіне орналастырамыз.
6) Фигура жиегінің қалыңдығын өзгерту үшін, Win32 бетіндегі TrackBar регуляторын орналастырамыз.Max қасиетіне 30, ал Min қасиетіне 1 мәнін тағайындаймыз.
7) Регулятордың шкаласын өзгеткенде, фигураның қалыңдығының мәні көрініп отыру үшін Edit1 компоненттін орналастырамыз, мән енгізуге рұқсат бермеу үшін Enabled қасиетіне False мәнін таңдаймыз.
8) Label 1 компоненттін орналастырып, Caption қасиетіне Сызықтың қалыңдығы деген мәтінді енгіземіз.
9) Регуляторды екі рет жылдам басып, ашылған оқиға өңдеуші процедурасына төмендегі программа мәтінін жазамыз.
Procedure TForm1.change(Sender;TObject);
Begin
Shape1.Pen.Width:=TrackBar1.Positio n;
Edit1.Text:=inttostr(TrackBar1.Posi tion);
End;
10) Түстер палитрасын екі рет басып, ашылған оқиға өңдеуші процедурасына төмендегі программа мәтінін жазамыз
Procedure TForm1.ColorGridchange(Sender;TObje ct);
Begin
Shape1.Brush.Color:=ColorGrid1.Fore groundColor;
Shape1.Pen.Color:=ColorGrid1.Backgr oundColor;
End;
11) файл менюінің шығу пунктіне екі рет басып, Begin және end командаларының ортасына close оераторын жазамыз.
12) дөңгелек пунктін екі рет басып,Begin сөзінен кейін:
Shape1.Shape:=stCircle; деген программа мәтінін енгіземіз;
13) квадрат пунктін екі рет басып, Begin сөзінен кейін:
Shape1.Shape:=stsquare; деген программа мәтінін енгіземіз;
14) эллипспунктін екі рет басып, Begin сөзінен кейін:
Shape1.Shape:=stEllipse; деген программа мәтінін енгіземіз;
15) тіктөртбұрыш пунктін екі рет басып, Begin сөзінен кейін:
Shape1.Shape:=stRectangle; деген программа мәтінін енгіземіз;
16) бұрыштары дөңгеленген квадратпунктін екі рет басып, Begin сөзінен кейін:
Shape1.Shape:=stRoundSquare; деген программа мәтінін енгіземіз;
17) бұрыштары дқңгеленген тіктөртбұрыш пунктін екі рет басып, Begin сөзінен кейін:
Shape1.Shape:=stRoundRect; деген программа мәтінін енгіземіз;
18) File-New-Form командаларын орындау арқылы, екінші форманы құрамыз. Caption қасиетіне Автор туралы мағұлматтар деп енгіземіз. Label компоненттін орналастырып, өзінің туралы мағұлмат жазыңыз. Бірінші формаға қайта келу үшін Button1 компоненттін орналастырамыз. Caption қасиетіне артқа сөзін енгіземіз және ButtonClick оқиға өңдеуші процедурасына төменгі мәтінді жазамыз.
Procedure TForm1.ButtonClick1(Sender:TObject) ;
Begin
Form2.Visible:=False;
Form1.visible:=True;
End;
Міндетті түрде F9 басу арқылы екі форманы байланыстырамыз.
19) Бірінші формаға қайта ораламыз. Автор туралы мағұлматтар пунктін екі рет басып, ашылған оқиға өңдеуші процедурасына төменгі мәтінді жазамыз.
Form2.Visible:=False;
Form1.visible:=True;
Немесе
Form2.show;
Программаны сақтар орындаймыз. Нәтиже келесі суретте

Жауабы:

Геомериялық фигураларды алуға арналған форма терезесі

2.2 Тәуелді және тәуелсіз ауыстырғыштар
Тапсырма А
Кездейсоқ сандар генераторын (random) пайдаланып жасалған массивтің max және min элементтерін табуды және массивті сұрыптауды қолданушының сұранысына байланысты бір-біріне тәуелсіз орындай алатын қосымша құрыңыз.
Delphi ортасы ауыстырғыштармен жұмыс атқару үшін ^ CheckBox, RadioButton және RadioGroup компоненттерін үсынады. CheckBox және RadioButton компоненттері - TbuttonControl класының туындылары, сондықтан оларды кейде бекітілген батырмалар деп атайды: CheckBox -тәуелсіз бекітілген, RadioButton - тәуелді бекітілген.
Ауыстырғыштар (жалаушалар) анықталған жиыннан бір ғана мәнді таңдауға мүмкіндік туғызады. Ауыстырғыштар қосылған немесе ажыратылған күйде болады. Ауыстырғыштың күй - жайын тексеріп отырып, программалаушы қажетті операцияларды орындайды.
Тәуелсіз бекітілген ауыстырғыш -CheckBox тәуелсіз бекітілген ауыстырғыш және оның көрінісі мәтіндік тақырыбы бар төрт бүрыш түрінде шығып тұрады. Егер осы төрт бүрышта қанатша көрініп турса, онда осы опция (үйғарым) қосылып түр немесе жалауша орнатылған деп айтады. Бір батырманың күй-жайы басқа батырмаларға әсер етпейді

Жауабы:

2.3 Ерекше жағдайларды өңдеу. Exception класы.
Тапсырма А
Консолдық қосымшада қарапайым ЕЖ өңдеуді орындап көру.
#include vcl.h
#include iostream.h
#include condefs.h
#pragma hdrstop
--------------------------------- ----------------------------------- -------
#pragma argsused
int main()
{
double d = 1.0;
for (int i=0; i4; i++)
{
try
{
cout endl "try-block bastaldi..." endl;
switch (i)
{
case 0:
throw " goldi laktiru "; char* типті жолды лақтыру
case 1:
throw 5; int.-бүтінді лақтыру.
default:
throw d; double - ді лақтыру.
}
Келесі оператор ЕЖ байланысты орындалмай
cout "Byl try-block-ka bailanisti orindalmaidi" endl;
} try-блоктың соңы
catch(int i)
{ int типті ЕЖ өңдеуші код
cout "Int laktirildi thrown : " 1 endl;
}
catch(char* str)
{ char* типті ЕЖ өңдеуші код
cout "string-gol laktirildi: " str endl;
}
catch (...) { Кез-келген ЕЖ өңдеуші код
cout "kalgan type laktirildi." "Program will.terminate." endl;
cin.ignore () ;
return -1; Программадан шығу
}
cout "sikldin soni" endl;
} циклдың соңы.
cout "progr soni" endl; Бұл операторлар орындалмайды
себебі, үшінші catch (...) программаны аяқтап тастайды
return 0;
}

Жауабы:
Бұл мысалда цикл төрт рет орындалуы керек. Цикл ішінде і- цикл параметрінің мәндеріне сәйкес int, char* және double типті ЕЖ шақыратын қорғалған блок орналасқан. і=0 болғанда throw операторы char* типті жолды лақтырады, ал оны char* типті екінші тұрған өңдеуші ұстап алады да, соған сәйкес жазуды шығарады, себебі кодта содан басқа ештеңе жазылмаған, тура сол сияқты і=1 болғанда қорғалған блоктағы throw операторы int типті ЕЖ лақтырады, оны бірінші тұрған catch(int i) өңдейді. і=2 болғанда double типті ЕЖ пайда болады, ал оған сәйкес catch қарастырылмаған, бірақ оны кез-келген жағдай үшін орындалатын үшінші catch (...) ұстайды және ондағы кодтағы cin.ignore () және return -1; командалары программадан шығуды немесе аяқтауды орындайды, яғни цикл төртінші рет і=3 үшін орындалып үлгермейді.
Программаның нәтижесі:

Тапсырма Б
Windows-ға арналған қосымшада қарапайым ЕЖ-ды
1. жалпы өңдеушінің глобальный обработчик көмегімен орындап көру;
2. дербес өңдеуші көмегімен орындап көру.
Дербес өңдеушінің жұмысын көру үшін жалпы өңдеушіні уақытша тоқтата тұру керек, ол үшін Tools - Debugger Options командаларын орындап, пайда болған терезеде Language Exceptions жапсырмасының Stop on Delphi Exceptions және Stop On C++ Exceptions немесе Integrated debugging опцияларындағы флажокты алу керек 4.14(А,Б,С)-4.15(А,Б,С) суреттер .

Программа мәтіні:
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
--------------------------------- ----------------------------------- -------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float a,b,c;
float d,x1,x2;
a=StrToInt(Edit1-Text);
b=StrToInt(Edit2-Text);
c=StrToInt(Edit3-Text);
try
{ d=ba;
x1=log(c);
x2= d;
Edit4-Text=FloatToStrF(x1,ffGenera l,5,2);
Edit5-Text=FloatToStrF(x2,ffGenera l,5,2);
}
catch(...)
{ MessageDlg("try-блокта кате бар",mtError, TMsgDlgButtons()
mbOK, 0);
return;
}
Edit6-Text="Мен орындалдым";
Программа орындалуының нетижелері:
1) ЕЖ - ды жалпы өңдеуші глобальный обработчик ұстады.

Жауабы:

4.15-сурет. б) Ерекше жағдайларды дербес өңдеуші локальный
обработчик ұстады және оны қолданушының коды өңдеді.

4.15-сурет. с) Ерекше жағдайларды дербес өңдеуші локальный
обработчик ұстады және оны қолданушының коды өңдеді.

2) ЕЖ - ды дербес өңдеуші локальный обработчик ұстады.

try...__ finally операторының (немесе қорғалған блогының) программадағы жазылуы:
try
{
қорғалған блок
__ finally
{
ерекше жағдайлар туса да орындалатын код

2.4 Негізгі және жанама мәзір ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Delphi дің мультимедиялық мүмкіндіктері
Flash фильм жасау схемасы
Delphі ортасында жұмыс істеу технологиясы
Кітапханаға келушілерді электронды журналға тіркеп отыратын арнайы бағдарламалық кешенін жасау
Аэропорт үшін деректер базасы
Android телефондарға арналған алғашқы интерфейс
Delphi ортасында видео және аудио кодектеррді оқитын бағдарлама құру
Borland c++ builder
Ұсақ көтерме кітап дүкені қызметінің деректер қорын жобалау
“Delphi программалау ортасында графикалық компоненттерді пайдалану әдістемесі”
Пәндер