- •Программалауда қазіргі қолданылып жүрген технологиялар. Объектіге бағдарланған программалаудың негізгі қағидалары
- •Әдістемелік нұсқаулар
- •Void assign(double Len, double Wide); // // функция -элемент
- •Өзіндік жұмыс тапсымалары
- •Негізгі визуалдық компоненттер. Vcl кітапханасының компоненттері. Қасиеттері, әдістері және оқиғалары
- •OnClick оқиғасын шақыру.
- •Жаттығу жұмыстары
- •Өзіндік жұмыс тапсымалары
- •Қосымша құруда тізімдерді пайдалану
- •Өзіндік жұмыс тапсырмалары
- •Қосымшадағы ауыстырғыштардың қызметі
- •Әдістемелік нұсқаулар
- •Жаттығу жұмыстары
- •Өзіндік жұмыс тапсымалары:
- •Қосымшадағы терезелердің және мәзірлердің жұмысын ұйымдастыру. Форма және мәзірлер
- •Әдістемелік нұсқаулар
- •Жаттығу жұмыстары
- •Өзіндік жұмыс тапсырмалары
- •Массивтермен жұмыс жасауға арналған компоненттер
- •Әдістемелік нұсқаулар
- •Жаттығу жұмыстары
- •Өзіндік жұмыс тапсымалары
- •Ерекше жағдайларды өңдеу түсінігі. Ерекше жағдайлар класы
- •Әдістемелік нұсқаулар
- •Өңдеуші қызметінің мысалы
- •Жаттығу жұмыстары
- •Wіndows интерфейсінің компоненттерін қолданып файлдарды басқару
- •Әдістемелік нұсқаулар
- •Өзіндік жұмыс тапсымалары
- •Әдістемелік нұсқаулар
- •IndexName – кестеге екінші индексті белгілейді. Бұл қасиетті кесте ашық болғанда өзгертуге болмайды.
- •Insert, Edit, Delete, Append – жазба қосу үшін кестелерді жазу, өңдеу, алып тастау, жазбаларды қосу режимдерiне ауыстырады
- •Жаттығу жұмыстары
- •Өзіндік жұмысқа тапсырмалар
- •Әдістемелік нұсқаулар
- •Терезесі және Add Table диалогтық панелі пайда болады.
- •Таңдаған кесте пайда болады
- •Компоненттерді орналастыру
- •DataModule-ге орналастыру
- •QReport парағын пайдаланып есеп беруді ұйымдастыру
- •Жаттығу жұмыстары
- •Қосымшаның анықтамалық жүйесін құру
- •Жаттығу жұмыстары
- •Өзіндік жұмыстарға тапсырмалары
- •Қосымшаны таратуға даярлау. Дистрибутивтер. Орнатушы инсталляциялық пакетті Install Shield Express утилитасы арқылы жасау
- •Әдістемелік нұсқаулар
- •Мәндерін және кілттерді анықтау
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() – буферге қию;
Өзіндік жұмыс тапсымалары
Келесі нұсқалар бойынша мәтіндік редактор құру:
Файлды ашу, сақтау;
Файлды баспаға шығару;
Фон түсін өзгерту;
Буфермен жұмыс жасау функциясын қосу;
Жүйелік трейге жұлдызша қосу;
Контекстті мәзірді жүйелік трейге шақыру мүмкіндігін қарастыру;
Жүйелік трейдегі жұлдызшаны тышқанмен бір басқанда терезенің қалпына келуін орнату;
Трейді контекстті мәзірмен байланысын орнату;
Файлдың иерархиялық бұтағын және диск каталогтарын көрсетуге арналған қосымша құру;
Ауыстыру буферімен жұмыс жасайтын қосымша құру.
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 ортасында графиктік кескінді сақтауға арналған келесі кластар қолданылады:
T
BitMap
Бұл
кластардың барлығы үшін түпкі класс
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;
Жаттығу жұмыстары
f(x)=exp(0.5*Х) графигін [-5,5 ] аралығында h=0.01қадаммен салу керек /4.17-сурет/.
4.17-сурет. f(x)=exp(0.5*Х) функция графигі
Программа мәтіні:
#include <vcl.h>
#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<x2)
{
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 – түсін береді
Style
BSSolid
- тұтас
бояйды;
BSHorizontal – горизонталь сызықтармен бояйды.
8. Сурет салуға болатын обьектілер немесе компоненттер. Суретті салуға немесе қарауға Image компонентіне басқа Form немесе PaintBox компоненттерін де қолдануға болады. Оларда да Canvas қасиеті бар. Формада сурет салғанда оның OnPaint оқиғасы қолданылады.
Image- де сурет салған кезде оның DrawIng қасиеті қолданылады.
Аннимация. Аннимация – бұл кесінді немесе суретті қозғалтуды айтады.
C++ Builder-де Windows -тың дайын аннимацияларын қолдануға болады немесе салынғансуреттің оның бөліктерін қозғалту арқылы жылжытуға болады.
Кескінді қозғалысқа келтірудің бірнеше тәсілдері бар:
Timer компоненттері пайдаланылады. Мұнда уақытқа байланысты кескінді жылжытуға болады. Мұнда кескін алдын-ала процедура түрінде анықталып алынады. Уақытқа байланысты кескіннің қозғалатын бөлігінің координаталары өзгертіледі.
Кескіннің түсін Canva-ның түсімен сәйкестендіру. Мұнда сурет салушы қаламның түсін өзгертіп отырады.
Animate компоненті бар. Win32-де орналасқан.Бұл компонент Windows-тағы стандарт видеоклиптерді формада көрсету үшін қолданылады. Бұл видеоклиптердің кеңеймесі. AVI. Стандарт видеоклиптерінің Shell 32.dll библеотекасы болады.
