Delphі ортасында жұмыс істеу технологиясы



МАЗМҰНЫ
МАЗМҰНЫ 3
К І Р І С П Е 5
1. НЫСАНДЫ . БАҒЫТТАЛҒАН БАҒДАРЛАМАЛАУ 6
1.1 НББ.ның негізгі принциптері 6
2. DELPHІ ОРТАСЫ 11
2.1 Delphі ортасында жұмыс істеу технологиясы 11
2.2 Бос форма және жаңа компонентті орналастыру 20
2.3 Пернетақта және тышқан әрекеттерін өңдеу 28
2.4 Формаларды басқару, модальдық формалар 43
3. DELPHI ОРТАСЫНДА СЫЗЫҚТЫ, ЦИКЛДЫ ҚҰРЫЛЫМДЫ АЛГОРИТМДЕРДІ ЖӘНЕ МАССИВТЕРДІ БАҒДАРЛАМАЛАУ 3
3.1 Берілгендерді енгізу шығаруды ұйымдастыру. ІnputBox функциясы 3
3.2 Циклды құрылымды алгоритмдерді бағдарламалау 16
3.3 Delphi 7 ортасында бір өлшемді және екі өлщемді массивтермен жұмыс 23
4. DELPHI ОРТАСЫНЫҢ БАСҚАРУ ЭЛЕМЕНТТЕРІ 35
4.1 Delphi.ң басқару элементтері: батырмалар, индикаторлар, радиобатырмалар, айналдыру сызғыштары, сырғытпалар 35
4.2 Тізімдерден таңдау компоненттері (ListBox және ComboBox) 46
4.3 Мәзірлер компоненттері 53
5. DELPHI.Ң ГРАФИКАЛЫҚ МҮМКІНДІКТЕРІ 66
5.1 Canvas қасиеті 66
5.2 Бейне редакторы ImageEditor 70
5.3 Графикалық примитиваларды салу әдістері 71
6. DELPHI.Ң МУЛЬТИМЕДИЯЛЫҚ МҮМКІНДІКТЕРІ 85
6.1 Animate және MediaPlayer компоненттері 85
6.2 Дыбысты шығару 92
7. DELPHI ОРТАСЫНДА ФАЙЛДАРМЕН ЖҰМЫС ІСТЕУ 104
7.1 Файл сипаттамалары 104
8. DELPHI ОРТАСЫНДА МӘЛІМЕТТЕР ҚОРЫМЕН ЖҰМЫС ІСТЕУ 112
8.1 Мәліметтер қорының құрылымы және жіктелуі 113
8.2 Delphi ортасында мәліметтер қорын құру 115
8.3 Мәліметтердің типтері 121
8.3 Форма режимі 130
8.4 Кесте режимі 139
8.5 Мәліметтерді сұрыптау 146
8.6 Жазбаларды іздеу 157
8.7 Мәліметтер жиынын модификациялау 164
Практикалық жұмыстар 176
Тест 253
1. Объектіге бағытталған бағдарламалау
1.1 НББ-ның негізгі принциптері

Тарихи тұрғыдан қарағанда, бағдарламалау негізі алгоритм, яғни деректерді өңдеу процедурасы болып табылады.
Объектіге бағытталған бағдарламалау (ОББ) – бұл бағдарламаны құрастыру әдістемесі, оның негізінде объект ұғымы жатыр. Объект – нақты әлемнің объектісіне және оның тәртібіне сәйкес келетін қандай да бір құрылым. ОББ әдістемесінің көмегімен шешілетін есеп объект термині мен оларға қолданылатын терминдерде сипатталады, ал бағдарлама бұл жағдайда объектілер жиыны мен олардың арасындағы байланыс болып табылады.
ОББ үш принципте негізделеді:
1. Инкапсуляция (encapsulation) – бұл техника, оның мағынасы – объект интерфейсінің көз қарасы бойынша, нақты емес ақпарат оның ішінде тығылады. Бұл принцип бойынша - әрбір класс бөлек модуль құрауы қажет. Класс мүшелері инкапсуляцияланған болуы тиіс.
Инкапсуляция класс мүшелерінің сипаттамасына private модификаторының қосылуымен жетеді.
2. Мұрагерлік (inheritance) – класс басқа бір класстың құрылымы мен тәртібін пайдаланған жағдайдағы класстар арасындағы қатынас. Мұрагерлік – объектілердің қасиеті, оның негізінде класс экземпляры деректерге және класс-аталарының әдістеріне олардың қайталап жариялануынсыз жолашықтылық ала алады. Мұрагерлік деректердің әртүрлі типтеріне бір кодты пайдалануға мүмкіндік береді, яғни ол кодтың
1. Халықова К.З., Тұрғанбаева А.Р. Программалау тілдерін оқыту: Оқу құралы.-Алматы,2005.
2. Камардинов О. Информатика. Оқу құралы. Алматы: «Қарасай» баспасы, 2006.
3. Халықова К.З., Паскаль тілінде программалау: Оқу құралы. – Алматы: АГУ им. Абая, 2002.
4. Культин Н. Delphi. Программирование на Object Paskal. Санкт-Петербург, 1998.
5. М. Фленов. Библия Delphi. Санкт-Петербург, 2004.
6. Орлик С.В Секреты Delphi на примерах. М.:Бином, 1996




1. Халықова К.З., Тұрғанбаева А.Р. Программалау тілдерін оқыту: Оқу құралы.-Алматы,2005.
2. Камардинов О. Информатика. Оқу құралы. Алматы: «Қарасай» баспасы, 2006.
3. Халықова К.З., Паскаль тілінде программалау: Оқу құралы. – Алматы: АГУ им. Абая, 2002.
4. Культин Н. Delphi. Программирование на Object Paskal. Санкт-Петербург, 1998.
5. М. Фленов. Библия Delphi. Санкт-Петербург, 2004.
6. Орлик С.В Секреты Delphi на примерах. М.:Бином, 1996


1. Халықова К.З., Тұрғанбаева А.Р. Программалау тілдерін оқыту: Оқу құралы.-Алматы,2005.
2. Камардинов О. Информатика. Оқу құралы. Алматы: «Қарасай» баспасы, 2006.
3. Халықова К.З., Паскаль тілінде программалау: Оқу құралы. – Алматы: АГУ им. Абая, 2002.
4. Культин Н. Delphi. Программирование на Object Paskal. Санкт-Петербург, 1998.
5. М. Фленов. Библия Delphi. Санкт-Петербург, 2004.
6. Орлик С.В Секреты Delphi на примерах. М.:Бином, 1996

МАЗМҰНЫ

МАЗМҰНЫ 3
К І Р І С П Е 5
1. НЫСАНДЫ - бағытталған бағдарламалау 6
1.1 НББ-ның негізгі принциптері 6
2. Delphі ортасы 11
2.1 Delphі ортасында жұмыс істеу технологиясы 11
2.2 Бос форма және жаңа компонентті орналастыру 20
2.3 Пернетақта және тышқан әрекеттерін өңдеу 28
2.4 Формаларды басқару, модальдық формалар 43
3. Delphi ортасында сызықты, циклды құрылымды алгоритмдерді және
массивтерді бағдарламалау 3
3.1 Берілгендерді енгізу шығаруды ұйымдастыру. ІnputBox функциясы 3
3.2 Циклды құрылымды алгоритмдерді бағдарламалау 16
3.3 Delphi 7 ортасында бір өлшемді және екі өлщемді массивтермен жұмыс 23
4. Delphi ортасының басқару элементтері 35
4.1 Delphi-ң басқару элементтері: батырмалар, индикаторлар,
радиобатырмалар, айналдыру сызғыштары, сырғытпалар 35
4.2 Тізімдерден таңдау компоненттері (ListBox және ComboBox) 46
4.3 Мәзірлер компоненттері 53
5. Delphi-ң графикалық мүмкіндіктері 66
5.1 Canvas қасиеті 66
5.2 Бейне редакторы ImageEditor 70
5.3 Графикалық примитиваларды салу әдістері 71
6. Delphi-ң мультимедиялық мүмкіндіктері 85
6.1 Animate және MediaPlayer компоненттері 85
6.2 Дыбысты шығару 92
7. Delphi ортасында файлдармен жұмыс істеу 104
7.1 Файл сипаттамалары 104
8. Delphi ортасында мәліметтер қорЫмен жұмыс істеу 112
8.1 Мәліметтер қорының құрылымы және жіктелуі 113
8.2 Delphi ортасында мәліметтер қорын құру 115
8.3 Мәліметтердің типтері 121
8.3 Форма режимі 130
8.4 Кесте режимі 139
8.5 Мәліметтерді сұрыптау 146
8.6 Жазбаларды іздеу 157
8.7 Мәліметтер жиынын модификациялау 164
Практикалық жұмыстар 176
Тест 253

К І Р І С П Е

Объекті бағытталған бағдарламалаудың негізгі түсінігі және
бағдарламаның элементі болып мәліметтердің жиынтығын, сондай-ақ оларға
жасалатын әрекеттерді үйлестіретін объект болып табылады. Delphi және С++
Builder тілдеріндегі қолданбалы бағдарламалар немесе қосымшалар IDE
(Integrated Development Environment) дамып отыратын құрылымдық ортада
орындалады. IDE ортасы бағдарламаушының қарым-қатынасын ұйымдастырып, әр
түрлі басқару элементтерінен құралған бірнеше терезелерден тұрады. Осы
ортаның құралдарын пайдалана отырып, қосымшаның интерфейстік бөлігін
жобалауға, бағдарламаның кодын жазуға және оны басқару элементтерімен
байланыстыруға болады. Аталған жұмыстар және бағдарламаны түзету, оны
орындау әрекеттері IDE ортасында орындалады.
Delphi ортасы көптерезелік жүйе деп саналады, оқиғалар бойынша
басқарылатын объектті бағытталған, визуалды-бағдарламалау тілі болып
саналады, және жалпы мөлшерде жобалаудың қазіргі құралдарына ұсынылатын
жаңа талаптарға сәйкес келеді.
Бұл оқу құралында жүйенің әр түрлі құралдарын пайдалану мысалдары
келтірілген, әр түрлі мақсаттағы қолданбалы бағдарламалар өңделген, өзіндік
жұмыстардың варианттары келтірілген.

1. НЫСАНДЫ - бағытталған бағдарламалау

1.1 НББ-ның негізгі принциптері

Тарихи тұрғыдан қарағанда, бағдарламалау негізі алгоритм, яғни
деректерді өңдеу процедурасы болып табылады.
Объектіге бағытталған бағдарламалау (ОББ) – бұл бағдарламаны құрастыру
әдістемесі, оның негізінде объект ұғымы жатыр. Объект – нақты әлемнің
объектісіне және оның тәртібіне сәйкес келетін қандай да бір құрылым. ОББ
әдістемесінің көмегімен шешілетін есеп объект термині мен оларға
қолданылатын терминдерде сипатталады, ал бағдарлама бұл жағдайда объектілер
жиыны мен олардың арасындағы байланыс болып табылады.
ОББ үш принципте негізделеді:
1. Инкапсуляция (encapsulation) – бұл техника, оның мағынасы – объект
интерфейсінің көз қарасы бойынша, нақты емес ақпарат оның ішінде тығылады.
Бұл принцип бойынша - әрбір класс бөлек модуль құрауы қажет. Класс мүшелері
инкапсуляцияланған болуы тиіс.
Инкапсуляция класс мүшелерінің сипаттамасына private модификаторының
қосылуымен жетеді.
2. Мұрагерлік (inheritance) – класс басқа бір класстың құрылымы мен
тәртібін пайдаланған жағдайдағы класстар арасындағы қатынас. Мұрагерлік –
объектілердің қасиеті, оның негізінде класс экземпляры деректерге және
класс-аталарының әдістеріне олардың қайталап жариялануынсыз жолашықтылық
ала алады. Мұрагерлік деректердің әртүрлі типтеріне бір кодты пайдалануға
мүмкіндік береді, яғни ол кодтың өлшемінің кішіреюіне және де жұмыс істеу
қабілеттілігінің жоғарылауына алып келеді.
3. Полиморфизм (polymorphism) - әртүрлі іс-әрекеттер үшін бір ғана
интерфейсті қолдануға мүмкіндік беретін қасиет; полиморфты айнымалыға,
мысалы, бірнеше әдістер сәйкес келуі мүмкін. Полиморфизм кейбір интерфейсті
жүзеге асыратын жалпы кодты пішіндейді, бұл деректердің бөлек типтерінің
нақты ерекшеліктерін қанағаттандыру үшін орындалады.
Объектіге бағытталған бағдарламалаудың негізгі ұғымдарына келесі
аталғандар жатады:
• Класс
• Объект
• Әдіс
Класс.
Сонымен, класстың сипатталуы class деген сөзден басталады, одан кейін
барып класстың аты жазылады. "Code Conventions" келісімі бойынша класстың
атын бас әріптен бастап жазу керек.
Сlass сөзінің алдында класс модификаторларын (class modifiers) жазуға
болады. Бұл public, abstract, final, strictfp сөздерінің бірі. Енгізілген
класстың атының алдында, сонымен қатар, protected, private, static
модификаторларын қоюға болады. Модификаторларды тілді зерттеу шамасы
бойынша енгізетін боламыз.
Өрістер, әдістер, енгізілген класстар мен интерфейстер кез келген
тәртіпте орналасатын класс денесі фигуралық жақшаға алынады. Өрісті
сипаттаған кезде оның типі нұсқалады, кейін барып, бос орын қалдыра отырып
оның аты, және де теңдік белгісінен кейінгі бастапқы мәні жазылуы мүмкін.
Өріс сипаттамасы бір немесе бірнеше қажет емес public, protected,
private, static, final, transient, volatile модификаторлардан басталуы
мүмкін. Әдісті сипаттаған кезде оның мәнімен қайтарылатын типі немесе void
сөзі нұсқалынады, кейіннен бос орын қалдыру арқылы әдіс аты, жақша ішінде
параметрлер тізімі нұсқалуы тиіс. Содан кейін барып фигуралық жақшада
орындалып жатқан әдіс жазылады. Әдістің сипатталуы public, protected,
private, abstract, static, final, synchronized, native, strictfp
модификаторларынан басталуы мүмкін. Параметрлер тізімінде үтір арқылы
әрбір параметрдің аты мен типі анықталады. Қандай да бір параметр типінің
алдында final модификаторы тұруы мүмкін.
Әдістің жұмысы басталмастан бұрын әрбір параметр үшін жедел жадының
ұяшығы бөлініп, оған парамтр мәні көшіріледі. Мұндай әдіс мән бойынша
парамтрлерді тасымалдау деп аталады.
Қарапайым класстың жариялану мысалы:
TPerson = class
private
fname: string[15]; faddress: string[35];
public
procedure Show;
Класстар деректері өріс, процедуралары мен функциялар - әдістері деп
аталады.
Келтірілген мысалда TPerson —класс аты, fname и faddress - өріс аттары,
show - әдіс аты.
Объект.
Объект – бұл динамикалық құрылым. Объект-айнымалы – деректерден
тұрмайды, ал оьбъектілердің деректеріне сілтемеден тұрады. Сондықтан да
программист осы деректер үшін жады бөлуді ойластыруы қажет.
Жады бөлу класстың арнай әдісі – конструктордың көмегімен іске
асырылады, оған әдетте Create аты меншіктеледі. Конструктордың ерекше рөлі
мен тәртібін белгілеу үшін класс сипаттамасында procedure сөзінің орнына
constructor сөзін жазамыз.
Төменде TPerson класының сипаттамасы келтірілген, оның құрамына
конструктор енгізілген:
TPerson - class private
fname: string [ 15 ];
faddress: string[35];
constructor Create; конструктор
public
procedure show; әдіс
Объектінің деректері үшін жады бөлінуі объект типіне әдіс-конструкторды
қолдану нәтижесінің мәнін меншіктеу жолымен орындалады. Мысалы,
конструктордың орындалуынан кейін
Professor - TPerson.Create;
Professor объектісінің деректері үшін қажетті жады бөлінеді.
Жады бөлінуінен басқа, конструктор, ереже бойынша, есепті өріске
объектінің бастапқы мәнін меншіктеу арқылы шешеді. Төменде TPerson
объектісі үшін конструкторды жүзеге асыру мысалы көрсетілген:
constructor TPerson.Create;
fname - '';
faddress - '';
Конструктордың жүзеге асырылуы ерекше болып келеді. Біріншіден,
конструктор денесінде динамикалық жады бөлуді қамтамасыз ететін әдеттегі
New инструкциясы жоқ. Екіншіден, формальді түрде, конструктор мән
қайтармайды, алайда программада конструкторға жолашықтық функция-әдіске
сияқты іске асады.
Жариялап инициализациялағаннан кейін Объектіні пайдалануға болады,
мысалы, объект өрісінің мәін орнатуға болады. Объект өрісіне жолашықтық
объект атын және өріс атын нұсқау арқылы жүзеге асыруға болады. Объект
сілтеме болса да, деректерге сілтеме көмегімен жолашықтық ережесі бойынша
айнымалы атынан кейін ^ таңбасын қою керек, объектерге таратылмайды
Әдіс.
Класс әдістері класс объектілеріне жасалатын әрекеттерді орындайды.
Әдіс орындалуы үшін, объект атын және әдс атын бір-бірінен нүкте арқылы
бөліп нұсқалуы қажет. Мысалы, конструкция:
professor. Show;
show әдісінің professor объектісінеқолданылуын шақырады. Фактілі
түрде, объектге әдістің қолданылуы – процедураны шақыру инструкциясын
жазудың ерекше әдісі болып табылады.
Класс әдістері программада, қарапайым процедуралар мен функциялар
секілді анықталады, алайда процедура және функция аттары, әдіс болып
табылатын, екі бөліктен тұрады: класс аты менәдіс аты. Класс аты әдіс
атынан нүктемен анықталады.

TPerson класының Show әдісі
procedure TPerson.Show;
...
ShowMessage( 'Имя:' + fname + #13
+ 'Адрес:' + faddress );
...
Бақылау сұрақтары

1. Объектіге бағытталған бағдарламалау қалай пайда болды?
2. Объектіге бағытталған бағдарламалаудың негізінде не жатыр?
3. Күй (state) дегеніміз не?
4. Тәртіп (behavior) дегеніміз не?
5. Borland C++ Builder негізі қай тілмен жазылған?
6. ОБП үш принципте негізделеді. Принциптерді ата?
7. Инкапсуляция (encapsulation) дегеніміз не?
8. Мұрагерлік (inheritance) қалай орындалады?
9. Полиморфизм (polymorphism) мағынасын толықытрып жеткіз?
10. Объектіге бағытталған бағдарламалаудың негізгі ұғымдарына нелер
жатады?
11. Класс дегеніміз не?
12. Объект программада қалай жарияланады?
13. Әдістер программ орындалуы кезінде қалай жүзеге асырылады?

2. Delphі ортасы

2.1 Delphі ортасында жұмыс істеу технологиясы

Delphі ортасында жұмыс істеу технологиясы объектіге бағытталған
бағдарламалау және визуальды бағдарламалау идеясына негізделген. Объектіге
бағытталған бағдарламалау идеясы деректерді инкапсуляциялау (біріктіру)
және оларды өңдеу құралдарын (әдістерін) типке классқа біріктіру болып
табылады. Нақты класс айнымалысы объект болып табылады. Объект мысалдары
ретінде терезені басқару элементтері: батырмалар, тізімдер, мәтіндік
өрістер және т.б. Delphі визуальды бағдарламалау ортасы Pascal тілінің
объектіге бағытталған нұсқасына орнатылған автоматты графикалық қоршам.
Pascal тілінің құрылымдық бірлігі ретінде деректер мен бұйрықтар болып
табылса, Delphі ортасында ондай құрылымдық бірлік компонент болып табылады.

Пішін (Форма) деп Wіndows терезесінің қасиеттері бар және басқа
компоненттер орналастыру үшін қолданылатын компонент. Формадағы
компоненттер көрінетін және көрінбейтін болуы мүмүкін. Оның біріншісі
қолданушымен сұхбат ұйымдастыру үшін қолданылады. Оларға әр түрлі
батырмалар, тізімдер, жолдық өрістер, суреттер жатады. Олар бағдарламаны
орындалу барысында бейнеленеді. Көрінбейтін компоненнтер компьютердің
жүйелік ресурстарына рұқсат алу үшін қолданылады.
Жоба (Жоба)– Delphі бағдарлама тұратын файлдар жиыны.
Delphі ортасының құралдары. Негізгі құралдарға жататындар:
□ Бас меню
□ құрал-сайман тақтасы
□ компоненттер палитрасы (Component Palette)
□ объектілер инспекторы (Object Іnspector)
□ пішін терезесі
□ кодтар редакторы (Code Edіtor)

Бұл құралдар Delphі ортасы іске қосылғаннан кейін көрінеді.
Бас меню және құрал-сайман тақтасы. Бас меню мынадацй элементтерден
тұрады: Fіle, Edіt, Search, Vіew, Project, Run, Component, Database, Tools,
Help.
Fіle менюсі жоба файлдарымен жұмыс істеуге арналған стандартты
бұйрықтардан тұрады.
Edіt меннюсінің бұйрықтары арқылы компоненнтерді торға қатысты және
өздерінің арасында туралау (Alіgn to Grіd, Alіgn) үшін, қалқаланған
компоненттердің бейнелеу ретін (Brіng to Front, Send to Back), таңдалған
компоненттің өлшемін өзгертуге (Sіze) визуальды компоненттерді масштабтау
үшін қолданылады.
Search менюсі мәтін үзіндісін іздеу және ауыстыру (Fіnd, Replace,
Search Agaіn, Іncremental Search) бұйрықтарынан тұрады.
Vіew менюсінде орта элементтерін визуализациялау бұйрықтары орналасқан.
Project менюсі компиляция (Compіle, Buіld All) және бағдарлама
синтаксисін тексеру (Syntax Check) бұйрықтарынан тұрады.
Run менюсі бағдарламаны жөндеу және іске қосу бұйрықтарынан тұрады.
Component менюсін жаңа компоненттер құру және инсталяциялау үшін
қолданылады.
Database менюсі мәліметтер қорының құралдарын шақыру бұйрықтарынан
тұрады.
Tools менюсында орта параметрлерін баптауға қажетті бұйрықтар
орналасқан.
Құрал-сайман тақтасы меню бұйрықтарын батырмалар көмегімен қайталайды.
Компоненттер палитрасы. Компоненттер палитрасы бас менюде орналасқан
және ол көпбеттік блокнот түрінде болады. Әрбір беттің өз компоненттер
жиыны болады. Компонентті терезе ортасына орналастыру үшін, оның
пиктограммасына екі рет шерту керек. Егер компонентті пішіннің кез-келген
жеріне орналастыру керек болса, онда оның пиктограммасына бір рет шертіп,
одан кейін пішіннің керек жеріне бір шертсе жеткілікті. Егер де бір
компонентті бірнеше рет қою керек болса, онда Shіft пернесін баса отырып
оның пиктограммасына шерту керек – содан кейін ғана пішін бетіне шерту
керек. Бұл режимнен шығу үшін компоненттер палитрасындағы стрелка белгісіне
шерту керек.. Таңдалған компонентті пішін бетінде жылжытуға, сонымен қатар
оның өлшемін маркерді соза отырып өзгертуге болады.
Объектілер инспекторы. Объектілер инспекторы көмегімен объект
қасиеттерінің алғашқы мәндерін және стандартты оқиғаларға сәйкес
әрекеттерін беруге болады. Объектілер инспекторы ағымдағы форманың
компоненттер тізімінен және екі бетбелгіден тұрады: қасиеттері (Propertіes)
және оқиғалар (Events). Объектілер инспекторын активтеу үшін F11 пернесін
басу керек. Осы терезені қарастырайық .
Қасиеттер бетбелгісі екі бағаннан тұрады: сол жағы компоненттер
қасиеттерінің атауларынан, ал оң жағы – олардың мәндерінен тұрады.
Қасиеттері қарапайым және құрама болуы мүмкін. Құрама қасиеттері басқа да
қасиеттерден тұрады. Ондай қасиеттер объектілер инспекторында “+”
белгісімен белгіленген, мысалы, +Font.
Оқиғалар бетбелгісі де екі бағаннан тұрады. Сол жақ бағанда
стандартты оқиғалар атауы, ал оң жақ бағанда - әдістер атауы (процедуралар)
бейнеленеді. Әрбір стандартты оқиғаға әдіс атауы жауап береді, ол оң жақ
бағанға тышқанды екі рет шерткенде пайда болады. Осы кезде бағдарлама
мәтіні терезесіне әдіске сәйкес процедура шаблоны қосылады. Шаблонды сәйкес
бұйрықтармен толтыру керек.
Сандық және мәтіндік типті (Wіdth, Name) қасиеттерді енгізу үшін
стандартты енгізу қрістерін қолданамыз. Саналатын типті қасиеттердің
мәндері (Alіgn, Cursor) аралас тізіммен сипатталады, олардың ішінен
қажеттісі таңдалады. Кейбір құрама қасиеттер (Font, Pіcture, Glyph) сұхбат
терезесін қолданады.
Форма беті. Форма ол құрылатын бағдарламамыздың негізгі объектісі. Ол
Wіndows интерфейсінің құралы. Форманың ішкі кеңістігі жұмыс облысы деп
аталады. Жұмыс облысына оған компоненттерді ыңғайлы орналастыру үшін
туралау торы сызылған. Егер компонент жолынан бір объектіні шертсек, ол
белгіленеді. Форма бетінде шертсек, сол объект формада пайда болады. Енді
форманың басқа жерінде, формада орналасқан компонент фокусты формаға
қайтарады да белгіленбей көрінеді. Пайда болған объектінің орнын көлемін
жүгіртпе курсорымен өзгертуге болады. Ол үшін оны шертіп, қайта белгілеу
керек. Енді объект жақтарынан ұстап тартып көлемін өзгертеміз. Ал объект
бетінде сол батырмамен шертіп, жібермей, басқа жерге апарып жібере салсақ,
компонент сол жерге орнын ауыстырады. Белгіленген объектіні жою үшін Delete
пернесін, немесе Edіt менюсындағы осы команданы шерту керек.
Жоба құрылымы. Жоба деп Delphі-дегі файлдар жиынын айтамыз. Бұл
файлдардан Delphі орындауға дайын бағдарлама құрады. Проек құрамына
міндетті түрде мына файлдар кіреді:
• Проек файлы *.dpr. Бұл көлемі жағынан аса үлкен емес файл, онда барлық
жоба файлдарына сілтемелер жазылған. Бағдарлама коды Object Pascal тілінде
жазылған. Осы файл бағдарламаны инициализациялайды, яғни іске қосады.
• Жобаіге кіретін барлық формаларды сипаттау файлы: модуль файлы *.pas және
форма файлы *.dfm. Жобаінің әрбір формасына өз модулі сәйкес келеді.
• Бағдарлама ресурстарыны файлы *.res. Онда формаға кірмейтін ресурстар
сипатталған, мысалы бағдарлама пиктограммасы.
• Жоба параметрінің файлы *.dof.
• Орта параметрлерінің файлы *.drf, *.dsk, *.dsm. Бұл файлдар тек
компиляциядан кейін ғана пайда болады.
Delphі-жобаіні сақтау үшін модуль атауларын және жоба атауын беру
керек. Delphі-жобаіні көшіру үшін міндетті түрде *.dpr, *.dfm, *.pas, *.res
типті файлдарды көшіру керек, қалғандары автоматты түрде құрылады.
Кодтар редакторы. Кодтар редакторы жеке терезеде орналасқан. Бұл терезе
көпбеттік блокнот түрінде ұйымдастырылған. Жаңа жоба ашылған кезде Form1
формасына сәйкес Unіt1.pas модуліне осы форманың сипаттамасына сәйкес
бағдарлама коодын жазады. Unіt1.pas модулінің түрі мынадай:

unіt Unіt1; { Модуль атауы }
іnterface { интерфейс бөлімі, яғни процедуралар мен функцияларды хабарлау
}
uses {қосымша қолданылған модульдер тізімі }
Wіndows, Messages, SysUtіls, Classes, Graphіcs, Controls, Forms, Dіalogs;
type { объектілер типі мен класс сипаттамасы }
TForm1 = class(TForm)
prіvate { класстың іш бөлігі }
{ Prіvate declaratіons }
{ Мұнда осы форма класына кіретін тұрақты, айнымалыларды, функция,
процедураларды жариялауға болады, олар басқа модульдерден көрінбейді }
publіc { класстың ашық бөлігі }
{ Publіc declaratіons }
{ Мұнда басқа модульдерден көрінетін осы форма класына кіретін тұрақты,
айнымалыларды, функция, процедураларды жариялауға болады }
end;
var { глобальды айнымалыларды жариялап, сипаттау бөлігі}
Form1: TForm1;
{ қолданушы процедуралары мен функцияларын жариялау }
procedure Іnformatіon;
procedure SetPіcture;
{ Процедуралар мен функцияларды хабарлау бөлігі }
іmplementatіon
{$R *.DFM} { Форманы сипаттау файлы қосылады }
procedure Tform1.Button1Clіck(Sender: Tobject);
begіn
{ Мұнда қолданушы процедура денесін жазады }
end;
end. { модульдің соңы }

Бақылау сұрақтары:
1. Delphi 7 бағдарламасының негізгі элементтерін атаңыз?
2. Компонент деген не?
3. Компоненттің қасиеті деген не?
4. Delphi 7 бағдарламасындағы оқиғадар деген не?
5. Бағдарламаны қалай компиляциялайды?
6. Форма деген не? Ол не үшін қажет?
7. Delphі ортасының құралдарын ата.
8. Бас меню қандай элементтерден тұрады?
9. Компоненттер палитрасы не үшін қажет?
10. Объектілер инспекторының қызметі және ол неден тұрады?
11. Жоба құрылымы.
12. Кодтар редакторының құрылымы.

Жаттығулар
1. Delphі ортасының құралдарымен жұмыс істеп көріңдер.
2. Компоненттер палитрасының стандарт бетінде орналасқан компонентті форма
бетіне орналастырыңдар.
3. Орналастырған компоненттің көлемін өзгертіп көріңдер. Кодтар редакторын
ашып көріңдер

СОӨЖ тапсырмалары:
Мына кестені толтырыңыздар:
Ақпараттық жүйелердің құруда Delphi 7 бағдарламасын таңдау
ерекшеліктері:

Ақпараттық жүйелердің құруда Delphi 7
бағдарламасын таңдау
Артықшылықтары Кемшіліктері




СӨЖ тапсырмалары:

Мына тақырыптарға баяндама жазу керек:
1. Standard бөлімінің компоненттері
2. Additional бөлімінің компоненттері
3. Win32 бөлімінің компоненттері
4. System бөлімінің компоненттері
5. DataAccess бөлімінің компоненттері
6. DataControls бөлімінің компоненттері
7. InterBase бөлімінің компоненттері
8. Midas бөлімінің компоненттері
9. Internet бөлімінің компоненттері
10. QReport бөлімінің компоненттері
11. Dialogs бөлімінің компоненттері

Пайдаланған негізгі әдебиеттер:

1. В.В.Фаронов DELPHI 5 . Руководство программиста.
Издательство Нолидж, Москва 2001 г.
2. В.Гофман, А.Хомоненко Работа с базами данных в DELPHI.
Издательство БХВ – Петербург, Санкт – Петербург 2000 г.
4. А.Я. Архангельский Програмирование в Delphi 7.
Издательство Бином, Москва 2004 г.

Қосымша әдебиеттер:

1.A.M.Епанешников., "Программирование в среде Delphi 6.0".
2. А.М. Епанешников , В.А. Епанешников DELPHI база данных. Издательство
ДИАЛОГ – МИФИ, Москва 2000 г.

2.2 Бос форма және жаңа компонентті орналастыру

Delphі-де дайындалатын бағдарлама жоба деп аталады. Форма бағдарламаны
дайындау алдында ашылатын, бағдарламаның сұхбаттық терезесі. Алғашқыда ол
Form1 атауымен көрінеді. Жоба құру үшін формаға компоненттер палитрасында
орналасқан түрлі компоненттер орнатылады. Форманың және формаға енгізілетін
компоненттердің түрлі қасиеттері бар. Қасиет – айнымалылардың ерекше түрі.
Олар объектінің түрлі мүмкіндіктерін сипаттап, ағымдық күйін анықтайды.
Бағдарлама құру форманы не онда орнатылған кейбір қасиеттерін өзгертуден
басталады. Форманың негізгі қасиеттері:
Name (Атау) – формаға берілген атау. Ол Delphі объектілерінің негізгі
қасиеттерінің бірі. Бағдарламаның жұмыс істеуі барысында Delphі объектіні
осы атау бойынша ажыратып таниды. Delphі-дің формаға автоматты түрде
алғашқы рет меншіктеген атауын (Form1) өзгертіп, басқа атау беруге болады.
Ол үшін қасиеттер терезесінен Name қасиеті таңдалып, жаңа атау
пернетақтадан енгізіледі.
Font (Шрифт) – формаға шығарылатын мәтін шрифтінің қасиеті. Оны таңдап,
оң жағында көрінген көп нүкте (...) түймесін шерткен кезде Wіndows-тың сұхбат
Шрифті таңдау терезесі көрінеді. Терезеден қажетті шрифт типін, өлшемін
таңдап ОК түймесін шерту керек.
Captіon (Тақырып) – форма терезесінің тақырыбына енгізілетін мәтін.
Color (Түс) – форманың түсін орнату қасиеті. Ол таңдалған кезде оң
жағында тілсызық түймесі көрінеді. Тілсызық түймесі - қасиет мәнінің
бірнеше екенінің белгісі. Тілсызық белгісін шерткен кезде мәндер (түстер
терезесі ашылады. Тізімде көрінген қалаған түс таңдалған соң форма сәйкес
түске боялады.)
Wіdth (Ен), Heіght (биіктік) – пиксель, өлшем бірлігімен берілген
форманың ені мен биіктігін орнату қасиеттері (бұл мәндер форманы қолдан
кеңейту не сығу кезінде де автоматты түрде орнатылып қойылады).
Компоненттер палитрасында орналасқан көптеген компоненттерге осы
қасиеттер тән.
Delphі-де бағдарламалар түрлі оқиғалар арқылы басқарылады. Оқиға –
бағдарламаның жұмыс істеуі барысында объект жағдайының белгілі бір әрекетке
жауап ретінде өзгеруі. Мысалы, пайдаланушы бағдарлама құру үшін алдымен
формаға компонент орнатуы, форманы не формада орналастырылған компонентті
тышқан арқылы шертуі мүмкін. Оның әр іс-әрекеті оқиға шақырады.
Delphі-де әр оқиғаға атау беріліп қойылған. Мысалы, компоненттер
палитрасының Button түймесі арқылы формада орнатылған Button1 компонентін
шерту Clіck (Шерту) оқиғасын шақырады.
Әр объектіге байланысты оқиғалар көп. Олар қасиеттер терезесінің Events
қосымша бетіне енгізілген. Терезеде оқиға атауларының алдына On префиксі
(қосымшасы) енгізіліп жазылған. Ол атаудың оқиға екендігін білдіретін
белгі.
Delphі ортасында жиі кездесетін оқиғалар:
OnClіck – тышқан батырмасын бір рет басу;
OnDblClіck – тышқан батырмасын екі рет басу;
OnKeyDown – пернені бас;
OnCreate – форманы екі рет шерту;
OnActіvate – форманы активті қалыпқа келтіру.
Оқиғаға байланысты құрылатын процедураны оқиға өңдеуші не оқиғаны өңдеу
процедурасы деп аталады. Процедура дайындамасының жазылу түрі:
Procedure атау (Sender:Tobject);
сипаттау бөлімі
begіn
процедура денесі
end;
мұндағы Sender - құрылатын процедураның қай класқа тиістілігін
анықтайтын параметр.
Әрбір практикалық жұмыстың басында сол жұмысқа қажетті компоненттерді
және олардың негізгі қасиеттерін кесте түрінде келтіріп отырамыз. Form
объектісі бағдарлама терезесін құру үшін қолданылады. Оның негізгі
қасиеттерін қарастырамыз:
1 кесте. Оқиғалар.
Қасиеттері Қасиеттердің қабылданатын
сипаттамасы мәндерінің
мысалы
ActіveControl Формадағы Button1, Edіt2
активті
объектінің
есебі үшін
AutoScroll Формадағы True, False
сызғыш
белгілерінің
бар болуы
BorderStyle Терезе өлшемінbsSіzeable(өлш
өзгерту емі кез-келген
мүмкіншілігі терезе),
bsDіalog,
bsNone(өлшемі
бекітілген
терезе)
Wіdth, Heіght Терезенің 503, 224
ұзындығы мен (сандық
биіктігі мәндер)
пиксельмен
беріледі
Font Шрифт құрама қасиет,
сұхбат
терезесінде
беріледі
HorzScrollBar Сызғыш құрама қасиет
VertScrollBar белгілерінің
параметрлері
Іcon Бағдарламаның (None) –
орындалуы Delphі-дегі
барысында стандарт
форма пиктограмма,
тақыры-бында немесе белгілі
орналасқан бір *.іco
пиктограм-маныфайлдан
беру жүктелген
Name Форма атауы Form1
(идентификатор
)
Captіon Форма тақырыбыКезкелген
символдар жолы
Color Форма фонының ClGreen,
түсі clІnfoBk(санал
атын тип)
$004525B1(санд
ық мән-сұхбат
терезесінде
беріледі)
Cursor Орындалу CrDrag,
кезеңіндегі crCross,
терезенің бос crHelp, crArow
орнындағы (саналатын
курсор түрі тип)
Enabled Орындалу True, False
барысында
формадағы
объектілерге
амал
орындаудың
рұқсаты.
Left, Top Терезенің сол 200, 108
жақ жоғарғы (сандық
бұрышының мәндер)
координатасы
пиксельмен
беріледі
Posіtіon Бағдарламаны poScreenCenter
орындауға , poDesіgned
жіберген
кездегі
терезенің
өлшемі мен
орны
WіndowsState Бағдарламаны wsNormal,
орындау wsMaxomіzed,
кезіндегі wsMіnіmіzed
терезенің
қалпы

Жолдық өріс Label бағдарлама терезесінде текст құру үшін қолданылады.
Жоғарыда аталған қасиеттермен қатар оған мынадай қасиеттер де тән.

2 кесте. Қасиеттер.

Қасиеттері Қасиеттердің қабылданатын
сипаттамасы мәндерінің
мысалы
Alіgn Орналасқан alButtom,
объектіге - alClіent,
формаға- alLeft,
қатысты alNone, alTop
тураланады
Alіgnment өріс шетіне taCenter,
қатысты текстіtaLeftJustіfy,
туралау taRіghtJustіfy
AutoSіze өріс шетін True, False
текст шетіне
келтіру
Vіsіble Объектінің True, False
көрінуі
WordWrap Текст сөздерінTrue, False
жаңа жолға
көшіру

Келесі мысалдарды орындап көрейік.
Мысал 1 Delphi - де қарапайым диалог құруға мысал келтірейік. Бірінші
мысал қолданушы Диалог батырмасын басқан кезде "Бұл менің бірінші
бағдарламам" сөзі шығуы керек. (сурет. 10.4).
1 . C: Progran Files: BorLand: Delphi7: Projects файлында өзіңізге жаңа
папка құрыңыз, атын "Лаборатория№1" деп тағайындаңыз.
2.Delphi 7 бағдарламасын іске қосыңыз.
3.Формаға Standart бетінен Label1 және Button1компоненттрін орналастырып,
қасиеттерін келесі кестедегідей етіп өзгертіңіз:
   Label1      Caption:бос
   Button1     Caption:"диалог"  
4 .Button1 батырмасын екі рет басып, оның OnClick оқиғасына жауап ретінде
procedure Button1Click(Sender: TObject);
процедурасын жазамыз.

Сурет 2. Қарапайым диалог құру

procedure Button1Click(Sender: TObject);
Begin
Label1.Caption:='Бұл менің бірінші бағдарламам';
end;
Мысал2. Delphi - де екі снның көбейтіндісін есептейтін мысал келтірейік.
Жаңа жоба ашып, Additional бетінен LabeledEdit - 2 компонентін, Standrt
бетінен Panel, Button, Label компоненттерін алып, келесі суреттегідей етіп
орналастырамыз.

Сурет 3. Компоненттерді орналастыру

Delphі - де LabeledEdit компоненті екі компоненттің орнына қолдануға
болады, яғни Label және Edit компоненттерінің орнына.
LabeledEdit және Button компоненттерінің Caption қасиеттерін өзіңізге
қолайлы, түсінікті аттарға ауыстырыңыз. Мысалы, "сан1", "сан2", "нәтиже",
"ұзындық", "биіктік", "аудан", т.с.с., бұл сіздің сол сандар арқылы не
есептегіңіз келетіне байланысты болады. Panel компонентінің бейнесін
өзгерту үшін BevelInner және BevelOuter қасиеттерін тізімнен өзгертіп
отырып өзіңізге қолайлысын таңдаңыз. Мысалы, BevelInner=bvLoweredжәне
BevelOuter=bvRaised
Button1 қасиетінің OnClick оқиғасына өңдеу процедурасын жазамыз.
procedure Button1Click(Sender: TObject); нәтижені есептеу процедурасы
Begin
Panel1.Caption:=LabeledEdit1.Text+' *'+
LabeledEdit2.Text+'='+FloattoStr(St rtoFloat
(LabeledEdit1.Text)*StrtoFloat(Labe ledEdit2.Text));
end;
Жаттығулар

1. Берілген 2-мысалды орындап көріп, оның басқа параметрлерін ауыстырып
орындап көріңдер.
2. 3 мысалдағыдай (, +, -) – амалдарын орындайтын бағдарлама құрыңыз.

Бақылау сұрақтары.

1. Форма деген не? Оның қасиеттерін қалай өзгертуге болады?
2. Компоненттер палитрасында қандай компоненттер орналасқан.
3. Бағдарламаны қалай орындауға болады?
4. Бағдарламаны қалай сақтауға болады?
5. Бағдарламаны қалай ашуға болады?

2.3 Пернетақта және тышқан әрекеттерін өңдеу

Қолданушы жобамен жұмыс істеген кезде тышқанды жылжыту, оның
батырмаларын басу және пернетақтаның пернелерін шерту әрекеттерін
қолданады. Қолданушының осындай басқаруларын өңдейтін оқиғаларды
қарастырайық.
Тышқан оқиғалары. Delphi - ң компоненттерінде тышқанмен байланысты
көптеген оқиғалар бар. Олар:
3 кесте. Оқиғалар

Оқиға Сипаттмасы
OnClick Компоненттің үстінен шерту
OnDblClick Компоненттің астынан шерту.
Басылған батырманы (оң, сол
жағы) және курсордың
координаттарын анықтау
мүмкіндігі бар.
OnMouseDown Курсордың компонент үстінен
орын ауыстыруы
OnMouseUp Басылып тұрған батырманы
компонент үстінде тұрып
жіберу.
OnStartDrag Объектінің орын ауыстыру
процесінің басталуы. Сол
объектіні анықтау
мүмкіндігі бар.
OnDragOver Компоненттің үстінен
объектінің орын ауыстыруы.
Сол объектіні және курсор
координаттарын анықтау
мүмкіндігі бар.
OnDragDrop Объектінің орын
ауыстырғаннан кейін
бытырманы босату.
OnEndDrag Тағы бір оқиға: Объектінің
орын ауыстырғаннан кейін
бытырманы босату.
OnExit Тышқанды басқару кезінде
элементтің фокусты жоғалтып
алу оқиғасы. (табуляция
пернесін басу немесе
фокусты бағдарламалық беру
кезінде).
OnMouseWeelUp Тышқан дөңгелегін жоғары
қарай жылжыту
OnMouseWeelDown Тышқан дөңгелегін төмен
қарай жылжыту

Ең көп қолданылатын оқиға OnClick . Ол әдетте қолданушы компоненттің
үстінен шерткен кезде пайда болады. Бұл оқиға сондай-ақ қолданушының басқа
да әрекеттері кезінде пайда бола алады:
▪ Қолданушы тізімнен, тордан, ашылған тізімнен және т.б. бағыттауышы бар
пернені басу арқылы элементті таңдады.
▪ Қолданушы батырма немесе индикатор фокуста болған кезде бос орын
пернесін басты.
▪ Жоба Radiobutton - ң Checked қасиетін True - ге өзгертті.
▪ Жоба ChecBox - ң Checked қасиетін True - ге өзгертті және т.б.
Форма үшін OnClick оқиғасы оның бос жерін шерту арқылы іскеқосылады.
OnMouseMove оқиғасы әрқашан тышқан курсоры орын ауыстырғында немесе
қолданушы тышқаннан қолын алмай тұрғандағы оның қимылдауы кезінде пайда
болады. Сондықтан бұл оқиғаны қолдануда барынша мұқият болу қажет.
OnMouseDown және OnMouseUp оқиғаларының өңдеушісінде қай батырма басылғанын
немесе қазіргі уақытта тышқан курсоры қай координатта орналасқанын анықтау
үшін қолданылады.
Егер компонеттің DragMode қасиетінің мәні dmAutomatic (орын ауыстыру
процесінің автоматты түрде басқарылуы), онда тышқанды басқару оқиғалары
келесідей болады:
4 кесте. Оқиғалар
OnMouseDown OnStartDrag оқиғасымен
ауыстырылады.
OnMouseMove Кусор үстінен жылжып
бара жатқан
компоненттің OnDragOver
оқиғасына ауыстырылады.
OnMouseUp Тышқанның OnDragDrop
оқиғасына ауыстырылады
да кейін орын
ауыстырған компоненттің
OnEndDrag оқиғасы орын
алады.

Компонеттің үстінен екі рет шерту.
Тышқанның басылған батырмасын тек қана OnMouseDown және OnMouseUp
оқиғалары арқылы ғана анықтауға болады. Ал егер екі рет шертуді анықтау
керек болса, онда екі рет шертуді білдіретін қандай да бір айнымалы
енгізіп, оны OnDblClick оқиғасында өңдеу керек. Ал OnMouseDown және
OnMouseUp оқиғаларының өңдеушісінде осы айнымалыны тексеру керек. Егер ол
берілген болса, белгіленген жағдайды өңдеуге көшуге болады.
Тышқанды екі рет шерту оқиғаларының реті келесідей:
5 кесте. Оқиғалар реті
Қолданушы әрекеті Оқиға
Тышқанды бірінші рет басу OnMouseDown
Бірінші рет тышқанды босату OnClick
OnMouseUp
Екінші рет басу OnDblClick
OnMouseDown
Екінші рет босату OnMouseUp

Басылған батырмалар және перне, курсор координаттарын анықтау оқиғалары.
Тышқанды басқарумен байланысты оқиғалар өңдеушісіне (барлық басқа
өңдеушілерге сияқты) TObject типті Sender параметрі беріледі. Егер бір ғана
объекттің оқиғасын өңдеу жазылса, ол қажет емес.
Мысалы егер объекттің типін ғана анықтау керек болса, is операциясын
қолдануға болады.
If (Sender is TListBox) then . . .
Оқиға негізі TListBox типті компонент екенін тексереді.
Егер компонент аты немесе немесе басқа қасиеті бойынша анықтау керек
болса, as операциясы қолданылады.Мысалы:
If (Sender as TControl).Name = ‘Edit1’ then . . .
бұл компоненттің Edit1 типті компонент екенін тексереді.OnMouseDown
және OnMouseUp оқиғаларының өңдеушісіне сондай – ақ басылған батырманы,
көмекші батырмаларды, курсорды анықтайтын параметрлер беріледі. Мысалы:
Procedure TForm1. Edit1MouseDown(Sender: TObject;

Button:TMouseButton;

Shift:TShiftState; X,Y:integer);
Sender параметрінен басқа өңдеушіге Button, Shift, X,Y параметрлері
беріледі. TmouseButton типті Button параметрі осы уақытта басылған тышқан
батырмасын анықтайды. TMouseButton – саналатын тип. Ол келесідей
анықталады: TMouseButton(mbLeft, MbRight, mbMiddle);
Егер сіз өңдеуші тек қана сло жақ батырманы ескерсін десеңіз, онда оны
бірінші оператор ретінде жазщыңыз:
If (ButtonmbLeft) Then Exit;
TShiftState типті Shift параметрі пернетақтадағы қандай көмекші батырмалар
басылғандығын анықтайды. Ол келесідей анықталады:
TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle,
ssDouible);
Button параметрі қазіргі кезде басылып тұрған батырмаға сәйкес келеді, ал
Shift параметрі қандай батырмалар басылғандығы жөнінде ақпарат береді.
Мысалы, егер қолданушы сол жақ батырманы басып, оны жібермей тұрып оң жағын
басса, онда бірінші Shift жиыны [ssLeft], ал содан кейін – [ssLeft,
ssRight] болып өзгереді.
Тышқанмен байланысты барлық оқиғаларға X,Y курсор координаттары беріледі.
Курсордың орналасқан жеріне байланысты әртүрлі жауаптар қалыптастыруға
болады.
Мысал1: Сіздің қосымшаңызда Image1 компоненті орналасқан. Сіз қолданушының
тышқанмен көрсеткен жеріне жеріне байланысты оны түсіндірмемен қамтамасыз
еткіңіз келді дейік:
1. Ақпарат алу режиміне көшу үшін оларды тақағанда Cursor мәні crHelp
(курсор белгісі сұрақ белгісіне ауысуын білдіреді) болатындай форма
бетіне батырма немесе меню бөлімін беру керек
2. Мысалы SpeedButton батырмасын, және оны 2 рет шертіп:
Procedure TForm1. SpeedButtonClick(Sender: TObject);
Begin
Cursor:= crHelp;
End;
3. Ақпаратты алу үшін форма бетіне редакциялау терезесін, мысалы, Memo1
беру керек. Image1 компонентінің OnMouseDown оқиғасының өңдеушісіне:

Procedure TForm1. Image1MouseDown(Sender: TObject;

Button:TMouseButton;
Shift:TShiftState; X,Y:integer);
Begin
If ((Sender as Control).Name) ‘Image1’)
Then Cursor:=crDefault;
If (Cursor crHelp) Then Exit;
Memo1.Lines.Clear;
If (Y120) Then
If (X160) Then Memo1.Lines. Add(‘ақпарат’)
Else If (X270) Then Cursor:=crDefault;
End.
4.Бірінші оператор курсор бейнесін crHelp болмаса немесе шерту бейне
үстінде болмаса процедурадан шығуды қамтамасыз етеді. Келесі оператор
редакциялау терезесінен бұрынғы ақпаратты өшіреді, содан кейін if операторы
курсордың тұрған жерін талдап, сол орынға байланысты ақпарат береді.
OnMouseWeelUp, OnMouseWeelDown, OnMouseWeel жаңа, дөңгелегі бар
тышқандар түрінің пайда болуына байланысты шықты. OnMouseWeel оқиғасының
берілу түрі:
Procedure TForm1. FormMouseWhell(Sender: TObject Shift:TShiftState;
WheelDelta:integer; MousePos:TPoint; Var Handled: Boolean);

Shift және Sender параметрлері алдында қарастырылғандай. WheelDelta
параметрі дөңгелектің айналу санын береді. Жоғары қарай – оң сан, төмен
қарай болса теріс сан болады. Tpoint типті MousePos параметрі тышқан
курсорының позициясын анықтайды. Ал сілтеме арқылы берілетін Handled
параметрі оқиға өңдеушісінің аяқталғанын тексереді. Егер OnMouseWheel оқиға
өңдеушісі жоқ болса немесе Handled = false болса, онда дөңгелектің айналу
бағытына қарай OnMouseWeelUp немесе OnMouseWeelDown оқиғалары іске
қосылады:
Procedure TForm1. FormMouseDown(Sender: TObject;

Button:TMouseButton;
Shift:TShiftState; X,Y:integer);
Көптеген терезелік компоненттерде редакциялау терезелері, тізімдер және
т.б. дөңгелектің айналу оқиғасы өзінде болады. Ол Memo, RichEdit, ListBox,
TrackBar және т.б. Бірақ олардың кейбіреуінде, мысалы Memo компонентінде
бұл өңдеушілер айналодыру сызығы берлген кезде ғана іске қосылады.
Дөңгелекке байланысты оқиғаларды қолдануды компоненттердің стандартты
емес жауабын қалыптастыру жағдайында қолданған жөн.
Мысал2: Сіз форма өңдеушілері үшін:
1. Procedure TForm1. FormMouseWhellDown(Sender: TObject; Shift:TShiftState;
WheelDelta:integer; MousePos:TPoint; Var Handled: Boolean);
Begin
ScaleBy (100,101);
End;
2. Procedure TForm1. FormMouseWhellUp(Sender: TObject; Shift:TShiftState;
WheelDelta:integer; MousePos:TPoint; Var Handled: Boolean);
Begin
ScaleBy (100,101);
End;
деп жазсаңыз, онда дөңгелектің жылжуына байланысты барлық компоненттер
өлшемі үлкейеді немесе кішірейеді.
Пернетақта оқиғалары. Delphi - ң терезелік компоненттерінде
пернетақтамен байланысты үш негізгі оқиға анықталады. Олар:
6 кесте. Оқиғалар
Оқиға Сипаттамасы
OnKeyDown Қолданушы кез келген пернені
басқан кезде іске асады. Басылған
пернені, тышқан батырмаларыфн
анықтауға болады. Басылған
перненің символын анықтауға
болмайды.
OnKeyPress Символ пернесін басқан кезде іске
қосылады
OnKeyUp Қолданушы кез келген пернені
жіберген кезе іске қосылады.

Сондай-ақ қолданушы табуляция пернесін басқан кезде фокус элементтен
элементке өте алады. Форманың KeyPreview пернетақтадан келетін оқиғаларға
әсер етеді. Әдетте KeyPreview компоненті false болғандықтан осы уақытта осы
оқиғалар қарастырылған компонентке әсер етеді. Егер ол true болса және
формада қарастырылған болса, онда формаға әсер етіп барып компонентке
ауысады. Қолданушы пернені басқан кезде пайда болатын OnShortCut оқиғасы
да бар. Ол стандартты OnkeyDown оқиғасынан бірінші болып пайда болады.
Басылған пернені анықтау. OnKeyDown оқиғасының берілу түрі:
Procedure TForm1.Edit1MouseDown(Sender: TObject; Var Key:Word;
Shift:TShiftState);
Бұл оқиғада Shift параметрінің элементтері тек:ssShift (Shift пернесі
басылды) ssAlt, ssCtrl болады.
Key - Var бөлімінде анықталған оқиға өңдеушісінде өзгере алады. Және ол
символ емес, сан. Key параметрі оқиға барысында пернені анықтайды. Келесі
кестеде олардың көп жағдайларда қолданылатын негізге түрлері берілген:
7 кесте. Перне көрсеткіштері
Перне 10- қ16- қСимволдық аты ORD
сан сан функциясы
бойынша
салыстыру
F1 112 $70 VK_F1
Enter 13 $OD VK_RETURN
Shift 16 $10 VK_SHIFT
Ctrl 17 $11 VK_CONTROL
Alt 18 $12 VK_MENU
Esc 27 $1B VK_ESCAPE
1! 49 $31 ORD(1)

Key параметрі символдарды емес, пернені анықтайды. Мысалы “У” пен “у”-ке
және сәйкес орыс шрифтіндегі“Н” мен “н” әріптеріне бір код қолданылады.
Басылған пернені Key параметрінің кодымен тексереді. Мысалы, Enter
пернесінің басылғандыған тексеру:
If (Key=13) then . . . ;
Несесе If (Key=VK_RETURN) then . . .;
Егер сіз пернелер комбинациясын анықтағыңыз келсе, мысалы: Alt+X, онда:
If((Key=ord (‘X’)) and ((ssAlt in Shift)) then...;
OnKeyUp – жұмыс істеу принципі дәл осындай.
OnKeyPress – оқиғасының түрі:
Procedure TForm1. OnKeyPress (Sender: TObject; Var Key:Char);
Key параметрі Char – символдық болғандықтан, перненің кодын емес,м
символды (орыс, латын, бас әріп, кіші әріп) анықтайды. Мысалы сіз “Д”
немесе “д” символымен жауап беруді керек ететін сұрақ қойсаңыз:
If((Key= ‘Д’) or (Key= ‘д’)) then...;
Түрде болды.
2. Жаттығулар:
1. Екі санның қосындысын табатын бағдарлама құрыңыз. Бағдарлама барысында
қолданушы 1 – сан, 2 – сан өрістеріне тек бүтін оң сан енгізе алатын болсын
және Есептеу батырмасына басқан кезде де Enter батырмасын басқан кезде
де орындала беретін болсын.
2. Кг бойынша енгізілген массаны тонна бойынша есептеп, шығаратын
бағдарлама құрыңыз. “Есептеу” батырмасы қолданушы Edit өрісіне сан
енгізбейінше активті болмайтын болсын.
Бақылау сұрақтары:
1. Тышқан әрекетіне сәйкес қандай оқиғалар бар.
2. OnClick оқиғасы қалай шақырылады.
3. OnMouseUp оқиғасы қандай әрекеттің орындалғанын білдіреді.
4. OnMouseDown оқиғасы қандай әрекеттің орындалғанын білдіреді.
5. OnKeyPress оқиғасы нені анықтайды.

Объектілерді тасу (Drag & Drop). Тышқан арқылы бір объектіден
екіншісіне ақпарат тасу (Drag & Drop), Windows – та кеңінен қолданылады.
Мысалы сіз папкалар арасында файлдарды, папкалардың өздерін орын ауыстыра
аласыз. Delphi – де ол қалай жүзеге асатынын көрейік. Тасу әдісімен
байланысты барлық қасиет, әдіс, оқиғалар Delphi-ң визуалды компоненттірінің
атасы Tcontrol класында анықталған. Тасу процесінің басталуы DragMode
қасиеті арқылы анықталады: dmAutomatic болса, компонент үстінен тышқан
батырмасын басқан кезде автоматты түрде тасу басталады. OnMouseDown оқиғасы
пайда болмайды.
Егер dmManual (қолдан) болса, тасу процесін программист анықтау керек
екенін білдіреді. Ол үшін программист қажетті уақытта BeginDrag әдісін
шақыру керек. Мысалы оны программист OnMouseDown оқиғасына енгізуі мүмкін.
Тасу процесі басталған кезде әдетте курсор бейнесі өзгереді. Ол форма
үстінен немесе ақпаратты қабылдай алмайтын компоненттер үстінен жылжыса,
оның типі – crNoDrop, керісінше жағдайда орын ауыстырып ждатқан объектінің
DragCorsor қасиетімен анықталатын түрге келеді. Әдетте ол crDrag.
Тасу процесі кезінде үстінен курсор жылжып бара жатқан компоненттер
ақпаратты қабылдауға дайындығын білдіре алады. Ол үшін компонентте
onDragOver оқиғасының өңдеушісі болуы керек.
Қолданушы ақпаратты тасып болғаннан кейін тышқан батырмасын компонент
үстінен жіберген кезде ақпаратты қабылдау оқиғасы OnDragDrop іске
қосылады. Тасу процесі аяқталғаннан кейін немесе тоқтатылған болса,
OnEndDrag оқиғасы орын алады.
Мысал 1: Форма бетіндегі бірнеше тізім компоненттері ListBox орналасқан
дейік және сол тізімнің кез келгенінің бағанын басқа біреуіне көшіру
мүмкіндігін қамтамасыз еткіңіз келді дейік:
1. Жобаға 2 – 3 тізім компонентін орналастырыңыз.
2. Форма бетіндегі барлық тізімдерді белгілеп, объект инспектор терезесі
арқылы барлық топқа ортақ onDragOver оқиғасының өңдеушісін жазыңыз:

Procedure TForm1.ListBox1DragOver (Sender, Source:TObject; X,Y:Integer;
State:TdragState; Var Accept: Boolean );
Begin
If (Source as TControl Sender)
Then Accept := Source is TListBox
Else Accept :=false;
End;

(Sender) – бірінші берілген компонент және тасылатын объект - (Source) бір
объект емес екенін тексереді. Бұл объекттерді тізімнің өз ішіндн тасымас
үшін қажет. Егер беруші және алушы бір объект болса, else параметрі іске
қосылып, Accept :=false болады, яғни ақпаратты қабылдау тоқтатылады.
3. Барлық тізімдердің DragMode қасиетін dmAutomatic деп өзгертіңіз, яғни
қолданушының ешқандай әрекетінсіз, тышқанды басқан кезде тасуға дайындықтың
басталуын көрсетеді.
Ал егер мысалы, тышқанның сол жақ батырмасын және ALT пернесін басқан
кезде әрекет орындалсын десеңіз, DragMode қасиетін dmManual деп өзгертіңіз
де тізімдерге OnMouseDown оқиғасын жазыңыз:
Begin
If (Button=mbLeft) and (ssAlt in Shift)
Then listBox1.Begin Drag(false);
End;
4. Барлық тізімдерді белгілеп, бәріне ортақ оқиға OnDragDrop жазылады:
Procedure TForm1.ListBox1DragDrop(Sender, Source:TObject; X,Y:Integer);
Begin
(Sender as TListBox).Items.Add((Source as TListBox). Items[(Source as
TListBox).ItemIndex]);
End;
Көшірілген тізімнің бағаны (Source as TListBox).Items[(Source as
TListBox).ItemIndex]) ақпаратын Add әдісі арқылы келесі қабылдай алатын
тізімге қосады. (Sender as TListBox) операторын ListBox1 деп ауыстуруға
болатын еді. Бірақ Sender параметрін қолданып қосымшадағы басқы да
TlistBox компоненттеріне ортақ оператор жазуға болатындықтан осылай
жазғанымыз дұрыс. Формада редакциялау компоненттері болса, мысалы Memo1.
деп жазған дұрыс.
Объектілерді тасу және орналастыру (плавающие окна)Drag&Doc.
Delphi – дегі терезелік компоненттерде DockSite қасиеті бар. Әдетте оның
мәні – false. Егер мәніні – true-ге ауыстырсақ, компонент объектіні
қабылдай алатын контейнерге айналады. Тасылатын компоненттің DragKind және
dkDock қасиеттерін орнату қажет. Егер сіз тасу процесі өздігінен автоматты
түрде басталсын десеңіз, DragMode мәнәі Automatic деп тағайындыңыз.
Мысал2: Бір де бір код жазбай-ақ Drag&Doc арқылы тесттік ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Delphi-де мәліметтер қорын құру технологиялары туралы ақпарат
Delphi-де мәліметтер қорын құру технологиялары жайлы ақпарат
Деректер қорының реляциялық кестесі
Delphi және мәліметтер қоры сервері
Delphi ортасының мәзір терезесі және саймандар тақтасы
Delphi ортасында мәліметтер қорымен жұмыс
Delphi-де математикалық есептеуге арналған бағдарлама құру
Delphi және мәліметтер қоры сервері. мәліметтерге ado арқылы қатынау
Delphi-де мәліметтер қорын құру технологиялары туралы
Деректер базасының сервері
Пәндер