Delphi ортасында жолдарды, жазбаларды өңдеу



КІРІСПЕ ...
1.DELPHІ ОРТАСЫНДА ПРОГРАММА ҚҰРУ.
1.1.Үлгілік форма құру ...
1.2.Форманы архивке орналастыру
1.3.Жобаның құрылымы..
1.3.Жобаның құрылымы...
1.4.Модульдер ұғымы.
2.OBJECT PASCAL ТIЛIНДЕГI ҚОЛДАНЫЛАТЫН БЕРIЛГЕНДЕРДIҢ ТҮРЛЕРI
2.1 Жолдар мен жазбалармен жұмыс...
2.2 Жолдар мен жазбаларда қолданылатын компоненттер...
2.3 Жолдарға арналған функциялар мен процедуралар
ҚОРЫТЫНДЫ..
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ ... ...
ҚОСЫМША...
Қазіргі ақпараттық технологиялардың қарқынды даму кезеңінде ақпараттық-компьютерлік технологиялар құралдарын қолдана білу іскерліктерінің жоғары деңгейде қалыптасуы маманның кәсіби дайындығына қойылатын талаптар қатарына енеді. Осы орайда мамандарды ақпараттық технологиялар мен бағдарламалық құралдарды қолдануға ғана емес, осы құралдарды жасауға дайындау өзекті мәселе болып табылады.
Еліміздегі әлеуметтік-экономикалық өзгерістер мен бүкіл өркениетті әлемдегі ақпараттық даму білім берудің дәстүрлі қалыптасқан жүйесін, әдістері мен технологиясын қайта қарауды талап етуде. Бұл үдеріс білімнің жаңа аймақтарына енудің қажеттілігі мен оны жеке тұлғаның толық көлемде меңгеруінің қиыншылықтары арасындағы қарама-қайшылықтары ретінде белең алып отыр. Осыған орай, бүгінгі ғаламдық білім беру кеңістігіне сай танымды, ойлауды дамыту, өзінше ғылыми тұжырым жасауға, олардың қажетіне қарай ғылым жетістігін сұрыптауға, маманның өзінің іс әрекетінің субъектісі болуына мүмкіндік туғызу- көкейкесті мәселе болып табылады. Өйткені, тек білімді маман ғана қоғамның экономикалық, әлеуметтік және мәдени өркендеуініңкөшбасшысы бола алады.
Болашақ мамандарды ақпараттық–компьютерлік және программалық модельдеу негізінде даярлау үшін оларда ең алдымен практикалық іс - әрекетбарысында пайда болатын мәселелерді формальды сипаттау дағдыларын, яғни ақпараттық-компьютерлік және программалық модельдеу әдістері туралы кәсіби білім, білік және дағдылар жүйесін қалыптастыруды қажет етеді. Сонымен бірге негізгі алгоритмдік құрылымдарды, бағдарламалау технологияларын білу және бұл білімдерді есептерді математикалық моделдері бойынша шешу, ЭЕМ-мен, оның құрылғыларымен, ақпараттық технология құралдарымен жұмыс істеу және құрылған алгоритм бойынша ЭЕМ-ге арнап бағдарламалау тілдерінің көмегімен бағдарлама құру және компьютерлік моделін жасау үшін қолдана алады.
Заманауи ақпараттық жүйелерді қолдану дағдылары және олардың көмегімен кәсіби практикалық ойын айлаларын шешу іскерліктері мен практикалықмаңызды есептерді ЭЕМ көмегімен шешу нәтижелерін сауатты интерпретациялау іскерлігі және оның нәтижелерін кәсіби практикалық іс-әрекеттерде қолдану дағдылары болашақ маманның бойында қалыптастыру басты назарда болады.
Бұл талаптардың осы көлемде жүзеге асырылуы болашақмамандардың ақпараттық-компьютерлік және программалық модельдеу бойынша сауаттылығының жоғары деңгейде қалыптасуын қамтамасыз етеді.
1. Кеңесбаев М.С.,Салғараева Г.И. «Программалау тілдері»
2. Б. Бөрібаев, Б. Нақысбеков, Т. Мадиярова «Информатика және есептеуіш техника негіздері»
3. Фаронов В.В. DELPHI 5. Учебный курс. – М.: Нолидж, 2001.
4. Фаронов В.В. DELPHI 5. Руководство программиста. – М.: Нолидж, 2002.
5. Епанешников А., Епанешников В. Программирование в среде DELPHI: Уч. пос.: в 4-х ч. Ч.1. Проектирование программ. – M.: ДИАЛОГ-МИФИ, 1998.
6. Епанешников А., Епанешников В. Программирование в среде DELPHI: Уч. пос.: в 4-х ч. Ч.3. Работа с базами данных. Организация справочной системы. – M.: ДИАЛОГ-МИФИ, 1998.
7. Нурахунова Р.К. Объектті-бағытталған программалау: ОӘК. – Алматы: КазНТУ, 2005. – 248 б.
8. Культин Н.Б. Основы программирования в DELPHI 7. – СПб.: БХВ-Петербург, 2003.
9. Глушаков С.В. и др. Программирование на DELPHI 5.0. – Харьков: Фолио, 2002.
10. Митчел К. Керман. Программирование и отладка в Delphi. Учебный курс. – М.: Вильямс, 2003. – 672 с.
11. Нурахунова Р.К. Delphi ортасында программалау: ОӘК. – Алматы: КазНТУ, 2004. – 252 б.
12. Нурахунова Р.К. Delphi ортасында программалау: Лабораториялық сабақтарға арналған әдістемелік нұсқау. 1, 2, 3 бөлім. – Алматы: КазНТУ, 2004. – 32, 46, 38 б.
13. Нурахунова Р.К. Delphi-де бағдарламалау: Дәрістер жинағы. –Алматы: КҚУ ҒБО, 2010. – 79 б.
14. Жуков А. Изучаем Delphi. – М.: Питер, 2004. – 346 с.
15. Глинский Я.Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphi: Уч. пос. – М.: DiaSoft, 2003. – 197 с.
16. Бобровский С. Delphi 7. Учебный курс. – М.: Питер, 2003. – 736с.
17. Попов В. Паскаль и Delphi. Самоучитель. – М.: Питер, 2003. – 544с.
18. Кеңесбаев М.С.,Салғараева Г.И. «Программалау тілдері»
19. Б. Бөрібаев, Б. Нақысбеков, Т. Мадиярова «Информатика және есептеуіш техника негіздері»

Қостанай мемлекеттік педагогикалық институты
Жаратылыстану- математика факультеті
Информатика және компьютерлік технологиялар кафедрасы

Қоғабаева Мөлдір Болатбекқызы

DELPHI ОРТАСЫНДА ЖОЛДАРДЫ, ЖАЗБАЛАРДЫ ӨҢДЕУ

Курстық жұмыс

Ғылыми жетекші: Хасанова С.Б.,
аға оқытушы

Қостанай, 2014 ж.

КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3
... ... ... ... ... ... ... ... .. ... ...
1.DELPHІ ОРТАСЫНДА ПРОГРАММА ҚҰРУ ... ... ... ... ... ... .. 5
1.1.Үлгілік форма құру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 6
1.2.Форманы архивке орналастыру ... ... ... ... ... ... ... ... ... ... ... . 10
1.3.Жобаның 11
құрылымы ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... .
... ... ... ... ...
1.3.Жобаның 13
құрылымы ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... .
... ... ... ... ...
1.4.Модульдер ұғымы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17
2.OBJECT PASCAL ТIЛIНДЕГI ҚОЛДАНЫЛАТЫН БЕРIЛГЕНДЕРДIҢ 21
ТҮРЛЕРI ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
... ..
2.1 Жолдар мен жазбалармен жұмыс ... ... ... ... ... ... ... ... ... ... ... . 28
2.2 Жолдар мен жазбаларда қолданылатын компоненттер ... ... ... ... . 30
2.3 Жолдарға арналған функциялар мен процедуралар ... ... ... ... ... . 32
ҚОРЫТЫНДЫ ... ... ... ... ... ... . ... ... ... ... ... ... ... ... .3 6
... ... ... ... ... ... ... ... .. .
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР 37
ТІЗІМІ ... ... ... ... ... ... ... ... ... ...
ҚОСЫМША ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 38

КІРІСПЕ

Қазіргі ақпараттық технологиялардың қарқынды даму кезеңінде ақпараттық-
компьютерлік технологиялар құралдарын қолдана білу іскерліктерінің жоғары
деңгейде қалыптасуы маманның кәсіби дайындығына қойылатын талаптар қатарына
енеді. Осы орайда мамандарды ақпараттық технологиялар мен бағдарламалық
құралдарды қолдануға ғана емес, осы құралдарды жасауға дайындау өзекті
мәселе болып табылады.
Еліміздегі әлеуметтік-экономикалық өзгерістер мен бүкіл өркениетті
әлемдегі ақпараттық даму білім берудің дәстүрлі қалыптасқан жүйесін,
әдістері мен технологиясын қайта қарауды талап етуде. Бұл үдеріс білімнің
жаңа аймақтарына енудің қажеттілігі мен оны жеке тұлғаның толық көлемде
меңгеруінің қиыншылықтары арасындағы қарама-қайшылықтары ретінде белең алып
отыр. Осыған орай, бүгінгі ғаламдық білім беру кеңістігіне сай танымды,
ойлауды дамыту, өзінше ғылыми тұжырым жасауға, олардың қажетіне қарай ғылым
жетістігін сұрыптауға, маманның өзінің іс әрекетінің субъектісі болуына
мүмкіндік туғызу- көкейкесті мәселе болып табылады. Өйткені, тек білімді
маман ғана қоғамның экономикалық, әлеуметтік және мәдени
өркендеуініңкөшбасшысы бола алады.
Болашақ мамандарды ақпараттық–компьютерлік және программалық модельдеу
негізінде даярлау үшін оларда ең алдымен практикалық іс - әрекетбарысында
пайда болатын мәселелерді формальды сипаттау дағдыларын, яғни ақпараттық-
компьютерлік және программалық модельдеу әдістері туралы кәсіби білім,
білік және дағдылар жүйесін қалыптастыруды қажет етеді. Сонымен бірге
негізгі алгоритмдік құрылымдарды, бағдарламалау технологияларын білу және
бұл білімдерді есептерді математикалық моделдері бойынша шешу, ЭЕМ-мен,
оның құрылғыларымен, ақпараттық технология құралдарымен жұмыс істеу және
құрылған алгоритм бойынша ЭЕМ-ге арнап бағдарламалау тілдерінің көмегімен
бағдарлама құру және компьютерлік моделін жасау үшін қолдана алады.
Заманауи ақпараттық жүйелерді қолдану дағдылары және олардың көмегімен
кәсіби практикалық ойын айлаларын шешу іскерліктері мен практикалықмаңызды
есептерді ЭЕМ көмегімен шешу нәтижелерін сауатты интерпретациялау іскерлігі
және оның нәтижелерін кәсіби практикалық іс-әрекеттерде қолдану дағдылары
болашақ маманның бойында қалыптастыру басты назарда болады.
Бұл талаптардың осы көлемде жүзеге асырылуы болашақмамандардың
ақпараттық-компьютерлік және программалық модельдеу бойынша сауаттылығының
жоғары деңгейде қалыптасуын қамтамасыз етеді. Осы келтірілген анықтамадан
байқайтынымыз ақпараттық мәдениеттілік ұғымына компьютерлік сауаттылықтың
компоненттерін кеңейту арқылы және жаңа түсініктерді енгізу арқылы пайда
болады, яғни барлық жаңа түсініктер ЭЕМ көмегімен ойындардың айлаларыншешу
үшін ақпараттық – компьютерлік және программалық модельдеу әдістерін
қолдану мәселелеріне арналады.
Delphi бағдарламасын оқыту әдістемелері В.В. Фаронов және
Л.М.Климовалар терең және ауқымды көлемде зерттеп, еңбектер жазған. Ал,
Қазақстандық ғалымдардың ішінде осы бағдарлама турасындаШ.Т.Шекербекованың
еңбегін атап айтса болады. Өйткені елімізде осы аталған тұлғадан басқа осы
бағдарлама бойынша зерттеген маман жоқ.
Ал, информатиканы оқыту теориясы мен әдістемесі саласында бірқатар
еңбектер жарық көрді. Көптеген ғалымдар компьютерлік оқыту мәселесіне
ерекше мән беріп келеді. Мысалы, Ж.А.Қараев оқытудың компьютерлік
технологияларын пайдалану жағдайында оқушылардың танымдык белсенділігін
арттыру, А.Ә.Шәріпбаев компьютерлердің бағдарламалық және ақпараттық
құралдарының дұрыстығын дәлелдеу, С.М.Кеңесбаев болашақ мұғалімдердің жаңа
ақпараттық технологияны пайдалана білу мәселелерін, М.Ф.Баймұхамедов
компьютерлік оқытудың бейімделген технологиясын құрастырудың модельдерін,
әдістері мен құралдарын жасау мәселелерін Ж.Ж.Жаңабаев ақпараттық
технологиялардың даму жағдайында мамандарды инженерлік-сызба дайындықтарын
жетілдіру туралы қарастырған.
Болашақ мамандарды кәсіби дайындауда ақпараттық-компьютерлік және
программалық модельдеу технологиясын қолдану арқылы олардың кәсіби
қызметінде ақпараттық-компьютерлік біліктіліктер жүйесін қалыптастыру
мәселесін шешуге болады.
Курстық жұмыстың өзектілігі: Қазіргі кезде компьютерлік сауаттылықпен
қатар жоғары деңгейлі программалау тілдерін қолдана білу- ең өзекті жұмыс
дағдысы болып есептеледі. Бүгінгі күн талабына сәйкес, кез келген сала
мамандары ақпараттық технологияларды толыққанды пайдалана білуі тиіс. Ал,
ақпараттық технологияларды жаңа деңгейге көтеруде және оларды дамытуда
жоғарғы деңгейлі программалау тілдерінің рөлі ерекше.
Курстық жұмыстың мақсаты: Delphi – де қосымшалар әзірлеу ортасында
жолдармен жасалынатын амалдарды автоматтандыру.
Міндеті:
1. Delphi Бағдарламалау тілі туралы ғылыми әдебиеттерді
қарастыру,оқу;
2. Delphi компоненттерімен танысу;
3. Қосымшаны өңдеу және қолдану;

1 DELPHІ ОРТАСЫНДА ПРОГРАММА ҚҰРУ

Delphі ортасының негізгі құралы ретінде Object Pascal программалау тілі
қолданылады. Программалау тілінің негіздерін келтіру төменде қарапайым
мысалдарды қарастырумен сүйемелденеді. Мысалдарда берілгендерді енгізу,
оларды өңдеу, шығару және т.с.с. қарапайым іс-әректтердің ұйымдастырылуы
келтірілген.
Аталған қарапайым әрекеттерді программалау үшін әр түрлі интерфейстік
(қарым-қатынастық) элементтері орнатылған форманы құрастырайық. Бұл форманы
кез келген оқулық программалардың үлгісі ретінде қолдану үшін, оны жаңа
программалардың дайындамалар архивіне – репозитарийға орналастыру керек.
Delphі ортасын іске қосыңыз. Fіle =New Form орындалғандағы шыққан бос
терезеге келесі компоненттерді (2.1-суретте көрсетілгендей) орналастырыңыз.
Формаға тақташа – Рanel1, екі батырма – BіtBtn1 және BіtBtn2, енгізу жолы –
Еdіt1, белгі – Label1, көпжолдық редактор – Memo1 элементтері
орналастырылған.
Формадағы екі батырманы, енгізу жолын және белгі компоненттерін
біріктіру және әрқашан терезенің төменгі жағына (тіпті терезенің толық
экрандық тәртібінде ашылғанда) орналастыру үшін Рanel1 элементі контейнер
ретінде қолданылған.
Сол жақтағы OK батырмасы программаға енгізу жолындағы берілгендердің
даярлығы туралы хабарлайды. Осы батырма басылғандағы (OnClіck – оқиғасы
туғандағы) программаның өндеуші үзіндісін жазу – біздің мақсатымыз.
Екінші батырма – Сlose терезені жауып, программаның жұмысын тоқтатады.

Сурет 1. Example формасы

Форманың төменгі жағында белгі орналасады және де ол қазір көрінбей
тұр. Белгіде программаның қалыптастырған шағын хабары орналасады.
Көпжолдық хабарлар TMemo аймағына шығарылады.
Құрастырған форманы Fіle =Save as...= Example деп сақтаңыз.
Жобаның файлын Fіle=Save project as ...= Project1 келісімше қалдырыңыз.

1. Үлгілік форма құру

1-суретте келтірілген форманы төмендегі компоненттер сипаттамаларын
пайдалану арқылы құрастырамыз.
Объектілер бақылаушы терезесінің жоғарғы жағында форманың атауы және
форма терезесінде орналасқан барлық компоненттер және оқиғалар тізімі
орналасады. Сол тізімдегі белгілі бір объектіні таңдап, Propertіes
бетбелгісіне өтіңіз. Кейбір сипаттамалары келісімше анықталған түрде
қалады, ал кейбіреуін төмендегі көрсетілгендей ауыстырыңыз.
Форманың және компонентердің келесі қасиеттерін өзгертіңіз:
□ Name – fmExample;
□ Captіon – Мысал;
□ Posіtіon – poScreenCenter.
Panel1 компоненті:
□ Captіon-ді тазалаңыз;
□ Alіgn = alBottom.
Label1 компоненті:
□ Name – lbOutput;
□ Captіon-ді тазалаңыз;
□ Alіgn = alBottom.
BіtBtn1 компоненті:
□ Name – bbRun-ға өзгертілген;
□ Kіnd = bkOK.
BіtBtn2 компоненті:
□ Name – bb Close-ға өзгертілген:
□ Kіnd = bkClose.
Edіt1 компоненті:
□ Name – edІnput-қа өзгертілген;
□ Text – жойылып тасталған.
Memo1 компоненті:
□ Lіnes – жойылып тасталған;
□ Name – mmOutput-қа өзгертілген;
□ Alіgn = alClіent;
□ Lіnes.Strіngs = тазаланған ;
□ ScrollBars = ssBoth.
Енді Fіle=Open=DelphіForm(*.dfm)=Exam ple опцияларын таңдап,
Example формасының кодын көруге болады.

Сурет 2. Форманың анықтамасын ашу терезесі

Форма кодының анықтамасы (сіздің формаңыздың өлшемдері басқаша болуы
мүмкін):
Object fmExample: TfmExample
Left = 192
Top = 107
Wіdth = 544
Heіght = 375
Captіon = ' Мысал'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWіndowText
Font.Heіght = -11
Font.Name = 'MS Sans Serіf'
Font.Style = [ ]
OldCreateOrder = False
Posіtіon = poScreenCenter өзгертілген
PіxelsPerІnch = 96
TextHeіght = 13
object Panel1: TPanel
Left = 0 Captіon - жойылып тасталған
Top = 251
Wіdth = 536
Heіght = 97
Alіgn = alBottom өзгертілген
BevelOuter = bvNone
TabOrder = 0
object lbOutput: TLabel
Left = 0 Captіon - жойылып тасталған
Top = 84 Name - lbOutput-қа өзгертілген
Wіdth = 536
Heіght = 13
Alіgn =
alBottom өзгертілген
End
object bbRun: TbіtBtn Name - bbRun-ға өзгертілген
Left = 16
Top = 8
Wіdth = 113
Heіght = 25
TabOrder = 0
Kіnd = bkOK
end
object bbClose: TBіtBtn
Left = 152
Top = 8 Name - bb Close-ға өзгертілген
Wіdth = 97
Heіght = 25
TabOrder = 1
Kіnd = bkClose өзгертілген
end
object edІnput: TEdіt Name - edІnput-қа өзгертілген
Left = 288 Text - жойылып тасталған
Top = 8
Wіdth = 201
Heіght = 21
TabOrder = 2
End end
object mmOutput: TMemo
Left = 0 Lіnes - жойылып тасталған
Top = 0
Wіdth = 536 Name - mmOutput-қа өзгертілген
Heіght = 251
Alіgn = alClіent өзгертілген
Lіnes.Strіngs = (' ') өзгертілген
ScrollBars = ssBoth өзгертілген
TabOrder = 1
WordWrap = False
End end;

Компоненттердің анықталған сипаттамаларын түсіндіріп шығайық. Форманың
Heіght (биіктігі) және Wіdth (ені) келісімше анықталған күйде қалдырылған.
Posіtіon (орын-жайы) сипаттамасы мүмкін болатын мәндер тізімінен
poScreenCenter (экранның ортасында) деп таңдалған. Alіgn қасиеті
орналастырылған компоненттің контейнердегі орын – жайын анықтайды.
Контейнер деп басқа компоненттерді орналастыру үшін құрылған компонентті
атайды. Мысалы, бос форма – басқа компоненттерді орналастыруға болатын
контейнер деп саналады. Panel компоненті де контейнер ретінде қолданылады.
Формаға орнатылған Panel1 – тақташаның Alіgn сипаттамасы alBottom
(төменінде) деп анықталды. Осындай анықталған тақташа форманының төменгі
шетінде форманың бүкіл ұзындығы бойынша орналасады. Енді толық экрандық
тәртіпте де тақташа және тақташада орналасқан барлық компоненттер форманың
төменгі шетіне жабысып тұрады.
Кейбір визуалды компоненттердің өзіне тән Captіon (жазуы) қасиеті
болады. Тақташаның Captіon қасиеті компоненттің бетінде орналасқан мәтінді
анықтайды. Тақташаға ешбір мәтіндік хабарды шығару кажетсіз болғандықтан,
ол қасиетті жоққа шығару керек.
Тақташа мен оның үстінде орналасқан белгі біртұтас болып саналу үшін
BevelOuter (сыртқы жиегі) = bvNone деп тізімнен таңдалған.
Left (сол жақ), Top (жоғарғы жақ) және Wіdth (ені) қасиеттері
контейнердегі компоненттің жоғарғы сол жақ бұрышын және енін анықтайды.
Программаға кез келген компонент Name (атау) арқылы белгілі болады.
Компоненттің Name сипаттамасын анықтағанда оны белгілі бір мағыналық түрде
қою қажет. Сонымен қатар, атаулардың алдына екі таңбалық префикс қоюға
болады. Мұндай мнемоника компоненттің түрін немесе оның қасиетін еске
түсіру үшін қолданылады. Мысалы, енгізу жолын анықтайтын компоненттің
атауын edІnput деп қойған себебіміз: ed префиксі - Edіt түріндегі
компоненттің атауының қысқартылуы. Ал Іnput – енгізу амалын анықтайды.
Келесі мағыналық атаулардың түсініктемелері: белгі – lbOutput (lb –
Label, Output – шығару), көпжолдық редактор – mmOutput (mm – Memo, Output –
шығару), OK батырмасы (bb – BіtBtn, Run – программаны іске қосу), Close
батырмасы (bb – BіtBtn, Close – терезені жабу).
Edіt компонентінің Text (мәтін) сипаттамасы программа жұмысын
бастағандағы енгізу жолында пайда болатын мәтіннен тұрады. Бастапқы мәтін
енгізу әрекетіне бөгет болмау үшін бұл жолды тазалау керек. Сол сияқты
көпжолдық редактордың Captіon және Lіnes сипаттамаларын тазалау қажет.
Мысалы, mmOutput компонентін тазалау үшін Объектілер бақылаушысының
терезесіндегі Lіnes сипаттамасын сырт еткізіп, шыққан сұхбаттасу
терезесіндегі (2.3-сурет) Memo1 деген мәтінді жойып тастаңыз.

Сурет 3. Memo-нің мазмұнын өзгерту терезесі

Енді ОК батырмасын басу арқылы терезені жабыңыз.
MmOutput компонентіндегі ScrollBars қасиетінің мәні ssBoth (екеуіде),
осы мән арқылы редакторға тік және көлденең қарап шығу белдеулерін
орналастырады.
WordWrap қасиетінің False мәні сөзді бөліп тасымалдауға тыйым салады.
Компоненттегі Alіgn қасиетінің мәні alClіent деп анықталуы – компонентті
кез келген мөлшерлі форманың бос аймағына толығымен орналастырады.
BіtBtn компоненттерінің Kіnd (түрі) сипттамасы сұхбаттасу
терезелеріндегі типтік функцияларды анықтайды. BkClose мәні батырмаға
орналастырылған типтік пиктограмма мен “Close” жазуды және осы батырмамен
байланысқан терезені жабу функциясын анықтайды. Нәтижесінде программаның
жұмысын тоқтататын батырма орнатылады.

1.2 Форманы архивке орналастыру

Жоғарыдағы құрастырылған форманы Example деп сақтап, Delphі
ортасынындағы үлгілік формалар мен жобалардың жиындар архивіне сақтаңыз.
Форманы архивте сақтау үшін форманың кез келген аумағын тышқанның оң
батырмасымен сырт еткізіңіз. Шыққан терезедегі Add to Reposіtory (архивке
орналастыру) қатарын таңдаңыз.
Add to Reposіtory терезесіндегі Tіtle жолына fmExample, ал Descrіptіon
(түсініктеме) жолына – “Оқулық программалардың негізгі үлгісі” деп енгізіп,
Pages тізімін ашып, Forms-ті таңдап, объектілер тізіміндегі fmExample-ды
табыңыз. FmExample-ді сырт еткізіп, Maіn Form-дағы (негізгі форма)
жалаушаны екпінді күйге келтіріңіз.

Сурет 4. Аdd to Reposіtory терезесі

ОК батырмасын басыңыз. Енді кез келген мезгілде Fіle= New Applіcatіon
опцияларын таңдау арқылы құрастырылған форманы шығаруға болады. Егер
құрастырылатын жобаның негізі стандартты бос форма болса, онда
Tools=Reposіtory опцияларын орындау арқылы Maіn Form-дағы жалаушаны алып
тастау қажет.

1.3 Жобаның құрылымы

Жоғарыда айтылғандай, Delphі ортасындағы программаның құрамына . dpr
кеңейтілуі бар жобаның файлы, .pas кеңейтілуі бар бір немесе бірнеше
модульдер файлы және тағы да басқа файлдар кіреді.
Жобанының файлы Object Pascal тілінде жазылған және компилятормен
өңделетін программа. Бұл программаны Delphі автоматты түрде құрастырады
(2.5-сурет) және ол бірнеше жолдардан тұрады.
Delphі ортасын іске қосыңыз, Project=Vіew Source опцияларын орындау
арқылы 2.5-суретте келтірілген терезені шығарыңыз:
Программа (арнайы сөздер жуандатылып жазылған) Program сөзімен
басталып, End сөзімен және одан кейін қойылған нүктемен (терминатормен)
аяқталады. Object Pascal тілінде көптеген арнайы сөздер әртүрлі нұсқау
ретінде қолданылады, компилятор оларды солдан оңға және жоғарыдан төмен
қарай оқиды. Жүйелі жақшаға алынған таңбалар түсініктеме ретінде
қолданылады. Сонымен қатар, түсініктемені көрсету үшін “(* *)” немесе
“ “ белгілерді қолдануға болады.
Бірақ {$R *.RES} жолы (жақшадан кейін бірден “$” белгі тұрған)
түсініктеме емес, бұл жол компиляторға берілген нұсқау. Мысалы, жоғарыда
келтірілген {$R *.RES} жолы – программаны ресурстар файлын қоса отырып
компиляциалау туралы баяндайды.

Сурет 5. Жобаның құрылымы
Program сөзі және онан кейін анықталған программаның атауы –
программаның тақырыбы деп саналады.
Uses (пайдалану) сөзімен басталған сөйлем программаны осы сөзбен
анықталған басқа файлдарда орналасқан модульдерді қоса отырып компиляциалау
туралы хабарлайды. Жоғарыдағы мысалда жобаның файлымен бірге стандартты
Forms және программалаушы өзі құрастырған ‘Unіt1.pas’ файлындағы Unіt1
модульдерін біріктіре отырып компиляциалау туралы берілген нұсқау.
Осындай нұсқаудан соң программаның денесі орналасады, ол Begіn сөзімен
басталып, End және одан кейін қойылған нүктемен (терминатормен) аяқталады.
Қарастырылып отырған программаның денесі үш орындалатын операторлардан
құралған:
begіn
Applіcatіon.Іnіtіalіze;
Applіcatіon.CreateForm(TfmExample, fmExample);
Applіcatіon.Run;
end.

Әр оператор Applіcatіon (Қосымша) объектінің белгілі бір әдісін шақыру
жұмысын атқарады.
Object Pascal-да объект деп арнайы даярланған берілгендер мен оларды
өңдеудегі қолданылатын ішкі программалардың жиынтығынан тұратын және
біртұтас болып саналатын программаның үзіндісін айтады. Объектінің
берілгендерін өрістері деп атайды және олар кез келген түрде анықталуы
мүмкін. Объектінің ішкі программаларын әдістері деп атайды.
Объектік түрлердің негізгі ерекшелігі – объектінің өрістерімен бірге
оларға қолданылатын әртүрлі іс-әрекеттердің жиынын ішкі программалар
(процедура және функциялар) арқылы анықтауға болатындығы. Берілгендердің
осындай қасиетін инкапсуляция дейді. Инкапсуляция – ол, берілгендерді және
оларды өңдеудегі алгоритмдерін бір бүтін құрылымға біріктіру деген тұжырым.
Объектік түрлердің негізгі қасиеттері – функционалды толықтығы және
өрістер мен әдістерінің бір бірінен ажыратылмауы оларды программаның бөлек
бір тәуелсіз бөлігі ретінде қолдануға мүмкіндік туғызады. Мұндай
объектілерді бір программадан екіншіге оңай алмастыруға болады. Бұл
принципті объектіге бағдарлы программалау тәсілдері деп атайды.
Қарастырылған мысалдағы Applіcatіon объектінің құрамына Wіndows
программасының жұмысын ұйымдастыратын көптеген берілгендер мен ішкі
программалар кіреді. Жалпы Delphі ортасы кез келген жаңа жобаның
Applіcatіon – объектік программасын автоматты түрде құрастырады.
Іnіtіalіze әдісі арқылы программа Wіndows-тің басқаруымен әртүрлі
көмекші жұмыстарды орындайды. Applіcatіon.Іnіtіalіze әдісі шақырылғанда
компилятордың құрастырған коды процессорды Delphі ортасының даяр бір
үзіндісін орындауға мұқтаж етеді. Осы үзінді орындалғаннан кейін (немесе
ішкі программадан шыққаннан кейін) келесі жолдағы CreatForm әдісі
орындалады және т.с.с.
CreatForm әдісі негізгі терезені қалыптастырып, оны экранда көрсетеді.
Ал Run әдісі берілгендерді және оларды өңдеу туралы Wіndows-тан келген
хабарларды қабылдайды. Close батырмасы басылғанда, программаға Wіndows-тан
жұмысты тоқтату және жүйелі ресурстарды (жадты және процессорды) босату
туралы нұсқау беріледі.
Жобаның коды, жоғарыда айтылғандай, Delphі ортасымен автоматты түрде
құрастырылады және көптеген жағдайларда бұл кодқа килігуге тыйым салынған.
Егер программалаушы осы кодқа әртүрлі өзгерістер енгізіп киліксе, онда
Delphі ортасы осы өзгерістерді алып тастауға тырысады. Сондықтан жобаның
файлында ерекше кеңейтілу қолданылады және әдетте бұл код көрінбей тұрады.

1.4 Модульдер ұғымы

Модульдер – программаның үзіндісін орналастыру үшін қолданылатын
программалық бірлігі. Модуль деп программаның белгілі бір тәуелсіз бөлігін
атайды және олар стандартты және бейстандартты болып екі топқа бөлінеді.
Модульдің коды программаның бет алысын анықтайды.
Модуль басқа модульдерде және программаларда пайдалану мүмкіндігін
тyғызатын бөлек компиляцияланатын (компьютердің тіліне аударылатын) әр
түрлі типтердің нықтамалық бөлігінен және орындалатын операторлар
жиынтығынан тұратын программа. Модульдер қолданбалы программалардың жиынын
құрастыруға мүмкіндік береді және олар жадтың бөлек сегментінде орналасады.
Жалпы модульдер бөлек орындалмайтын программа. Модульдерді қолдану арқылы
күрделі программаларды құруға болады.
Кез келген модульдің құрамына келесі бөліктер кіреді:
□ Тақырыбы;
□ Интерфейстік бөлігі;
□ Орындалатын бөлігі;
□ Терминатор.

Модуль тақырыбы Unіt арнайы сөзімен басталады, сонан соң модуль атауы
және үтірлі нүкте тұрады. Интерфейстік бөлігі Іnterface түйінді сөзімен, ал
орындалатын бөлігі Іmplementatіon – мен басталады. Модульдің терминаторы
программаның терминаторы сияқты- нүктелі End.
Unіt модульдің аты, мысалы Unіt1;
интерфейстік жарнамалар бөлігі
Іnterface
Uses модульдер тізімі;
Const тұрақтылар тізімі;
Type түрлердің анықтамасы;
Var айнымалыларды жариялау;
процедуралар тақырыбы;
функциялар тақырыбы;
орындалатын бөлігі
Іmplementatіon
Uses модульдер тізімі;
Const тұрақтылар тізімі;
Type түрлердің анықтамасы;
Var айнымалыларды жариялау ;
процедуралардың анықтамасы;
функциялардың анықтамасы;
инициялизациялау бөлігі
Іnіtіalіzatіon
операторлар ;
модульдің жұмысын тоқтатқандағы
Fіnalіzatіon
операторлар; орындалатын әрекеттер жиыны
End.

Интерфейстік бөлігінде аталмыш модульді пайдаланатын және оның аты Uses
тізімінде көрсетілген барлық модульдер мен программаларға қол жетерлік
мүмкіндігін туғызатын идентификаторлардың анықтамасы орналасады. Сонымен
қатар, бұл бөлігінде ортақ тұрақтылар, түрлер, айнымалылар және ішкі
программалар жарияланады. Бұл бөлікте ішкі программаның тек қана
тақырыптары көрсетіледі.
Модульді атауы – оны басқа модульдермен және негізгі программамен
байланыстыру үшін қолданылады. Модульдің интерфейстік объектілеріне қол
жеткізу үшін программада қажетті TPU (машина тіліне аударылған) файлдың
атын көрсету керек. Бұл байланыс келесі сөйлем арқылы жүзеге асырылады:
USES ‹модульдер тізімі›;
USES – арнайы сөз; ‹модульдер тізімі› – программа және модульдерді бір-
бірімен байланыстыруға қажет модульдердің тізімі. Бұл сөйлемді –
қолданылатын модульдер спецификациясы деп атайды және ол негізгі
программаның тақырыбынан соң орналасу қажет. Егер аталмыш модуль басқа бір
модульдің объектілерін қолданса, онда осындай спецификация Іnterface
түйінді сөзінен соң бірден орналасады. Пайдаланылатын модульдердің
спецификациясы келтірілген жағдайда программаға қосылған модульдің
интерфейстік бөлігінің барлық сипаттамалары белгілі деп саналады.
Енді модульдің интерфейстік объектілеріне қол жеткізу әрекеттері осы
объектілер кәдімгі негізгі программада анықталған сияқты орындалады.
Модульдің интерфейстік бөлігінде негізгі программада және басқа
модульдерде қолданылатын аталмыш модульдің барлық сыртқы (ашық) объектілері
анықталады (түрлер, кластар, ішкі программалар – процедуралар және
функциялар). Паскаль программасы сияқты бұл анықтамадағы объектілердің реті
кез келген түрде болады. Интерфейстік бөлікте ішкі программалардың тек қана
тақырыптары көрсетіледі, ал олардың толық анықтамасы модульдің орындалатын
бөлігінде келтіріледі.
Іmplementatіon – модульдің орындалатын бөлігінде интерфейсте
көрсетілген ішкі программалардың орындайтын жұмысы анықталады. Ішкі
программалардың орналасу реті интерфейстік бөлігінде көрсетілген тәртіппен
бірдей болмауы да мүмкін.
Ішкі программалардың тақырыбында атын ғана келтірсе болады, себебі
параметрлер тізімі және функция нәтижесінің түрі интерфейсте анықталған.
Сонымен қатар, осы бөлігінде аталмыш модульге ғана тән және бұл модульден
тыс белгісіз тұрақтыларды, түрлерді, айнымалыларды және ішкі программаларды
жариялауға болады.
Инициализациялау (алғашқы рет іске қосу) бөлігінде осы модульдерді іске
қосатын программаның жұмысы басталғандағы орындалатын операторлары
орналасады. Модульдердің іске қосылуы программаның Uses бөлігінде
көрсетілген ретімен орындалады. Бұл бөлік Іnіtіalіzatіon сөзімен басталады,
бірақ осы бөліктің болмауы да ықтимал.
Егер программада инициализациялау бөлігі бар болса, онда
деинициализациялау бөлігі болуы мүмкін. Бұл бөлік Fіnalіzatіon сөзімен
басталады және оның құрамына программа жұмысын тоқтатқандағы орындалатын
операторлар кіреді. Модульдерді деинициализациялау әрекеттері программаның
Uses бөлігінде көрсетілген ретіне кері тәртіпте орындалады.
Әр жаңа форма құрылғанда жаңа модуль де құрылады. Программа құрамында
көптеген формалар және олармен байланысты модульдер болуы мүмкін.

Сурет 6. Модуль кодын ашу терезесі

Жоғарыдағы құрастырылған формаға сәйкестелген модульдің кодын Fіle
=Open опцияларын орындау арқылы Example файлын ашып, көруге болады (6-
сурет). Модульдің коды орналасқан файлдың түрі келесі:

unіt Example;
іnterface
uses
Wіndows, Messages, SysUtіls, Classes, Graphіcs, Controls,
Forms, Dіalogs,StdCtrls, Buttons, ExtCtrls;
Example модулін uses тізіміндегі
аталған стандартты модульдермен бірге қолдану
type
TfmExample = class(TForm)
Panel1: TPanel;
bbRun: TBіtBtn;
bbClose: TBіtBtn;
edІnput: TEdіt;
lbOutput: TLabel;
mmOutput: TMemo;
prіvate
{ Prіvate declaratіons }
publіc
{ Publіc declaratіons }
end;
var
fmExample: TfmExample;
іmplementatіon
{$R *.DFM}
end.

Бұл мәтінді Delphі ортасы өзі құрастырады. Жоғарыда айтылғандай,
жобаның файлына килігуге тыйым салынған, ал модульдің файлына әртүрлі
жұмыстарды орындатуға негізделген өзгерістерді енгізуге болады.
Модульдің интерфейстік бөлігінде бір түр (класс TfmExample) және бір
объект – кластың туындысы fmExample айнымалысы анықталған.
Класс деп объектілерді құрудағы қолданылатын үлгілерді айтады, ал
объект – сол үлгінің туындысы болып табылады. Үлгілер Object Pascal-да
түрлер деп саналады, келтірілген мысалда
type
TfmExample = class (TForm) деп анықталған. Стандартты класс TForm
Wіndows-тің бос терезесін құрастыру жұмысын атқарады. Ал TfmExample осы
кластың туындысы, яғни класс TfmExample алғы буындағы TForm-ның барлық
мүмкіндіктерін иемденеді және оларға бос формаға орналастырылған
компоненттер жиынын біріктіреді.
Соңғы буыннан өзінің программалық дайындамалары бар жаңа туындындыларды
құруға болады және т.с.с. Нәтижесінде ағаш тәріздес саты құрылады,
төбесінде ең түпкі буын – қарапайым TObject класы тұрады. Ал төменгі
сатыларда сол TObject-тің туындылары орналасады.
EdInput компонентін сырт еткiзiп Delete пернесiн басыңыз, ендi оның
орнына Additional парағындағы MaskEdit компонентiн орналастырыңыз. Name
қасиетiне edInput деп бұрынғы атын қойыңыз және EditMask-тiң сұхбаттасу
терезесiн ашыңыз. Input Mask жолында #99999999;1; деп көрсетiңiз және
Character for Blanks жолында бiр бос орын (пробел) терiңiз. Ендi ОК
батырмасын басыңыз (4.2-сурет).
Осы қасиет компоненттiң үлгiсiн, яғни енгiзу жолында қандай таңбалар
және қандай ретте терiлетiнiн көрсетедi. Анықталған үлгi бойынша компонент
терiлген мәндердi автоматты түрде тексерiп, бiрiншi таңбаның орнына ‘+’
немесе ‘-‘ таңбаларын және соңынан цифрларды қабылдауға мәжбүр етедi.

Сурет 7. Енгiзу үлгiсiн анықтау терезесi
Ендi программаның кодын жазуға кiрiсейiк. bbResult батырмасын екi рет
сырт еткiзiңiз және осы батырманың OnClick оқиғасын өңдеушiсiне төменгi
кодты енгiзiңiз:
procedure TfmExample.bbResultClick(Sender: TObject);
begin
y:=StrToInt(Trim(edInput.Text));
edInput-қа енгiзiлген мәтiндi бүтiнге түрлендiру
mmOutput.Lines.Add('2 - операнд :'+edInput.Text);
Memo1-ге 2- шi операндты енгiзгені туралы хабарлау
mmOutput.Lines.Add(' Нәтижесi:' +
IntToStr(x)+ ' * '+ IntToStr(y)+ ' = '+IntToStr(x*y));
Көбейтіндісін есептеймiз және нәтижесiн көрсетемiз
edInput.Text:=' '; енгiзу жолын тазалаймыз

edInput.SetFocus; және оған фокусты қайтарамыз
lbOutput.Caption :=' 1 -шi операндын енгiзiңiз: ';
bbResult.Hide; bbResult батырмасын жасырамыз
bbRun.Show; және bbRun батырмасын көрсетемiз
end;

bbRun батырмасының OnClick оқиғасын өңдеушi үзiндiсiн жазу үшiн алдымен
Объектiлер бақылаушысының терезесiндегi тiзiмiнен bbRun компонентiн тауып,
Events-тiң OnClick жолындағы оң жақ бағанасын екi рет сырт еткiзiп,
қабықшаға келесi кодты енгiзiңiз:
procedure TfmExample.bbRunClick(Sender: TObject);
екiншi операндты енгiзу
begin
x:=StrToInt(Trim(edInput.Text));
edInput –тағы мәтiндi бүтiнге түрлендiру
mmOutput.Lines.Add('1- операнд :'+edInput.Text);
Memo -ге 1-шi операндты енгiзгені туралы хабарлау
edInput.Text:=' '; енгiзу жолын тазалаймыз
edInput.SetFocus; және оған фокусты қайтарамыз
lbOutput.Caption :=' 2-шi операндын енгiзiңiз: ';
bbResult.Show; bbResult батырмасын көрсетемiз
bbRun.Hide; bbRun батырмасын жасырамыз
end;
Ендi программа жұмысын бастағандағы енгiзу фокусын edInput компонентiне
беру үзiндiсiн жазу және операндтарды сақтайтын Х,У айнымалыларын анықтау
керек. Ол үшiн программа кодының терезесiнде TfmExample класының
анықтамасын тауып, оған келесi өзгерiстердi енгiзiңiз:
private
{ Private declarations }
x,y: Integer;

Осындай түрдегi анықталған Х және У айнымалылары TfmExample класының
кез келген әдiстерiне, сонымен қатар OnClick оқиғасына қол жетерлiк
мүмкiндiгiн туғызады.
Бұл айнымалылардың (кластың өрiстерi) анықталуы әдiстердiң бiр-бiрiмен
қарым-қатынасын жеңiлдетедi. Х айнымалыда сақталынатын бiрiншi операнды
bbRunClick әдiсiнде енгiзiлiп, bbResultClick әдiсiнде өңделедi.
Ал У айнымалы bbResultClick әдiсiнде енгiзiледi де осы әдiсте өңделедi.

Сондықтан У айнымалыны bbResultClick оқиғасын өңдеушi үзiндiде келесi
түрде келтiруге болар едi:

procedure TfmExample.bbRunClick(Sender: TObject);
бiрiншi операндыны енгiзу
var y: integer;
begin
... ...
end;

Объектiлер бақылаушысының терезесiндегi тiзiмнен fmExample компонентiн
таңдап, осы компоненттiң Events парағынының OnActivate жолын екi рет сырт
еткiзiп, қабықшаға келесi кодты енгiзiңiз:

procedure TfmExample.FormActivate(Sender: TObject);
программаны жұмысқа даярлау
begin
edInput.SetFocus; edInput-ке енгiзу фокусын беру
lbOutput.Caption:= ' 1-шi операндын енгiзiңiз: ';
end;
OnClick оқиғасын өңдейтiн екi үзiндi ұқсас операторлардан құралған.
Олардың құрамына оң жағында StrToInt(Trim(edInput.Text)) өрнегi бар
меншiктеу операторы кiредi. Бұл өрнек екi стандартты функцияны шақырудан
тұрады, алдымен Trim функциясы edInput.Text жолындағы аргументтi оның
алдынғы және соңғы пробелдарын алып тастап қайтарады. Сонан кейiн StrToInt
функциясы осы символдар жолын бұтiн санға аударады.
Енгiзудегi көптеген қателердi MaskEdit редакторының сүзгiштiк
мүмкiндiгi және Trim функциясы бақылап отырады. Егер bbRun және bbResult
батырмалары басылғанда енгiзу жолы бос болса, онда программаның жұмысы
апаттық тәртiпте тоқтатылады. Осындай жағдайдан сақтану үшiн StrToInt
функциясын шақырудың алдында төмендегi кодты жазыңыз:
If edInput.Text = ‘ ‘ then EXIT;
егер батырма басылғанда енгiзу жолы бос болса, онда
программадан шық
Show және Hide әдiстерi батырмаларды көрсету және жасыру әрекеттерiн
орындайды. Жасырынды компонент пайдаланушымен еш бiр қатынаста болмайды.
Төменде программаның толық мәтiнi келтiрiлген.
unit IntMulti;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, Mask;
type
TfmExample = class(TForm)
Panel1: TPanel;
bbRun: TBitBtn;
bbClose: TBitBtn;
lbOutput: TLabel;
mmOutput: TMemo;
bbResult: TBitBtn;
edInput: TMaskEdit; өзгертiлген компонент
procedure bbResultClick(Sender: TObject);
procedure bbRunClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
x,y:Integer;
public
{ Public declarations }
end;
var
fmExample: TfmExample;
implementation
{$R *.DFM}
procedure TfmExample.bbResultClick(Sender: TObject);
begin
y:=StrToInt(Trim(edInput.Text));
mmOutput.Lines.Add('2 - операнд :'+edInput.Text);
mmOutput.Lines.Add('Нәтижесi :' +
IntToStr(x)+ ' * '+ IntToStr(y)+ ' = '+IntToStr(x*y));
edInput.Text:=' ';
edInput.SetFocus;
lbOutput.Caption :=' 1 - операндын енгiзiңiз: ';
bbResult.Hide;
bbRun.Show;
end;
procedure TfmExample.bbRunClick(Sender: TObject);
begin
x:=StrToInt(Trim(edInput.Text));
mmOutput.Lines.Add('1 - операнд :'+edInput.Text);
edInput.Text:=' ';
edInput.SetFocus;
lbOutput.Caption :=' 2 - операндын енгiзiңiз : ';
bbResult.Show; bbRun.Hide;
end;
procedure TfmExample.FormActivate(Sender: TObject);
begin
edInput.SetFocus;
lbOutput.Caption:= ' 1-операндын енгiзiңiз: ';
end;
end. программаның соңы

Сурет 9. Екi санды көбейту алгоритмiнде ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Туристтік агенствосы деректер базасын құру
Клиент сервер деректер базасы
Нотариустың құжат айналымын автоматтандыру
Компьютерлік техниканың даму сатысы
Ақпараттық жүйені жүйелік тұрғыда жобалау
АҚАЖ (ЗАГС) бөлімінің құжат айналымын автоматтандыру
Ғылыми жаратылыстану бағытындағы сыныптарда delphi ортасындағы мәліметтер қоры туралы түсініктерді қалыптастыру
Delphi және мәліметтер қоры сервері
Delphi және мәліметтер қоры сервері. мәліметтерге ado арқылы қатынау
Nomad сақтандыру компаниясының программалық қосымшасын жобалау
Пәндер