Дельфи тілінде берілгендерді өңдеу әдістері



І КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 3
ІІ ДЕЛЬФИ ТІЛІНДЕ БЕРІЛГЕНДЕРДІ ӨҢДЕУ ӘДІСТЕРІ

2.1 Берiлгендердiң жай түрлерi ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 5

ІІІ
МӘЛІМЕТТЕРДІ БЕРІЛГЕНДЕР ҚОРЫ АРҚЫЛЫ БАСҚАРУ ӘДІСТЕРІ
3.1 Сұраныстар жасау әдістері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 17

ІV
КАДР БӨЛІМІ АҚПАРАТТЫҚ ЖҮЙЕСІНІҢ ПРОГРАММАЛЫҚ ШЕШІМІ
4.1 Берілгендер элементтері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 27
4.2 Кадр бөлімі жұмысын жүргізу программасымен жұмыс істеу инструкциясы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .

31
V ҚОРЫТЫНДЫ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .33

VI ПАЙДАЛАНҒАН ӘДЕБИЕТТЕР ТІЗІМІ ... ... ... ... ... ... ... ... ... ... ... ... 36
Тақырыптың өзектілігі. Delphi жүйесінде мәліметтер қорын басқару жүйесінің мүмкіндіктерін пайдалану, мәліметтер қорын басқару жүйесінің едәуір дамыған мүмкіндіктерін игеру. Кадр бөлімі жұмысындағы мәліметтерді Дельфи тілінде автоматтандыру.
Ақпараттық технологиялардың жаңа әлемге ауқымды әсер етуі әр түрлі салаларында айқын көрініс тапты. Осы технологиялардың арқасында миллиондаған адамдардың еңбек әрекеттерінің шарттары мен мазмұны өзгеруде, күрделі өндірістік тапсырмалардың шешілуі түбегейлі тездетілуде, басқарудың тиімділігі анық өсуде. Жаңа мамандықтар және жаңа жұмыс орындары пайда болуда, бұрын болмаған өндіріс салалары құрылуда, дәстүрлі формалардың қызметтері өзгеруде.
Әрбір мекемеде өзінің қызметкерлер есебімен айналысатын кадрлар бөлімі болады. «Кадрлар есебі» сөздері қызметкерлерді жұмысқа қабылдауды түсіндіреді, олардың жұмысқа орналасуынан бастап, жұмыстан шығу уақыт аралығын қамтиды. Қосымша түрде кадрлар бөлімі бухгалтерия мен сыртқы мекемелерге, мысалы, Зейнеткерлік фондтарға көптеген есептерді құрып, тапсыруы қажет. Кадрлар бөлімінің жұмысы заңмен қарастырылған. Жекелеген түрде, жұмысқа қабылдау немесе жұмыстан шығару формалары, қызметкерлердің жеке карточкалары, есептер формалары қарастырылады. Кадрлар бөлімі еңбек ресурстарға қатысты басшылықтан келген қызметкерлер сұранысына жауап береді.
Delphi – де мәліметтер қорын құруға және оны ары қарай демеуге арналған құралдармен қамтамасыз ету, сонымен қатар, кез келген мәліметтер қорымен жұмыс жасауға арналған қолданбалы программаларды құру мүмкіндігі мол.
Дельфи тілінде жазбалармен жұмыс жасауда төмендегідей мүмкіндіктерге ие.
• Кестеге бір немесе бірнеше жазбаны қосу;
• Кестеден бір немесе бірнеше жазбаны қою;
• Кейбір өрістердің бір немесе бірнеше жазбаларындағы мәндерді жаңарту;
• Берілген шартты қанағаттандыратын бір немесе бірнеше жазбаларды табу.
Кестені құру кезінде кестеде берілген мәліметтерді автоматты түрде басқару. Мәліметтер қорының әр кестесі ақпараттық жүйенің бірдей типті объектілері туралы мәліметтерді сақтауға жолдар мен бағаналардан тұратын жазбаларынан іздеу жұмыстарын жасау. Мәліметтер базасын басқару жүйесін құру қиын болған облыстар үшін құру, сонымен қатар басқару түсінігі болып жатқан процестер шешімі интелектуалды әдістермен мағынаны басқару білімдері жеке тапсырмаларда шешімі автоматизацияланады.
1 Айсағалиев С.Ә., Иманқұл Т.Ш. «Тиімділеу әдістерінің дәрістері»- Алматы:2004. -360б.
2 Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. М.: Финансы и статистика, 1989г.
3 Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем. -М.: Финансы и статистика, 1998г. -176 с.
4 Глушаков С.В., Ламотько Д.В. Базы данных – Харьков: “Издательство АСТ”, 2005
5 Гольцман В. MySQL 5.0. Библиотека программиста, 1-е издание, 2010 год-256 стр.
6 Гофман В.Э, Хомоненко А.Д. Delphi 5.- СПБ.: БХВ-Санкт-Петербург, 1999г. - 800 с.
7 Гофман В.Э, Хомоненко А.Д.Работа с базами данных в Delphi.- СПБ.: БХВ-Санкт-Петербург, 2000г.- 656 с.
8 Грабер М. Введение в SQL. - М.: "ЛОРИ",1996г. - 340 с
9 Дейт К. Дж. Введение в системы баз данных. - Киев: Диалектика, 1998 г. - 784с.
10 Диго С.М. Проектирование и использование БД: Учебник для студентов вузов. М.: Финансы и статистика, 1995г.
11 Днепров А. Видеосамоучитель. Microsoft Access 2007 (+CD)
1-е издание, 2008 год.-240 стр.
12 Камардинов О. Х.Жантелі, Delphi программалау ортасы, Шымкент – 2002.
13 Компьютерные технологии обработки информации: Учебное пособие /Под ред. С.В. Назарова. - М.: Финансы и статистика, 1995г.
14 Конопка Р. Создание оригинальных компонент в среде Delphi: Пер. с англ. - К.: НИПФ - “ДиаСофт Лтд.”, 1996г. - 512с.
15 Куртер Дж., Маркви А. “MICROSOFT OFFICE 2007” - Санкт-Петербург: Питер, 2008
16 Петкович Д. Microsoft SQL Server. БХВ-Санкт-Петербург 2008г.
17 Поспелов Г.С. Искусственный интеллект – основа информационной технологии. М.: Наука, 1988г.
18 Рудалев В.Г., Крыжановская Ю.А., Разработка приложений баз данных в среде Delphi, Часть 1., Воронеж 2002г.
19 Рудалев В.Г., Крыжановская Ю.А., Разработка приложений баз данных в среде Delphi, Часть 2., Воронеж 2002г.
20 Сапарбаев Ә.Ж,Ахметов Қ.А, Мақұлова А.Т. «Экономикалық – математикалық әдістер мен модельдер»- Алматы:2005. -372б.
21 Симонович C. В. “Информатика – базовый курс”, 2-е издание - Санкт-Петербург: “Пресс”, 2005г.

ЖОСПАР

І 3
КІРІСПЕ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... .. ... .
ІІ ДЕЛЬФИ ТІЛІНДЕ БЕРІЛГЕНДЕРДІ ӨҢДЕУ ӘДІСТЕРІ
2.1 Берiлгендердiң жай түрлерi 5
... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... .
... ..

ІІІ МӘЛІМЕТТЕРДІ БЕРІЛГЕНДЕР ҚОРЫ АРҚЫЛЫ БАСҚАРУ ӘДІСТЕРІ
3.1 Сұраныстар жасау әдістері 17
... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... .
... ...

ІV КАДР БӨЛІМІ АҚПАРАТТЫҚ ЖҮЙЕСІНІҢ ПРОГРАММАЛЫҚ ШЕШІМІ
4.1 Берілгендер элементтері 27
... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... .
... ... ...
4.2 Кадр бөлімі жұмысын жүргізу программасымен жұмыс істеу
инструкциясы ... ... ... ... ... .. ... ... ... ... ... ... ... ... .3 1
... ... ... ... ... ... ... ... .. ... ...

V
ҚОРЫТЫНДЫ ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ..33

VI ПАЙДАЛАНҒАН ӘДЕБИЕТТЕР
ТІЗІМІ ... ... ... ... ... ... ... . ... ... ... ... ...36

КІРІСПЕ

Тақырыптың өзектілігі. Delphi жүйесінде мәліметтер қорын басқару
жүйесінің мүмкіндіктерін пайдалану, мәліметтер қорын басқару жүйесінің
едәуір дамыған мүмкіндіктерін игеру. Кадр бөлімі жұмысындағы мәліметтерді
Дельфи тілінде автоматтандыру.
Ақпараттық технологиялардың жаңа әлемге ауқымды әсер етуі әр түрлі
салаларында айқын көрініс тапты. Осы технологиялардың арқасында
миллиондаған адамдардың еңбек әрекеттерінің шарттары мен мазмұны өзгеруде,
күрделі өндірістік тапсырмалардың шешілуі түбегейлі тездетілуде, басқарудың
тиімділігі анық өсуде. Жаңа мамандықтар және жаңа жұмыс орындары пайда
болуда, бұрын болмаған өндіріс салалары құрылуда, дәстүрлі формалардың
қызметтері өзгеруде.
Әрбір мекемеде өзінің қызметкерлер есебімен айналысатын кадрлар бөлімі
болады. Кадрлар есебі сөздері қызметкерлерді жұмысқа қабылдауды
түсіндіреді, олардың жұмысқа орналасуынан бастап, жұмыстан шығу уақыт
аралығын қамтиды. Қосымша түрде кадрлар бөлімі бухгалтерия мен сыртқы
мекемелерге, мысалы, Зейнеткерлік фондтарға көптеген есептерді құрып,
тапсыруы қажет. Кадрлар бөлімінің жұмысы заңмен қарастырылған. Жекелеген
түрде, жұмысқа қабылдау немесе жұмыстан шығару формалары, қызметкерлердің
жеке карточкалары, есептер формалары қарастырылады. Кадрлар бөлімі еңбек
ресурстарға қатысты басшылықтан келген қызметкерлер сұранысына жауап
береді.
Delphi – де мәліметтер қорын құруға және оны ары қарай демеуге арналған
құралдармен қамтамасыз ету, сонымен қатар, кез келген мәліметтер қорымен
жұмыс жасауға арналған қолданбалы программаларды құру мүмкіндігі мол.
Дельфи тілінде жазбалармен жұмыс жасауда төмендегідей мүмкіндіктерге ие.
• Кестеге бір немесе бірнеше жазбаны қосу;
• Кестеден бір немесе бірнеше жазбаны қою;
• Кейбір өрістердің бір немесе бірнеше жазбаларындағы мәндерді жаңарту;
• Берілген шартты қанағаттандыратын бір немесе бірнеше жазбаларды табу.
Кестені құру кезінде кестеде берілген мәліметтерді автоматты түрде
басқару. Мәліметтер қорының әр кестесі ақпараттық жүйенің бірдей типті
объектілері туралы мәліметтерді сақтауға жолдар мен бағаналардан тұратын
жазбаларынан іздеу жұмыстарын жасау. Мәліметтер базасын басқару жүйесін
құру қиын болған облыстар үшін құру, сонымен қатар басқару түсінігі болып
жатқан процестер шешімі интелектуалды әдістермен мағынаны басқару білімдері
жеке тапсырмаларда шешімі автоматизацияланады.
Курстық жұмыстың мақсаты. Delphi – де мәліметтер қорын құруға және
оны ары қарай демеуге арналған құралдармен қамтамасыз ету, сонымен қатар,
кез келген мәліметтер қорымен жұмыс жасауға арналған мекеменің кадрлар
бөлімі қызметінің жұмысын автоматтандыратын ақпараттық жүйе жасау.
Қойылған мақсатқа жету үшін келесідей тапсырмаларды орындау керек:
- кәсіпорынның қызметіне талдау жүргізу;
- барлық кешеннен автоматтандыру тапсырмаларын таңдау;
- қызметі ұқсас бар программалық жабдықтарды талдау;
- мәліметтер базасын басқару жүйесін және қолданушының қосымшасын
бағдарламалау ортасын таңдауды жүзеге асыру;
- программалық жабдыққа қойылатын талаптарды талдау;
- мәліметтер базасын құру;
- таңдалған мәліметтер базасын басқару жүйесінде мәліметтер базасын іске
қосу;
- қолданушы қосымшасын жобалау;
- қолданушының қосымшасын бағдарламалау ортасының құралдарымен іске
асыру.
Тақырыптың зерттеліну деңгейі. Қазіргі таңда көптеген кәсіпорындарда
кадрлар бөлімі құжаттармен жұмысты қолмен жүргізетіндігі және бір есепті ай
сайын қайталама құруында. Кадр бөліміне программалық жабдықты құру
ақпаратты жинау процесін тездетеді, құжаттарды толтырғанда қате кету
мүмкіндігін төмендетеді, қызметкер туралы ақпараттың болмау мүмкіндігін
жояды. Сонымен қатар программалық жабдықты құрудың экономикалық аспектісі
болып кадр бөлімінде жұмыс жасайтын қызметкерлердің қол еңбегін олардың
қызметін автоматтандыру есебінен қысқарту болып табылады.
Зерттеу пәні. Бағдарламалау тілдері, Дельфи программалау тілі.
Зерттеу объектісі. Объект ретінде кадр бөлімі жұмысын автоматтандыру
процесі алынды.
Ғылыми жаңалығы. Әрбір кәсіпорынның басты ресурсы – бұл адамдар, яғни
кәсіпорында жұмыс жасайтын қызметкерлер. Қызметкерлерсіз бірде бір
кәсіпорынның қызмет етуі мүмкін емес. Қызметкерлердің санына қарап мүмкін
серіктестер ұйымның көлемін анықтайды. Адамдарды, басқа да ресурстар сияқты
есепке алу керек және олар туралы ақпарат жиналып, сақталуы тиіс. Ұйымдық
мекемелерді тиімді басқару жəне қызмет жасауына қойылатын талаптардың бірі
– ол жаңа ақпараттық технологиялардың негізінде дамытылған ақпараттық
инфрақұрылымның бар болуы. Оның маңыздылығы ақпараттық берілгендері бар
басқарушылық ресурстарының деректер қорларын құруда байқалады.
Автоматтандыру объектісін талдау үрдісінде іс-қағаз жұмыстарында есеп алу
бағытындағы мекеменің кадр бөлімінің жұмысын автоматтандыратын арнайы
жүйені құрастырудың қажеттілігі туындады.
Курстық жұмыстың құрылымы. Курстық жұмыс кіріспе, теориялық бөлімнен,
қорытынды және пайдаланылған әдебиеттер тізімі, қосымша және 36 беттен
тұрады.
І ДЕЛЬФИ ТІЛІНДЕ БЕРІЛГЕНДЕРДІ ӨҢДЕУ ӘДІСТЕРІ

1.1 Берiлгендердiң жай түрлерi

Дельфи тiлiнде кез келген мәлiметтер – айнымалы шамалар, функцияның
немесе өрнектiң мәндерi өзiнiң түрлерiмен сипатталады. Кез келген
объектiнiң мәндерi және оларға қолданылатын операциялар жиыны объектiнiң
түрлерi арқылы анықталады. Мәлiметтер түрлерi жай және құрылымды болып екi
топқа бөлiнедi және түрлер құрылысы 1-суретте көрсетiлген.

Сурет 1. Мәлiметтер түрлерiнiң жiктелуi

Жай түрлердiң негiзгi қасиеттерi болып олар мәндерiнiң бөлiнбеуi және
реттелiп орналасуы есептеледi. Осы қасиеттерiне байланысты жай түрлердi
скалярлық деп атайды. Егер бiзге бүтiн сандардың жиынымен немесе басқа да
тiзбектеле орналасқан объектiлердiң мәндерiмен жұмыс iстеу керек болса,
онда скалярлық түрлердi қолдануы жатпайды.
Дельфи тiлiндегi жай немесе стандартты деп нақты және бүтiн сандарды,
логикалық және символдық шамаларды анықтайтын түрлердi атайды.
Жай түрлерiндегi нақты және күнделiк - уақытты (Date - Time) анықтайтын
шамалардан басқалары реттелген түрге жатады. Сонымен, реттелген түрлерге
бүтiн, символдық, логикалық, санаулы және шектелген шамаларды жатқызуға
болады.
Реттелген шамалар.
Реттелген шамалардың ерекшелiгi - әрбiр реттелген түрге жататын
шамалардың қабылдай алатын мәндерiнiң саны шектеулi болғандығы. Оларды
белгiлi бiр заңдылықпен реттеуге және әрбiр мәнге бiр бүтiн санды - реттегi
нөмiрiн сәйкестеуге болады.
Реттелген шамаларға мәннiң реттегi нөмiрiн қайтаратын ORD(X) функциясын
қолдануға болады. Бүтiн шамалардың ORD функциясы шаманы өз мәнiн қайтарады.
Мысалы, ORD(10)=10, ORD(-10)= -10.
Реттелген шамаларға PRED(X) функциясы реттегi Х шаманың алдында
орналасқан яғни (ORD(X) -1) мәндi қайтарады және SUCC(X)= (ORD(X)+1) -
реттегi Х шамадан кейiн орналасқан мәндi анықтайтын функцияларын қолдануға
болады.
Мысалы,
Var c: integer;
Begin
C:= 5; write (c, pred (C) , succ (C)); end.
Келтiрiлген үзiндi бойынша баспаға келесi мәндер шығарылады: 5 4 6
Сонымен қатар, реттелген шамаларға төменгi кестеде көрсетiлген
функцияларды қолдануға болады (Кесте 1).

Кесте 1
Реттелген шамаларға қолданылатын стандартты функциялар

Операция Қолданылуы
Low (T) Т реттiк түрдiң ең кiшi шамасын анықтайды
High(T) Т реттiк түрдiң ең үлкен шамасын анықтайды
Ord(X) Х шаманың реттегi нөмiрiн анықтайды
Pred(X) Реттегi Х шаманының алдында турған мәнiн
анықтайды
Succ(X) Реттегi Х шаманының соңында турған мәнiн
анықтайды
Dec(X,[i]) Х шаманың мәнiн i-ге азайтады, егер i
көрсетiлмесе, онда I=1 деп саналады
Inc(X,[i]) Х шаманың мәнiн i-ге үлкейтедi, егер i
көрсетiлмесе, онда I=1 деп саналады

Бүтiн шамалар.
Бүтiн түрлер қатарына бүтiн сандар жиыны жатады. Есептеу техникасының
(компьютердiң) сандарды iшкi өрнектеуiне байланысты (сандардың бiр, екi,
төрт немесе сегiз байтпен өрнектелуi) бүтiн түрлер 9 топқа бөлiнедi [2].
Олар 2-кестеде көрсетiлген. Бүтiн сандар реттелген шамалар түрiне
жатады, оның реттегi нөмiрi шаманың өз мәнiмен бiрдей деп саналады және
оларға ord, pred, succ, inc, dec, low, high функцияларын қолдануға болады.

Кесте 2
Бүтiн шамалардың түрлерi

Түрi Диапазоны (аралығы) өлшемi, байт
Byte 0 ... 255 1
Shortint -128 ... 127 1
Smallint -32768 ... 32767 2
Word 0 ... 65535 2
Integer -2 147483648 ...2 4
147483647
Longint -2 147483648 ...2 4
147483647
LongWord 0... 4 294 967 295 4
Int64 -9*1018...+ -9*1018 8
Cardinal 0 ... 2 147483647 8

Бүтiн сандарға төменгi амалдар қолданылады:
+ қосу амалы;
- айыру амалы;
* көбейту амалы;
div – бөлiндiнiң бүтiнiн анықтау;
mod – бөлiндiнiң қалдығын анықтау.
Мысалы,
Var x,y: integer;
Begin x:=5 div 2; x=2
у:=5 mod 2; y=1
lbOutput.Caption:= IntToStr(x,)+’ ‘+InToStr(y);
x,y мәндерi жолдық түрге айланып баспаға шығарылады
End.
Сонымен қатар, бүтiн сандарға салыстыру амалдарын қолдануға болады
(нәтижесi логикалық шама). Бүтiн сандарға 3-кестеде көрсетiлген
фунциялардан басқа төмендегі амалдар және стандартты функцияларды қолдануға
болады.
Кестеде Х – бүтiн Byte, ShortInt, Word, Integer, LongInt форматтарын
көрсететiн белгi.
Бүтiн сандарды өңдеудегi нәтижелерiнiң түрi операндылардың түрiмен
бiрдей болады, ал егер операндтары әртүрлi бүтiн форматтарда анықталған
болса, онда нәтиженiң форматы осы операндтардың ортақ форматына жатады.
Мысалы, ShortInt және Word түрiндегi операндтар бiрге өңделгендегі
нәтижесiнiң түрi Integer болады.

Кесте 3
Бүтiн шамаларға қолданылатын амалдар және стандартты функциялар

Операция Қолданылуы Нәтиженiң
түрi
Abs(y) У-тің абсолютті мәнін қайтарады X
X div Y Х, У екі санның бөліндісінің Параметрдің
бүтіні түрімен бірдей
X mod Y Х, У екі санның бөліндісінің Параметрдің
қалдығы түрімен бірдей
Odd(X) Тақ сан екендігін анықтайды Boolean
Sqr(X) Х-тің квадраты X
Chr(B) Коды бойынша символды қайтарады Char
Hi(W) Аргументтің алдыңғы байтын Byte
қайтарады
Hi(I) Аргументтің үшінші байтын Byte
қайтарады
Low(W) Аргументтің соңғы байтын Byte
қайтарады
Low(I) Аргументтің соңғы байтын Byte
қайтарады
Random(N) 0- мен N-1 аралықтағы кездейсоқ Аргументтің
бүтін сан түрімен бірдей
Swap(W) Байттардың орнын ауыстырады Word
Swap(I) Байттардың орнын ауыстырады Integer

Delphi ортасының стандартты икемделуi сандар мәндерiнiң анықталған
аралықтан тыс шықпауын бақылап отырмайды, сондықтан әртүрлi түсiнiксiз
жағдайлар пайда болуы мүмкiн. Мысалы, bbRun батырмасы басылғандағы келесi
үзiндiнiң орындалу нәтижесiнде экранға 0 мәнi шығарылады (1-суретте
келтiрiлген fmExample үлгісі қолданылған):
procedure TfmExample.bbRunClick(Sender: TObject);
var k:Word;
begin
K:= 65535; Word форматындағы ең үлкен шама
K:=K+1; математика ережелерi бойынша K=65536
lbOutput.Caption:= IntToStr(K);
ал экранға шығарылатын K-ның мәнi 0
end;
!!! Енгiзу жолында көрсетiлген шамалар жолдық берiлгендер деп саналады.
Сондықтан көрсетiлген шаманы сандық түрiне айналдыру керек: мысалы х -
бүтiн, ал у - нақты шамалар болса, онда бүтiндi x:=StrToInt(edit1.text);
нақты шаманы у:=StrToFloat(edit1.text) деп түрлендіредi. Символдық шаманы
түрлендiрмей ақ меншiктей бередi, мысалы b:= edit1.text, мұнда b :string
деп анықталған.
Шығаруда, керiсiнше, бүтiн және нақты шамаларды жолдық түрге
айналдырады: мысалы label3.Caption :=' х = ' +
IntToStr(х);
х бүтін шаманың мәнiн Label - ке шығару

Memo1.Lines.Add ('у= ' + FloatToStr(y));
Memo1- ге y – нақты шаманың мәнiн шығару
Label-ге шығарғанда шығарылатын шама оның Caption-не меншiктеледi, ал
Memo-ға шығарылғанда оның Lines қасиетiне Add әдiсi арқылы қосылып отырады
және жолдық шамаларды бiрiктiру амалы қолданылады.
Егер Delphi ортасының Project =Options =Compiler = Range checking
опцияларын екпiндi күйге келтiрсек, онда компилятор программаға
нәтижелерiнiң анықталған аралықтан тыс шықпауын қадағалап отыратын кодын
қосады. Сол кодқа әртүрлi тотенше жағдайларды өңдейтiн қосымша кодты
көрсетуге болады.
Жоғарыдағы программаны төмендегi түрге келтiрсек, онда нәтиже дұрыс
шығады:
K:= 65535; Word форматындағы ең үлкен шама
lbOutput.Caption:= IntToStr(K+1);
экранға шығарылатын K-ның мәнi 65535
1. Ендi бiрнеше мысал келтiрейiк. Екi бүтiн сан берiлген. Олардың
көбейтiндiсiн есептейтiн программа құрастыру керек. Есептi шешуде жоғарыда
құрылған fmExample формасын қолдануға болады.
Программа құрастырылғанда екi мәселенiң шешiлуiн қарастыру қажет:
• Әр операндыны енгiзу туралы программаға хабарлауды қалай
ұйымдастыруға болады?
• Егер бүтiн санның орнына басқа түрдегi мәлiмет енгiзiлсе не болады?
Бiрiншi мәселенi шешу үшiн fmExample формасына тағы да бiр батырманы
орналастыру керек. Бiрiншi батырманының басылуы енгiзу жолындағы бiрiншi
операндының мәнi, ал екiншi батырманының басылуы екiншi операндының даяр
болғанын және өңдеудi бастауға болатындығы туралы хабарлайды. Сонымен
қатар, батырмалардың өз ретiмен басылуын қарастыру қажет. Ол үшiн бiрiншi
батырма басылғанша екiншi батырма жасырынды түрде болуын ескеру керек.
FmExample формасына екiншi BitBtn батырманы бұрынғы батырманың үстiнен
орналастырыңыз және қасиеттерiн төмендегiдей өзгертiңiз:
Name – bbResult;
Kind – bkOk;
Visible – False.
Осындай түрдегi даярланған батырма программа жұмысын бастағанда
жасырынды күйде болады, ал бiрiншi bbRun батырмасы формада көрiнiп тұрады.
BbRunClick оқиғаны өңдеушi үзiндi bbRun батырмасын жасырып, bbResult
батырмасын көрсету керек.
Екiншi мәселенiң пайда болуы: кейде пайдаланушы кездейсоқ енгiзу жолына
дұрыс емес мәндердi көрсетуi мүмкiн. Осындай түрдегi даярланған жолды
түрлендiргенде төтенше жағдай программаның жұмысын тоқтатады. Бұл мәселенi
шешудегi бiрнеше жолдары бар. Олардың арасындағы ең жеңiлiн қарастырып
көрелiк: бiр жолдық EdInput орнына енгiзу жолындағы терiлген мәндi
тексеретiн арнайы редакторды орнатайық.
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 ОК
батырмасын басыңыз (Сурет 2).
Осы қасиет компоненттiң үлгiсiн, яғни енгiзу жолында қандай таңбалар
және қандай ретте терiлетiнiн көрсетедi. Анықталған үлгi бойынша компонент
терiлген мәндердi автоматты түрде тексерiп, бiрiншi таңбаның орнына ‘+’
немесе ‘-‘ таңбаларын және соңынан цифрларды қабылдауға мәжбүр етедi.

Сурет 2. Енг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н туғызады [3].
Бұл айнымалылардың (кластың өр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. программаның соңы
Программаның нәтижесі 3-суретте келтірілген.

Сурет 3. Екi санды көбейту алгоритмiнде енгiзу үлгiсiн пайдалану

Алдымен procedure TfmExample.FormActivate(Sender: TObject); процедурасы
іске қосылады, 1-ші операндты енгізу туралы хабар шығарылады. Содан кейін
procedure TfmExample.bbRunClick(Sender: TObject); процедурасы х мәнін, яғни
1-ші операндын енгізгені және 2-ші операндын енгізу туралы хабар шығарады
[4].
Соңында procedure TfmExample.bbResultClick(Sender: TObject);
процедурасы 2-ші операндын енгізгені туралы хабар шығарады, көбейтіндісін
есептеп, нәтижесін mmOutput терезесіне шығарады.
Программаның жұмысы Close батырмасын басқанда тоқтатылады.
2. Екі бүтін санның қосындысын есептейтін мысалдың қарапайым алгоритмін
келесі түрде келтіруге болады.
Delphi ортасын іске қосып, File=New=Form деген ұйғарымдарды таңдаңыз.

Шығып тұрған бос формаға екі Edit, бес Label, екі Button, Memo, BitBtn
компоненттерін орналастырыңыз (4.4-сурет). Edit1.Text және Edit2.Text
қасиеттері тазаланған. Label1.Caption- ны бос жол түрінде анықталған. Басқа
белгілердің Caption қасиеттері өзгертілген: Label2.Caption:= ‘ х мәні ’,
Label3.Caption:= ‘ у мәні ’, Label4.Caption:= ‘ Есептеуді жалғастыру үшін
’, Label5.Caption:= ‘Батырма_2-ні бас’. Button1 және Button2
батырмаларының Caption-дері Батырма_1 және Батырма_2 деп өзгертілген. Memo1-
дің Lines параметрі тазаланған. BitBtn1 компоненттінің Kind параметрі
bkClose – форманы жабу батырмасы болып анықталған.
Программа жұмысын бастағанда х және у мәндері енгізу жолдарында
көрсетілу керек.
Енді Батырма_1-ді басқанда, қосындысы Label1-ге және Memo1-ге шығып
тұрады. Есептеуді жалғастыру үшін Батырма_2-ні басу қажет. Бұл сәтте екі
енгізу жолы тазаланып, фокусты Edit1- ге қайтарады. Қайталап есептеудің
нәтижесі Label1-ге және Memo1 компонентінің келесі жолына шығарылады.
Программа құрамына екі процедура кіреді:
procedure TForm1.Button1Click және procedure TForm1.Button2Click.
Олардың мәтіндері төменде көрсетілген:
procedure TForm1.Button1Click(Sender: TObject);
var x,y,s:integer;
begin
x:=StrToInt(edit1.text); edit1-де көрсетілген мәнді х-ке
меншіктеу
y:=StrToInt(edit2.text); edit2-де көрсетілген мәнді у-ке
меншіктеу
s:=x+y; қосындысын есептеу
label1.Caption:='Қосындысы = ' + IntToStr(s);
нәтижесін label1-ге
шығару
Memo1.Lines.Add('S= ' + IntToStr(s)); нәтижесін Memo1-ге шығару
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.text:=' '; edit1-дi тазалау
edit2.text:=' '; edit2-дi тазалау
edit1.SetFocus; edit1- ге енгізу фокусын қайтару
end;
Жұмыс істеп тұрған программаның көрінісі 4-суретте келтірілген.

Сурет 4. Екі санның қосындысын есептеу терезесі

3. Тағы бiр мысал қарастырайық. N натуралды сан берiлген. Ол сан енгізу
жолында көрсетіледі.
1-ден N-ге дейiнгi натуралды сандардың қосындысын есептеу алгоритмi
unit IntSummm арқылы iске асырылған және TfmExample.bbRunClick (Sender:
TObject); процедурасы оқиғаны өңдейдi. Бұл модульде fmExample даяр формасы
қолданылады. Программаның нәтижесi 5-суретте келтiрiлген.
unit IntSummm;
... ... ... ... ... ... ..
procedure bbRunClick(Sender: TObject);
... ... ... ... ...
procedure TfmExample.bbRunClick(Sender: TObject);
var I,N,Sum : Integer; процедураның жергiлiктi айнымалылары
begin
If edInput.Text=' ' then Exit; егер енгiзу жолында еш бiр мән
болмаса, онда программаның жұмысын тоқтату
N:=StrToInt(edInput.Text); енгiзу жолында терiлген N-дi
бүтiнге түрлендiру
edInput.Text:=' '; енгiзу жолын тазалау
edInput.SetFocus; оған енгiзу фокусын беру
Sum:=0; sum-ның бастапқы мәнi
for I:=1 to N do қайталауды ұйымдастыру,
цикл параметрі 1-ден N-ге дейін
өзгереді
Sum:=Sum+I; Sum-ға ағымдағы элементтi қосу
mmOutput.Lines.Add('Сумма всех целых чисел в диапазоне 1... '
+ IntToStr(N)+ ' равна '+ IntToStr(Sum));
end;
end.

Сурет 5. Натуралды сандар қосындысын есептейтiн алгоритм

Логикалық шамалар.
Логикалық шамалар екiлiк сандар жүйесi сияқты екi ғана мәндi
қабылдайды. Мұндағы белгiлi бiр шарттың орындалатыны, яғни нәтижесiнiң
“ақиқаттығы” немесе оның орындалмайтыны, яғни тұжырымның “жалған” екендiгi
тексерiледi. Бұл екi мән ағылшын тiлiнде айтылуына сәйкес “true” (ақиқат)
және “false” (жалған) болып жазылады.
Логикалық шамалардың бiрнеше түрiн ажыратады (Кесте 4):
Кесте 4
Логикалық шамалардың түрлерi

Түрi өлшемi, байт
Boolean 1 байт
ByteBool 1 байт
WordBool 2 байт (Word сияқты)
LongBool 4 байт (Longint сияқты)

Стандартты Pascal тiлiнде тек қана Boolean түрi анықталған, ал Object
Pascal құрамына кіретін логикалық шамалардың басқа түрлерi Windows
ортасымен тiркесуiн қамтамасыз ету үшiн енгiзiлген.
Айнымалы шамаларды анықтау бөлiгiнде арнаулы var сөзiнен кейiн
логикалық шаманың атауы және логикалық шама екенiн анықтайтын Boolean,
ByteBool, WordBool, Bool, LongBool арнайы сөзi жазылады.
Мысалы: Var L : bool;
Логикалық шамаларға бірнеше логикалық амалдар қолданылады, олардың
арасындағы маңыздылары: not – логикалық терiстеу, and – конъюнкция
(логикалық көбейту), or – дизъюнкция (логикалық қосу). Амалдар орындалуының
ережелерi 5-кестеде көрсетiлген [5].

Кесте 5
Логикалық амалдардың ережелерi

Операндтар мәнi Амалдар нәтижесi
x1 x2 not x1 not x2 x1 and x1 or x2
x2
False false true true false false
False true true false false true
True false false true false true
True true false false true true

Логикалық шамалардың мәнi енгiзiлмейдi, бірақ оларды программа
денесiнде меншiктеуге және баспаға шығаруға болады. Boolean түрiндегі
логикалық шамалар берiлгендердiң реттелген түрiне жатады. False мәнi True-
ден кiшi және False-тiң нөмірі - 0, ал True-дiң нөмiрi (-1) деп саналады.
Оларға ord, pred, succ функцияларын қолдануға болады. Мысалы, ord (true)=1,
ord (false)=0, pred (true)=false, succ (false)=true, ord (true)0.
Boolean шамалар реттiк түрге жатқандықтан, оларды қайталау операторында
пайдалануға болады, мысалы:
Var k: boolean;
Begin
For k:=False to True do қайталау 2 рет орындалады
... ... ... ... ..
Ал ByteBool, WordBool, Bool, LongBool түріндегі анықталған логикалық
шамалардың Ord (True)= -1 деп саналады. Сондықтан логикалық шамаларды
абайлап қолдану керек. Мысалы, келесi түрдегi ұйымдастырылған қайталау
орындалмайды, себебi цикл параметрi bool түрiнде анықталған, ал осы
форматтағы True-дiң нөмiрi тең (-1):
Var k: bool;
n: integer;
Begin
For k:=False to True do қайталану орындалмайды
ShowMessage(‘---‘); End.

ІІ МӘЛІМЕТТЕРДІ БЕРІЛГЕНДЕР ҚОРЫ АРҚЫЛЫ БАСҚАРУ

2.1 Сұраныстар жасау әдістері

1. Сұраныс құру компоненті Tquery:
DataAccess панелінде орналасқан Tquery компоненті бірнеше кестелерден
қажетті жазуларды шығарып алуға көмектеседі. Ал нәтижесінде алынған
деректермен жұмыс Ttable компонентімен орындалады. Сұраныс құруда
Structured Query Language (SQL) тілінің маңызы зор. SQL операторлары
программалық кодтан оырндалады. Tquery компонентінің SQL қасиетінде
операторды жазып көрсетуге болады., оны орындау үшін ExecSQL әдісі
қолданылады [15].
SELECT операторы SQL тілінің негізгі операторы болып табылады. Ол
бірнеше кестеден берілген шартты қанағаттандыратын жазуларды алып шығарады.

Оператордың жазылуы келесідей: SELECT өрістер тізімі FROM кесте атауы;
Мысалы: SELECT Name, Salary FROM Client.db .
Паскаль тіліндегідей Select, From сөздері SQL тілінің резервтегі
кілттік қызметші сөздері ретінде қабылданған. SQL операторларын бас
әріптермен жазу керек. EnterSQL (SQL тілінің операторларын енгізу)
бөлігінде жоғарыдағы жолды жазып, Execute Query (сұранысды орындау)
батырмасын бассақ екі өрістен тұратын уақытша деректер жиыны деп аталатын
деректер кестесін аламыз [16].
Егер сұранысға барлық өрістерді енгізу керек болса, * символын көрсетеді.
Мысалы:

Select * From Client.db

Шарт бойынша мәліметтердіжинақтау үшін Where қызметші сөзінен кейін
Паскаль тілінде шартты өрнекті көрсету керек. Өрнекте мына салыстыру
таңбалары: , =, =, =, логикалық операциялар: Or, AND, NOT
қолданылады. Жалпы жазылуы:
SELECT өрістер тізімі FROM кесте атауы WHERE шарт;
Мысалы: SELECT * FROM Client.db WHERE Cash=120000 and Cash=1000000
Структуралы сұраныстар тілі SQL
Мысалмен қарастырамыз: Client.db кестесінде сұраныс құру керек болсын.
1. DataAccess панелінен Form1 қалыбына Tquery компонентін орналастырамыз.
Ол Ttable компонентінің онына қолданылады.
2. Қалыпқа TDBGrid, TdataSource компоненттерін орналастырамыз. Қасиеттері:
1) TdataSource:Dataset - Query1 мәнін береміз.
2) Query1 компоненті үшін DataBaseName - Firma1 болсын.
3. Объектілер инспекторы терезесінде SQL қасиетіндегі “...” батырмасын
басамыз. Бұл жолда SQL тіліндегі команданы жазамыз. Мысалы:
А) SELECT ClientsName.Salary FROM Client.db – фамилия мен жалақысы
туралы деректер алынсын деп OK батырмасын басамыз.
4. Query1 компонентінің Active қасиетін True дейміз.

Сұранысты қосымшада құру

Мысалмен қарастырамыз:
Жаңа қосымша құрамыз.
Қалыпта TDBGrid, Tquery, TdataSource компоненттерін орналастырамыз.
Олардың қасиеттерін көрсетеміз. Client.db кестесін қолданайық.
Барлық сатып ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Delphi туралы мәлімет
Визуалды тілдерде графиканы программалау. Нұсқаулық
Алгоритмнің күрделілігі - осы алгоритмді есептеу процесінде қолданылған элементарлы қадамдар саны
Paradox берілгендер қоры
Delphi объектілі бағдарлы бағдарламалау тілінің мүмкіндіктері
Delphi-де қазақша - ағылшынша сөздік жасау
Объектілі бағытталған бағдарламалау ортасындағы Samples компоненттер тақтасы бетінің ақпараттық анықтамалық жүйесін жасау
Delphi бағдарламалау жүйесі
Delphi программалау ортасының негізі
Қайқы нүкте
Пәндер