Timer – таймер. Бұл компонент шынайы уақыт аралығын есептеу қызметін атқарады.
PaintBox – сурет салуға арналған терезе. Графикалық бейнелерді салуға арналған тіктөртбұрышты бөлік құрады.
MediaPlayer – мультимедиалық ойнатқыш. Бұл компоненттің көмегімен әртүрлі мультимедиалық құрылғылар басқарылады.
OleContainer – OLE – контейнер. Байланыстырылатын немесе енгізілетін объектілерді қабылдау қызметін атқарады.
DIALOGS беті
Dialogs бетінің компоненттері Windows үшін стандартты сұхбат терезелерін жүзеге асырады.
3.5-сурет. Dialogs беті.
OpenDialog – ашу. Стандартты «файлды ашу» сұхбат терезесін шығарады.
SaveDialog – сақтау. Стандартты «файлды сақтау» терезесін шығарады.
OpenPictureDialog – суретті ашу. Суретті алдын ала көру мүмкіндігін сақтай отырып, графикалық файлды таңдайтын арнайы терезені шығарады.
SavePictureDialog – суретті сақтау. Суретті алдын ала көру мүмкіндігін сақтай отырып, графикалық файлды сақтайтын арнайы терезені шығарады.
FontDialog – шрифт. Шрифті таңдайтын стандартты сұхбат терезесін шығарады.
ColorDialog – түс. Түсті таңдайтын стандартты сұхбат терезесін шығарады.
PrintDialog – басып шығару. Құжатты басып шығаруға арналған параметрлерді таңдау сұхбат терезесін шығарады.
PrinterSetupDialog - принтерді баптау. Басу құрылғысын баптауға арналған стандартты сұхбат терезесін шығарады.
FindDialog – іздеу. Мәтін фрагментін іздеуге арналған стандартты сұхбат терезесін шығаруға мүмкіндік береді.
ReplaceDialog – Мәтін фрагментін іздеу мен алмастыруға арналған стандартты сұхбат терезесін шығаруға мүмкіндік береді.
SAMPLES беті
Gauge – қалып күй индикаторы. Win32 бетіндегі ProgressBar компонентіне ұқсас, бірақ формалардың әртүрлілігімен ерекшеленеді.
3.6-сурет. Samples беті.
ColorGrid – түстер кестесі. Бұл компонент 16 түсті палитрадан негізгі және фондық түсті таңдауға арналған.
SpinButton – қос батырма. Қандай да бір сандық шамаларды басқарудың ыңғайлы құралы.
SpinEdit – сандар редакторы. Қос батырманың көмегімен бүтін сандарды өзгерту мүмкіндігімен бірге бейнелеу және жөндеуді қамтамасыз етеді.
DirectoryOutline – каталогтар тізімі. Дискідегі иерархиялық құрылыммен орналасқан каталогтарды бейнелейді.
Calendar - календарь. Айдағы күнді таңдап, көрсетуге арналған.
Дәріс №7. Мәтіндік ақпараттарды енгізу және бейнелеу компоненттері. Кестелік деректерді бейнелеу компоненттері. Иерархиялық деректерді бейнелеу компоненттері. Компоненттер-мәзірлер.
TFrame-рамка және қалып компоненті. Ол компонент ең алғаш Delphi 5-те шыққан. Ол рамкасын айқындайды-контейнерге басқа компонентерді орналастырады.
TPopupMenu-көмекші (локальді) меню.
TpopupMenu-компонентер класын көмекші (локальді) меню құруға пайдаланады, тышқанның оң жақ батырмасын басқаннан кейін пайда болады.
Басты менюден көмекші менюге кез-келген компонентік терезеге құруға болады.
TLabel -текстік бейнелер үшін белгі. Tlabel- (метка) компонентер класы әр түрлі формадағы жазуды сығыстырады. Ол үшін центірлік компонент Caption қасиеттерін пайдалынады.
TFont-қасиеттерінің көмегімен жазуды әр түрліғып жазуға болады. (осы 2 қасиет TgraphicControl мұрасынан белгіленген. Сондықтан ол кестеден дұрыс бейнеленбейді.
TEdit- шығару және жолды бейнелеуді.
Tedit –компонент класы 1 жолды тексті көрсетеді, оның көмегімен бір текстік немесе бірнеше ұзын жолдар қосуға болады.
Центірлік компонент Text.OnChange өңдеуші оқиғасының көмегімен текстің шығуын программа байқалады және оны сүзгілеп алады және шықпаған символдарды илемейді.
TMemo- шығару және тексті бейнелеу.
TMemo- компонент класы шығаруға арналған редакциялау және жеткілікті текстің ұзындығын бейнелейді. Қасиеттерімен және әдістерімен мына кластардың (Count, Add, Delete, Clear және т.б) сақталған компонентер динамикалық өңдеуге болады.
BorderStyle, CanUndo, HideSelection, MaxLentgh, Modified, OEMConvert, OnChange, ReadOnly, Sellength, Selstart және SelText қасиеттері аналогты
Tedit қасиеті.
TButton- батырма . Tbutton-батырмасы программада кең көлемде басқара алады, алгаритм батырмасымен байланысты іске асыру OnClick-оқиға өңденеледі.
TCheckBox- тәуелсіз қосылғыштар. TcheckBox- тәуелсіз қосылғыштар, тұтынушылар өздірінің шыққан шешімдерін көрсете алатын үшін Да/Нет немесе Нет/Незнаю деген үшін пайдалынады.
TRadioButton- тәуелді қосылғыштар. TCheckBox-тен айырмашылығы TRadioButton- компонентері тәуелді қосылғыштарды көрсетеді, бір немесе бірнеше өзара іс-қимылдарын тағайындайды.
TListBox- таңдау тізімі.
TListBox- компонент класы Windows-қа таңдау тізімі үшін стандартты түрде пайдалынады.
TComboBox- тізімдерді таңдауда ашады. TComboBox- комбинерлі тізім TListBox- және редактор Tedit комбинациялық тізімді көрсетеді, сондықиан оның қасиеті және тәсілдері компонентерде өзара байланысты.
TGruopBox- топтасу мәтіні . Бұл компонентер контейнер қызмет етеді, рамка және текстік тіктөрбұрыш терезені көрсетеді, үздік рамка.
TActionlist- механикалық әрекет. Бұл компонент ең алғаш Delphi 4-те шыққан. Ол көрінбейтін бейне және ол механикалық әрекетке қызмет етеді. Ең алдымен оның редакторының көмегімен әрекет құрайды- Taction обьект класы ( редактор 2 рет батырманы басып компонентке немесе опций Action List Editor көмегімен көмекші меню тышқанның оң жағымен үстінен басып отырғанды шығарады.
Timer- таймер нақты уақыт аралықтарын есептеу. Оның қасиеті Interval , интервал уақытын анықтайды милисекундта.
Таймер қосындысы Enable қасиеттегі True-ден өту керек. Таймерді бірлет қосқанда уақыт сайын OnTimer оқиғасын қозғай береді, пока Enable қасиеті False-ні қабылдағанша.
TBitBtn- бейнелі батырма. TВitBtn- пиктографик батырма TВutton батырмасында әр түрлі стандартты атқа ие. Оның ерекше қасиеті-Cluph қасиет, батырманың үстінгі жағында салынады.
TSpeedButton- құрал саймандар тақташасындағы батырма TSpeedButton- батырмасы TBitBtn айырмашылығы 3 жағдайда қарастырылады:
1) бұзылып бара жатқан жағдайды өңдеуге болады..
2) олар берілген модальді терезені жаба алмайды.
3) олар үнсіз бола алмайды.
TMasKEdit- арнайы редактор. TmasKEdit –редактор тексті шығаруға арналған. Егер . TmasKEdit қасиеті берілген онда жай оқағанға True берілген, егерде шаблон жолдары берілсе.
TDrawGrid- тәлкелік кесте.
TDrawGrid- компоненті программистқа құруға мүмкіндік береді және кестелік структура мәлеметтерге қызмет етеді. Бұл өрістер текстік жолдарды сақтауға пайдалынады және суреттейді.
Procedure TfmDrowGrid.FormGreate(Sender:Tobject);
//тізімді құрады және толтырады SlBitMap
const
Fnames:array [0..3] of String={}
(“athena.bmp”,”construe.bmp”,”earth.bmp”,”technlgy.bmp”);
var
k:integer;
begin
//жолдың тізімін құру
SlBitMap:=Tstringlist.Greate;
//Файлдарды немесе суреттерді құрайды
witn SlBitMap do for k:=0 to 3 do
begin
Add(Fname[k]);
Objects[k]:=TbitMap.Greate;
(object[k] as TbitHap). Lood Fromfile(Fname[k]);
end;
end;
procedure TfmDrawGrid. FormDestroy(Sender:Tobject);
//жолдар тізімін жояды.
begin
SlBitMap.Free
end.
Дәріс №8. Графикалық және мулътимедиа -ақпараттарды бейнелеу.
Delphi –де графиканы пайдалану TGanvas класына негізделген (Ganvas –канва, сурет салу, кенебі). Түрлі суреттермен графиктер салу үшін TGanvas класына туындалған 3 класты пайдалануға болады: Windows шрифі үшін –Tfont, түрлі сызықтар сызу үшін Tpen және тұйық фигураларды бояу үшін- TBrush (font-шрифт, pen-қалам, brush-бояу жаққыш).
Tpen- перо обьектісін құрайды, сызық сызуға арналған.
Tpen- обьект шрифтты құрайды, кез-келген графиктік құрылғыға арналған (экран, принциптер, плоттера т.б)
Pixels қасиеттерінің көмегімен канвыдын бүкіл пикселі 2 түрдегі массив нүктесін көрсетеді.
Пиксельдің түрін өзгерту, қайтадан бейнені жеке-жеке нүктеде салуға болады.
Procedure Arc (x1, y1, x2, y2, x3, y3, x4, y4: Integer)
|
Доға элипст сызу (x1, y1)- (x2, y2) доғаның басы қиып өтуде жатыр,(x3, y3) нүктесінің центірінен өтеді, ақырында (x4, y4) центірінен бұрышқа дейін қилысады.см(а)
|
Procedure Chard (x1, y1, x2, y2, x3, y3, x4,y4: Integer)
|
Элипс сегментің сызу (x1, y1)- (x2, y2), бастапқы доға сегменті элипстің қилысуында жатыр(луча), центір нүктесінен (x3, y3) өтеді, ал сонында- қилысуы с лучом центірінің (x4, y4) нүктесінен өтеді. см(б)
|
Procedure Pie (x1, y1, x2, y2, x3, y3, x4,y4: Integer)
|
Секторлық элипсті сызу, (x1, y1)- (x2, y2), центірлік нүктесінен (x3, y3) жүргізілген, ал центірінің соңғы нүктесінен (x4, y4) жүргізілген. Доға сағат тіліне қарсы сызылады. Доғаның басы және соңы тура центірінде қилысады. см(в)
|
Procedure RowndRect (x1, y1, x2, y2, x3, y3, x4,y4: Integer)
|
Cызық сызады және тікбұрышты толықтырады (x1, y1)- (x2, y2) домалақ бұрыштармен. Тікбұрыш (x1, y1)- (x3, y3), доғаның бұрыштарының домалақтану- ының анықтайды. см(г)
|
Қасиет Тағайындама
Color Қаламұш арқылы салынған сызық түсі(15 түрлі)
Style Қаламұш арқылы салынған сызық стилі. Мүмкін мәндер:
psSolid (тұтас сызық), psPash(пунктирлік)
Width Пиксель өлшемі бойынша сызық қалындығы.
|
1-кесте. TPen қасиеттері.
Қасиет Тағайындама
Color Шрифт түсі
Name Шрифт атауы (мысалы, Times Kaz)
Style Шрифт стилі (жартылай қалың, курсив,т.б.) мысалы, программада шрифті жартылай қалың, курсив ету операторының жазылуы: Form 1. Canvas. Font. Style= [fsBold,fsItalic]
|
3-кесте. TBrush (негізгі қасиеті)
Қасиет Тағайындама
Color Бояу жаққыш түсі (объектінің боялу түсі)
|
4-кесте. TCanvas класының кейбір әдістері.
MoveTo(x,y:integer);
(х,у) нүктесіне қаламды орнату
LineTo(x,y:integer);
Қаламұштың ағымдық орнынан бастап, (х,у)нүктесіне дейін түзу кесіндісін сызу. Сызық түсі Pen.Color әдісімен анықталады.
Rectangle(x1,y1,x2,y2:integer);
(х1,у1)-(х2,у2)- тік төртбұрышын салу. Фигураның ішкі облысының түсі бояу жаққыш (Brush.Color) түсімен анықталады.
Ellipse(x1,y1,x2,y2): integer;
(x1,y1)-(x2,y2)- тік төртбұрышына сырттай сызылатын эллипс не шеңбер сызу. Элементтің ішкі облысының түсі бояу жаққыш түсімен анықталады.
TextOut (x,y: integer; ConstText: String);
(x,y) нүктесінен бастап мәтін жазу
Arc (x1,y1,x2,y2,x3,y3,x4,y4: integer);
(x1,y1)-(x2,y2)- тіктөртбұрышына сырттай сызылған элипс сегментін сызу
|
TGraphic және TPicture класы.
Delphi –да ең манызды орын алатын TGraphic және TPicture класы.
TGraphic-ол абстракты класс, инкапсуляцияланған жалпы қаиеттер және әдістер боп 3 мұра қалдырды : пиктограмма(Ticon), метофайлфы (TMetoFile) және расторового бейне (TBitmap).
TGraphic-тің жалпы ерекшелігі файлдарға сақталынады, берілген екі нақты фарматта.
Пиктограмма файлдарына көбінесе ICO кеңейтпесін пайдалынады.
Метафайл-бұл бейне, ол графиктік құрылғыда берілген арнайлы командалармен салынады, WMF немесе EMF мынадай кеңейтпедегі файлдарда сақталынады.
Дәріс №9. Жүйелік диалогтар. Қолданбаны басқаруды ұйымдастыру. Әрекеттерді диспетчерлеу.
Қолданбаларда келесі стандартты әрекеттерді жиі орындауға тура келеді: файлдарды ашу және сақтау, қаріп атрибуттарын беру, палитра түстерін таңдау, контекстік іздеу және ауыстыруды жүргізу және т.б.
Delphi дайындаушылары кітапханаға осындай сұхбат терезелерін жүзеге асыратын орындауға қарапайым компоненттерді қосқан. Олар Dialogs бетінде орналасқан. Келесі кестедеосы диалогтардың тізімі келтірілген:
1-кесте. Жүйелік диалогтар мен олардың үзінділері
Пикто-
грамма
|
Компонент
|
Бет
|
Сипаттама
|
|
OpenDialog
«Файлды ашу»
|
Dialogs
|
«Файлды ашу» сұхбат терезесін жасауға арналған.
|
|
SaveDialog
«Файлды сақтау»
|
Dialogs
|
«Файлды сақтау» сұхбат терезесін жасауға арналған.
|
|
OpenPictureDialog
«Суретті ашу»
|
Dialogs
|
Графикалық файлды ашатын «Сурет ашу» сұхбат терезесін жасауға арналған.
|
|
SavePictureDialog
«Суретті сақтау»
|
Dialogs
|
Бейнені графикалық файлда сақтауға арналған «Суретті сақтау» сұхбат терезесін жасауға арналған.
|
|
FontDialog
«Шрифттер»
|
Dialogs
|
«Шрифттер» сұхбат терезесін жасауға арналған – шрифт атрибуттарын таңдау.
|
|
ColorDialog
«Түс»
|
Dialogs
|
«Түс» сұхбат терезесін жасауға арналған – түсті таңдау.
|
|
PrintDialog
«Баспа»
|
Dialogs
|
«Баспа» сұхбат терезесін жасауға арналған.
|
|
PrinterSetupDialog
«Принтерді орнату»
|
Dialogs
|
«Принтерді орнату» сұхбат терезесін жасауға арналған.
|
|
FindDialog
«Табу»
|
Dialogs
|
«Табу» сұхбат терезесін жасауға арналған – мәтіндегі контестік іздеу.
|
|
ReplaceDialog
«Ауыстыру»
|
Dialogs
|
«Ауыстыру» сұхбат терезесін жасауға арналған – мәтін үзіндісін контестік ауыстыру.
|
|
FileListBox
(файлдар тізімі)
|
Win3.1
|
Каталогтағы барлық файлдар тізімін бейнелейді.
|
|
DirectoryListBox
(каталогтар құрылымы)
|
Win3.1
|
Дискінің каталогтар құрылымын бейнелейді.
|
|
DriveComboBox
(дисктер тізімі)
|
Win3.1
|
Қол жетімді дисктердің ашылатын тізімі.
|
|
FilterComboBox
(фильтрлер тізімі)
|
Win3.1
|
Файлдарды іздеуге арналған ашылатын фильтрлер тізімі.
|
|
DirectoryOutline
(каталогтар ағашы)
|
Samples
|
Таңдалынған дисктің каталогтар құрылымын бейнелеуге арналған компонент мысалы.
|
Осы кестедегі соңғы үш компонент аяқталмаған диалогтар емес, өзіңнің сұхбат терезеңді құруға мүмкіндік беретін олардың үзінділері болып табылады. Барлық диалогтар визуалды емес компоненттер болып табылады, сондықтан олардың формадағы орнының маңызы жоқ. Осы компоненттерге қатынау кезінде түрі Windows версиясы мен жүйенің баптауларына тәуелді болатын стандартты диалогтар шақырылады.
Кез-келген диалогқа қатынау жүргізілетін негізгі әдіс — Execute. Бұл функция диалогтық терезені ашады, және де егер пайдаланушы онда қандай-да бір таңдау жасаған болса, онда функция true мәнін қайтарады. Мұнда диалог компонентінің қасиеттерінде оқуға және ары қарай қолдануға болатын пайдаланушының таңдауы сақталады. Егер пайдаланушы диалогта Отмена батырмасын немесе Esc пернесін басқан болса, онда Execute функциясы false мәнін қайтарады. Сондықтан диалогқа стандартты қатынау келесі түрге ие:
if <диалог-компоненттің атауы>.Execute then
<пайдаланушы таңдауын қолданатын операторлар>;
Дәріс №10. Класстарды анықтау. Әдістерді қайта анықтауды жүзеге асырудың ерекшеліктері. Виртуальды әдістер. Абстрактілі әдістер. Әдістерді жүктеу.
Класс — пайдаланушы анықтаған мәліметтер типі. Delphi –де анықталған класстардың көптігі бұл анықтамаға қайшы келмейді, себебі Delphi дайындаушылаыр да Object Pascal-дың пайдаланушылары.
Класс осы класстың бір айнымалысы болсын жарияланбай тұрып жариялануы керек. Яғни, айнымалыларды жариялаудың ішінде жариялана алмайды.
Кез-келген Делфи-қолданбада төмендегі жолдарды көре аласыз:
type
TForml = class(TForm)
Buttonl: TButton;
procedure ButtonlClick(Sender: TObject);
end;
var
Forml: TForml;
Бұл сіздің формаңыздың TForml класының жариялануы және Forml айнымалысының –осы класс нысанының жариялануы.
Жалпы жағдайда классты жариялау синтаксисі төмендегідей:
Туре
<класс атауы> = Class(<ата-ана классының атауы>)
public // яғни барлығына қатынау
<өрістер, әдістер, қасиеттер, оқиғалар>
published // яғни нысандар инспеторында көрінеді және өзгертіледі
<өрістер, қасиеттер>
protected // ұрпақтарға ғана қатынау
<өрістер, әдістер, қасиеттер, оқиғалар>
private // осы модульде ғана қатынау
<өрістер, әдістер, қасиеттер, оқиғалар>
end;
Класс атауы кез-келген мүмкін идентификатор бола алады. Бірақ көптеген идентификаторларды "Т" символынан бастау қабылданған. Ата-ана класының атауы көрсетілмесе де болады. Онда осы класс тікелей TObject мұрагері деп қарастырылады – анықталған класстардың ішіндегі ең жалпыламасы. Осылайша, келесі жариялаулар эквивалентті:
type TMyClass = class
end;
және
type TMyClass = class(TObject)
end;
Жоғарыда келтірілген TForml формасының класының жариялануында оның ата-ана класы TForm екені көрініп тұр.
Класс өрістерді, әдістерді, қасиеттерді, оқиғаларды өздерінің ата-бабаларынан мұраға алады және класстың осы элементтерінің кейбіреулерін қайтарып, кейбіреулерін жаңасын енгізе алады. Класстың жарияланатын элементтеріне қатынау олардың қай бөлімде жарияланатынына байланысты.
Рublic (ашық) бөлімі сыртқы қолдануға дайын жариялаулар үшін. Бұл класстың ашық интерфейсі. Published (жарияланған) бөлімі ашық қасиеттерді қамтиды, олар нысан инстпекторы қасиеттері бетінде жобалау үрдісінде пайда болады және сәйкесінше пайдаланушы оларды жобалау үрдісінде орната алады. Private (жабық) бөлімі, осы класстың ішінде ғана қолданылатын өрістер, процедуралар және функциялардың жарияланымдарын қамтиды Protected (қорғалған) бөлім жарияланған класстың ұрпақтары ғана қатынай алатын жарияланымдарды қамтиды. Жабық элементтер жағдайы сияқты соңғы пайдаланушыдан қорғалған элементтердің детальдарын жасыруға болады. Дегенмен жабық элементтерге қарағанда қорғалған элементтер осы класстан туынды нысандар жасағысы келген бағдарламалаушылар үшін қол жетімді болып қалады, және де туынды нысандардың осы модульде жариялануының қажеті жоқ.
Өрістерді жариялау айнымалыларды немесе жазба өрістерін жариялау сияқты көрінеді:
<өріс атауы>: <типі>;
Жоғарыда келтірілген форма классын жариялауда төмендегі жолды көре аласыз:
Buttonl: TButton;
Бұл TButton типті Buttonl нысанын (өрісін) жариялау.
Өрісті жариялаудың кәдімгі айнымалыны жариялаудан айырмашылығы бар: өрістерді жариялау кезінде оған қандай-да бір мәнді инициализациялауға болады. Автоматты түрде стандартты инициализация орындалады: реттік типтерге бастапқы мән ретінде бастапқы мән ретніде 0 беріледі, нұсқауыштарға — nil, жолдар бос болады. Қажет жағдайда басқа бастапқы мәндерді беру кезінде конструктолрлар пайдаланылады.
Жай жағдайларда әдістерді жариялау кәдімгі процедуралар мен функциларды жариялаудан айрықшаланады.
Абстрактілі әдістер дегеніміз класста анықталған виртуалды және динамикалық әдістер, бірақ, ешқандай әрекеттерді қамтымайды, ешқашан шақырылмайды және міндетті түрде класс ұрпақтарында қайта анықталуы керек. Абстрактілі әдістер тек виртуалды және динамикалық әдістер бола алады. Object Pascal-да әдісті абстрактілі етіп жариялау үшін оның сипаттамасында virtual немесе dynamic директивасынан кейін abstract директивасы қолданылады:
TOb = class
Procedure X; virtual; abstract;
end;
Мұнда осы әдіс үшін ешқандай кодты жазудың қажеті жоқ. Абстрактілі әдісті шақыру орындау кезеңінің қателігіне әкеледі. Оның класстар мен ұрпақтардың жабатын әдістерін ғана шақыруға болады. Класстардың жеткілікті түрде күрделі иерархиясын қамтитын программаны дайындау кезінде, иерархияның ең жоғары деңгейінде тұратын класстар көбінесе өздігінен қолданылмайды. Олардың негізгі мәні - клсстар иерархиясының текбасшысы бола отырып, абстрагирлеу мүмкіндігін беру. Осы класс-ата-бабаларында ұрпақтарда жабылмайтын жалпылама әдістер жүзеге асырылған, ал жабылатын әдістер жүзеге асырылмайды және абстрактілі болып жарияланады.
Достарыңызбен бөлісу: |