М. Ӛ. МҰҚашева, Ұ. Т. Махажанова


try   { //  «қорғалған блоктың»  басы   throw



Pdf көрінісі
бет7/13
Дата31.12.2016
өлшемі2,48 Mb.
#883
1   2   3   4   5   6   7   8   9   10   ...   13

try  
{ //  «қорғалған блоктың»  басы  
throw  1-ӛрнек;  
/ / бұл оператор ерекше жағдайды оны ӛңдеушіге лақтырады. 
throw  2-ӛрнек; 
... 
throw  n-ӛрнек; 
} //  «қорғалған блоктың»  соңы 
catch(1-ӛрнектің типіне сәйкес айнымалының типі)  
{  
1-ӛрнекке сәйкес ЕЖ ӛңдеушінің коды 

catch(2-ӛрнектің типіне сәйкес айнымалының типі)  
{  
2-ӛрнекке сәйкес ЕЖ ӛңдеушінің коды 

 
catch(n-ӛрнектің типіне сәйкес айнымалының типі)  

{  
n-ӛрнекке сәйкес ЕЖ ӛңдеушінің коды 

 
мұндағы,   try («орындап кӛру, байқап кӛру»  - деген мағынаны білдіредісӛзімен басталып,  
{…}  фигуралы  жақшаға  алынған    программа  мәтінінің  фрагменттерін  қорғалған  блоктар 
немесе уақытша блоктар деп атайды, яғни ерекше жағдай туғызуы мүмкін программа коды 
осы қорғалған блокта орналасуы керек.  
Ӛңдеуші  код  catch    қызметші  сӛзінен  басталады.    Содан  кейін  жай  жақшаның  ішінде 
ЕЖ типі кӛрсетіледі, егер жай жақшаның ішінде кӛп нүкте /... / тұрса онда ол ол кез-келген 
ЕЖ ӛңдей алады, мысалы: 
catch(int i)  
{ //  int типті ЕЖ ӛңдеуші код 
}  
catch(char* str)  
{ // char*  типті ЕЖ ӛңдеуші код  
}  
catch (...)  
{ //кез-келген типті ЕЖ ӛңдеуші код  

 
Жаттығу жұмыстары 
 
 1-жаттығу. Консолдық қосымшада қарапайым ЕЖ  ӛңдеуді орындап кӛру. 
#include  
#include  
#include  
#pragma hdrstop 
//--------------------------------------------------------------------------- 
#pragma argsused 
int main() 

double d = 1.0; 
for (int i=0; i<4; i++) 

try 

cout << endl<< "try-block  bastaldi..." <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 үшін орындалып үлгермейді.  
Программаның нәтижесі: 
 
 
 2-жаттығу. 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=b/a; 
x1=log(c); 
x2= d; 
Edit4->Text=FloatToStrF(x1,ffGeneral,5,2); 
Edit5->Text=FloatToStrF(x2,ffGeneral,5,2); 

catch(...) 
{ MessageDlg("try-блокта кате бар",mtError, TMsgDlgButtons()  
<< mbOK, 0); 
//return; 

Edit6->Text="Мен орындалдым"; 
Программа орындалуының нетижелері: 
1) ЕЖ –ды  жалпы ӛңдеуші   / глобальный  обработчик/  ұстады. 
 

 
4.14-сурет. а)Ерекше жағдайларды жалпы ӛңдеуші 
/глобальный обработчик/ ұстады. 
 
4.14-сурет. б)Ерекше жағдайларды жалпы ӛңдеуші 
/глобальный обработчик/ ұстады. 

 
4.14-сурет. с)Ерекше жағдайларды жалпы ӛңдеуші 
/глобальный обработчик/ ұстады. 
 
2) ЕЖ –ды дербес ӛңдеуші /локальный обработчик/  ұстады. 
 
 

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

обработчик/ ұстады және оны қолданушының коды ӛңдеді. 
 
try…__ finally операторының (немесе қорғалған блогының) программадағы жазылуы: 
try 
{ 
//қорғалған блок  

__  finally 
{ 
// ерекше жағдайлар туса да  орындалатын код 

 
Ӛзіндік жұмыс тапсымалары 
 
Келесі  мазмұндағы есептерді шешу программаларындағы ерекше жағдайларды 
анықтап оны екі жолмен ӛңдеуді /жалпы және дербес ӛңдеушілер/  қарастырыңыз.  
1.
 
Пирамиданың кӛлемін табу. 
2.
 
Үш қабырғасы бойынша үшбұрыштың ауданын есептеу. 
3.
 
Параллелипедтің кӛлемін есептеу. 
4.
 
Тізбектің жалпы кедергісін есептеу (параллель қосылған). 
5.
 
Трапецияның ауданын есептеу. 
6.
 
Тізбектің жалпы кедергісін есептеу (тізбектей қосылған). 
7.
 
Екі қабырғасы және арасындағы бұрышы бойынша үшбұрыштың ауданын есептеу. 
8.
 
Бүтін сандармен  арифметикалық амалдарды орындай алатын калькулятор программа 
жасау. 
9.
 
Тригонометриялық  функцияларды  және  түбір  табуды  орындай  алатын  калькулятор 
жасау. 
10.
 
Цилиндр кӛлемін табу. 
 
9 - зертханалық жұмыс.  
Wіndows интерфейсінің компоненттерін қолданып файлдарды басқару 
 
Әдістемелік нұсқаулар 
 

Windows  ОЖ  стандартты  диалогтық  терезелерінде  жұмыс  жасау,  мысалы  файлды 
таңдау, сақтау, түсін ӛзгерту және т.б.. C++ Builder ортасында диалогты терезелермен жұмыс 
жасау үшін TOpenDialog, TSaveDialog  компоненттері қолданылады. 
Компоненттердің қасиеттерімен әдістері: 
Filter – диалогпен кӛрсетілетін файл типі; 
FilerIndex – үнсіздік бойынша қолданылатын фильтр нӛмірі; 
DefaultExt – стандартты кеңейтілім, қолданушы кӛрсетпеген жағдайда; 
Files – қолданушы таңдаған файл аты; 
Title – текст, диалог тақырыпшасында кӛрінетін; 
Execute() – диалогты шақыру. 
Опциялары: 
ofReadOnly  —  диалогты  терезе  пайда  болғанда  "Read  only"  жалаушасы  белгіленген 
болады; 
ofHideReadOnly  —  диалогты  терезе  пайда  болғанда  "Read  only"  жалаушасын 
кӛрсетпейді; 
ofNoReadOnlyRetum — ОК батырмасын басқанда ―тек оқуға арналған‖ файлды таңдауға 
тиым салып, басқа файл таңдау қажеттін хабарлайды. 
ofPathMustExist  —  файл  тек  бар    каталогтардың  бірінде  болатының  кӛрсетеді.  
Қолданушы файлды жоқ каталогтан іздеген жағдайда қате екенін хабарлайды; 
ofFileMustExist — тек бар файлдардың бірін таңдауға болатынын  кӛрсетеді; 
ofOverwritePrompt  —  егер    қолданушы  жазба  үшін  бар  файлды  таңдаса,  оны  бекітуді 
сұрайды;   
ofShowHelp — диалогқа Help батырмасын қосады; 
ofNo  Validate  —  файл  атын  енгізгенде  рұқсат  етілмеген  символдардын  болмауын 
тексереді;  
ofAllowMultiSelect — бірнеше файлды бір мезгілде таңдауға мүмкіндік береді; 
ofShareAware  —  таңдалынған  файлды  басқалардың  қолдануына  тексеруді  сӛндіреді. 
Бұл  опция  болмаған  жағдайда  файл  басқа  қосымшамен  ашылған  болса,  басқалары  бұл 
файлды қолдана алмайды.  
Файлды ашу мысалы: 
OpenDialog1->Execute(); 
  if (OpenDialog1->FileName!="") 
  { 
  Memo1->Lines->LoadFromFile(OpenDialog1->FileName); 

Form1->Caption=OpenDialog1.Filename+” - My Text Editor”; 
  }  
Бұл жерде файлды ашудан басқа, таңдалынған файл аты форма тақырыбында "My Text 
Editor" мәтінімен жазылады. 
TColorDialog компоненті – қолданушы түсті анықтауға арналған. 
Color –түстер; 
Опциялары: 
cdFullOpen — диалогты толық кӛрсету. Қолданушы түсті таңдағанда түстердің жүйелік 
палитрасынан ғана емес,  ӛзі де  түс бере алады; 
cdPreventFullOpen — диалогты толық кӛрсетуге рұқсат бермейді; 
cdShowHelp — Help батырмасын кӛрсетеді. 
TPrintDlalog компоненті – тексті принтерге шығару параметрлерін орнатуға арналған. 
TSavePictureDialog,  TSavePictureDialog  компоненттері  –файл-бейне  атын  таңдауға 
арналған, келешекте жазу немесе оқу үшін қолдануға болатын. 
TFindDialog  компоненті  –  бұл  диалог  арқылы  мәтіндегі  қажетті  фрагментті  іздеуді 
және оған дайындықты  жүзеге асырады, программист жазған кодтар арқылы. 
Опциялары: 
frDown  —  бұл  опцияны  қолданған  жағдайда  іздеудің  алғашқы  бағыты  –  тӛменге 
(басынан аяғына дейін). Сәйкесінше радиокнопка орнатылады; 
frDisableUpDown  —  бағытты таңдауға тиым салады. Радиокнопкалар тобы сұр түспен 
кӛрсетіледі; 
frHideUpDown  —  бағытты  таңдауға  тиым  салады  және  радиокнопкалар  тобын 
кӛрсетпейді.  
Жалаушалар  күйіне келесі  опциялар  жауапты: 
frHideMatchCase — регистр жалаушасын кӛрсетпейді; 
frDisableMatchCase — регистр жалаушасын кӛрсетеді, бірақ ол белсенді болмайды.  
Егер осы опциялар орнатылмаса, жалауша диалогта белсенді болады, және оның мәнін  
қолданушы ӛзгерте алады. Оның мәні Options-тағы frMatchCasc опциясына сәйкес болады. 
Қасиеті, әдістері және оқиғалары: 
FindText – ізделінетін мәтін; 
CloseDialog – диалогты жабады. 
TrayIcon – жүйелік треймен жұмыс жасауға арналған.  
Қасиеті: 

PopupMenu  –  трейді  контекстті  мәзірмен  байланыстырады,  контекстті  мәзір  жеке 
компонентпен қосылған болуы керек; 
PopupMenuOn – контекстті мәзірді ашу; 
RestoreOn – басты терезені жаю. 
СSpinButton  компоненті  –    жұп  батырмалар    қарама-қарсы  бағытшамен,  басқан  кезде 
белгілі  бір  ӛлшемде  арттыруға  немесе  кемітуге  арналған.  Жоғарғы  немесе  тӛменгі 
батырманы басқанда сәйкесінше OnDownClick, OnUpClick оқиғалары пайда болады. 
СDirectoryOutline  –    бұл  компонент  файлдың  иерархиялық  бұтағын  және  ағымдағы 
диск каталогтарын кӛрсетуге арналған. 
Қасиеті: 
Drive – ағымдағы диск мәні, яғни бұтақта кӛрсететін файлдық жүйе құрамы; 
Directory – ағымдағы каталог; 
Ауыстыру буферімен жұмыс жасайтын функциялар: 
CopyToClipBoard() –  буферге кӛшіру; 
PasteFromClipBoard() – буферге қою; 
CutToClipBoard() –  буферге қию; 
 
Ӛзіндік жұмыс тапсымалары 
 
Келесі нұсқалар бойынша мәтіндік редактор құру: 
1.
 
Файлды ашу, сақтау;  
2.
 
Файлды баспаға шығару;  
3.
 
Фон түсін ӛзгерту; 
4.
 
Буфермен жұмыс жасау функциясын қосу; 
5.
 
Жүйелік трейге жұлдызша қосу; 
6.
 
Контекстті мәзірді жүйелік трейге шақыру мүмкіндігін қарастыру; 
7.
 
Жүйелік  трейдегі  жұлдызшаны  тышқанмен  бір  басқанда  терезенің  қалпына  келуін 
орнату; 
8.
 
Трейді контекстті мәзірмен байланысын орнату; 
9.
 
Файлдың иерархиялық бұтағын және  диск каталогтарын кӛрсетуге арналған қосымша 
құру; 
10.
 
Ауыстыру буферімен жұмыс жасайтын қосымша құру. 
 
10 - зертханалық жұмыс.  
С++ Buildеr 6 ортасындағы графика. Объектіні қозғалысқа келтіру. Анимация 
 

Әдістемелік нұсқаулар 
 
1.Графиктік файлдардың форматтары. C++ Builder ортасында графиктік файлдардың 
3 түрлі типімен жұмыс жасауға болады. 
 
 
Файл типі 
Кеңеймесі 
Биттік матрица (Bitmaps) 
Пиктограммалар 
Метафайлдар (Metafiles) 
IPEG Image file 
EnhancidMetafiles 
. bmp 
. ico 
. wmf 
. ipg; . ipeg 
. emf 
 
  
Бұл  файлдардың  барлығында  суреттер  немесе  кескіндер  сақталады,  бірақ  бұлардың 
файлдағы  сақталу  тәсілдері  әртүрлі  болады.  Мысалы,  .btm;  .ico  -  кескіндер  файлға  биттік 
матрица  түрінде  сақталады.Бұл  биттік  матрицалар  кескіндегі  әрбір  пиксельдің  (нүктенің) 
түсін  кӛрсетеді.  Бұл  биттік  матрицада  сақталған  кескінді  кез  келген  компьютер  ӛзінің 
мүмкіндігіне  қарай  кӛрсете  алады.  Келесі  .іco  кеңеймесімен    берілген  файлда 
пиктограммалар  (значоктар)  сақталады.  Пиктограммалардың  ӛлшемін  ӛзгерту  қажет  емес. 
Метафайлдарда  кескіннің  биттері  сақталмайды,  керісінше  сол  кескінді  салу  әдістері 
сақталады. Яғни олар сурет салу командалары.   
2.Графиктік  файлдарды  сақтауға  арналған   C++  Builder-дің  класстары.  C++  Builder 
ортасында графиктік кескінді сақтауға арналған келесі кластар қолданылады: 
TBitMap           Бұл кластардың барлығы үшін түпкі класс  
TIcon                 TGraphic. Мұндағы TРicture класы – ӛзінде 
TMetafile           қалған 3 кластың қасиеттерін қамти алады. 
TPicture         
Сондықтан,  тӛмендегідей і  
TPicture.TІcon; TРicture.TМetafile;                                                                                                    
ТРicture.TBitMap                        
қасиеттерін шақыру мүмкін болады. 
 
3. Кескінді немесе суретті қарау және суретті салу. 
 
1.Image  компоненті.    Бұл  Additational  жапсырмасында  орналасқан.  Мұнда  жоғарыда 
айтылған графиктік файлдар сақталған кескінді кӛруге болады.  

Негізгі қасиеттері: 
Қасиеттің аты 
Қызметі және қабылдайтын мәндері 
 
Picture(TPicture)  
бұл қасиет файлдағы кескінді Image терезесіне жүктейді. Image 
терезесінде суретті кӛруге ғана емес, сақтауға да болады. 
AvtoSize (Boolean)  
 Егер бұл қасиет true мәнге ие болса, онда іmage компонентінің 
ӛлшемдері ол кӛрсететін кескін ӛлшеміне қарай келтіріледі.  
Stretch (Boolean)  
 Егер  бұл  қасиет  true  мәнге  ие  болса,  керісінше,  кескін  немесе 
сурет ӛлшемдері іmage компонентінің ӛлшемдеріне келтіріледі. 
Бұл 
қасиет 
пиктограммаларға 
әсер 
етпейді, 
себебі 
пиктограммалардың ӛлшемдері ӛзгермейді.  
Center (Boolean 
Егер  бұл  қасиет  true  мәнге  ие  болса,  онда  бұл  кескін    іmage 
компонентінің ортасында орналасады. 
 Transparent (Boolean)  
 Егер  бұл  қасиет  true  мәнге  ие  болса,  онда  кескін  кӛрінбей 
тұрады,  (түссіз  (празрачный)  болып  кетеді),  бұл  әсіресе  бір 
кескіннің үстіне екіншісін беттестіргенде жиі қолданылады. Бұл 
қасиет тек биттік матрицаларға ғана жүреді. 
Іmage  компонентінің  терезесіне  кескінді  жүктеу  үшін  немесе  сақтау  үшін  сәйкесінше 
OpenPictureDialog және SavePictureDialog стандарт диалогтық терезе қолданылады. 
4. Канва (Холст, кенеп, Canvаs.  C++ Builder ортасында графикамен жұмыс істеу үшін 
кескінді орналастыратын орын немесе бет керек. C++ Builder  –  де ол үшін   Canvаs қасиеті 
анықталған.    Мұндай    қасиет  Image,  Form,  PaintBox,  ListBox,  StringGrid,  BitMap,  т.б.  бар. 
Канваның  ӛзінің  қасиеттері  және  әдістері  бар.  Канва  нүктелерден  тұрады,  бұл  нүктелердің 
(х,у)  координаталары  болады.  (4.16-сурет)  Канваның  (0,0)  нүктесі  оның  сол  жақ  тӛбесінде 
орналасады.         
Бұл (х,у) координаталары пиксельмен                                                      есептеледі. 
Пиксельдің ең негізгі қасиеті                                                     - оның түсі. Канвада сурет салу 
үшін  оның                                                                                   Pixels  қасиеті  қолданылады.  Бұл  екі                                                       
ӛлшемді массив түрінде анықталады  және ол пикселдің түсін береді, яғни типі Pixels[X] [Y] 
: clColor;   
х 
у 
(0,0) 
4.16-сурет 

 
Жаттығу жұмыстары 
 
f(x)=exp(0.5*Х)   графигін [-5,5 ] аралығында h=0.01қадаммен салу керек /4.17-сурет/.  
 
4.17-сурет.   f(x)=exp(0.5*Х)  функция  графигі 
 
Программа  мәтіні: 
#include  
#pragma hdrstop 
#include "Unit1.h" 
#include "math.h" 
//--------------------------------------------------------------------------- 
#pragma package(smart_init) 
#pragma resource "*.dfm" 
TForm1 *Form1; 
float f(float x)  //функцияның мәндерін есептеу 

float f=exp(0.5*x); 
return f; 


void GrafSizy()  //  график сызатын функция 
{  float x1,x2,y1,y2,x0,y0; 
float x,mx,my; 
 
//график салынатын облысты даярлау 
int Ibik=Form1->Image1->ClientHeight; // image1-дин биктги 
int Iyz=Form1->Image1->Width; //image1-дин узындыгы 
// Y осьти сызу, ол (xY,yY) басталып (xY,cY) нүктеде бітеді; 
float xY=Iyz/2; 
float yY=10; 
float cY=Ibik-10; 
Form1->Image1->Canvas->MoveTo(xY,yY);  
Form1->Image1->Canvas->LineTo(xY,cY); 
// X осьти сызу  ол (xХ,yХ) басталып (сХ, yX ) нүктеде бітеді; 
float xX=10; 
float yX=Ibik/2; 
float cX=Iyz-10; 
Form1->Image1->Canvas->MoveTo(xX,yX);  
Form1->Image1->Canvas->LineTo(cX,yX); 
//бастапкы мандерди аныктау 
x1=-5;  x2=5; y1=f(x1);   y2=f(x2); 
//масштабты тагайындау 
mx=Iyz/(x2-x1); my=Ibik/(y2-y1); 
//координата бас нуктеге (xY,yX) бару 
x0=xY;   y0=yX; 
Form1->Image1->Canvas->MoveTo(x0,y0);   
//график сызу басталды 
x=x1; 
while (x

Form1->Image1->Canvas->Pixels[x0+mx*x][y0-my*f(x)]=clBlack; 
x=x+0.01; 

// 
Form1->Image1->Canvas->TextOutA(x0,y0,'0'); 
Form1->Image1->Canvas->TextOutA(xY,yY,"Y"); 
Form1->Image1->Canvas->TextOutA(cX,yX,"X"); 

//--------------------------------------------------------------------------- 
__fastcall TForm1::TForm1(TComponent* Owner) 
: TForm(Owner) 


//--------------------------------------------------------------------------- 
void __fastcall TForm1::Button1Click(TObject *Sender) 

GrafSizy(); 

//--------------------------------------------------------------------------- 
void __fastcall TForm1::FormCreate(TObject *Sender) 

Memo1->Text="Программа у=ехр(х) функциясынын [-5,5] аралыгындагы графигин 0.01 
кадаммен салып шыгады"; 

5.  Канвада  қолданылатын  сурет  салу  құралдарын  пайдалану,  Pen(қалам,қарындаш,  , 
қылқалам.  Канваның    Pen(ТPen)  қасиеті  бар.  ТРen  қасиеті  объект    ретінде  қарастырылады. 
Бұл объектінің ӛзінің де қасиеттері бар. 
Негізгі қаситтері: 
Color – қалам түсі 
Width – қалыңдығы (қалыпты жағдайда 1 пикселге тең!) 
Height - биіктігі 

Style – қалам стилін білдіреді 
Канваның келесі қасиеттерін пайдаланып суреттер салуға болады: 
PenPos(TPoint)  –  бұл  қасиет  канваның  қаламының  бастапқы  позициясын  анықтайды, 
яғни қаламның қай жерде тұрғанының координатасын кӛрсетеді. 
K=Image1->Canvas-> PenPos ; 
MoveTo(x,y) – қасиеті қаламды координаталары (x,y)  нүктесіне апарып қояды; 
Draw(x,y; Graphic:); -  бұл  графиктік обьектіні  канваға шығарады. График обьектісінің 
орнында  .bmp, .ico немесе метафайл болуы мүмкін. 
6.  Суретке  мәтін  шығару.TextOut(x,y;  const  AnsiString  Text);  -  бұл  х,у  нүктесінен 
бастап текст тұрақтысында сақталған мәтінді канваға шығарады.  
7.  Тұйық  облыстарды  бояу.FillRect(const  TRect    Rect);  -  канвада  Rect  тӛртбұрышын 
бояйды. Бояу үшін қылқаламның түсі және стилі қолданылды. 
FloodFill(x,y;  TColor  Color;  TFillStyle  FillStyle);  -  х,у  нүктесінен  бастап  немесе  х,у 
нүктесі  жататын  тұйық  облысты  Color  түске  FillStyle  стилмен  немесе  ӛрнекпен  /узор/ 
бояйды.  
Brush – бұл канваның қасиеті болып табылады. Канвадағы тұйық фигураларды бояйды. 
Канваның ӛзінің фонын кӛрсетеді. 
Brush обьектісінің негізгі қасиеттер: 
Color  түсін береді 

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   ...   13




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет