Delphi программалау ортасының негізі



Кiрiспе

Жоғарғы деңгейлi программалау тiлдерi жарыққа шыға бастағаннан берi көптеген программалау тiлдерi пайда болды. Қазiргi кезде олар процедуралық, логикалық және объектiлi . бағдарлы болып үш түрге бөлiнедi. Мысалы, дәстүрлi (“классикалық”) процедуралық программалау тiлдерi . Фортран, Бейсик, Паскаль, логикалық тiлдер.ЛИСП, Пролог. Есептеуiш техниканың қарқынды дамуы және программалық жабдықтауды тиiмдi дайындауға қажеттiлiк нәтижесiнде соңғы кездерде Windows ортасында жарыққа шыққан және объектiлi . бағдарлы программалау (ОБП) негiзiнде құрылған программалау тiлдерi . Borland C++ for Windows , Object Pascal және визуальды Microsoft Visual Basic, Borland Delphi.
Процедуралық программалау тiлдерiнде программаның жұмысы операторларды ретiмен орындау бойынша, ал, логикалық программалау тiлдерiнде ол қатаң логикалық ережелерге сәйкес өзгертулер енгiзу ретiнде қарастырылған болатын. Объектiге бағдарлы оқиғалық программалау тiлiнде программаның жұмысы негiзiнен оқиғалар тiзбегiнен және түрлi объектiлердiң осы оқиғаларға жауабынан тұрады. Олардың визуальды түрлерi . Visual Basic тiлi QBasic программалау тiлi негiзiнде, Delphi (Дельфи) Объектiлi Паскаль (Object Pascal) тiлi негiзiнде Windows операциялық жүйесiн басшылыққа алып құрылған (visual . көзбен көру, экрандық). Олар, әсiресе, Delphi программалау тiлi . кез келген қосымшаны дайындауға болатын жылдамдығы тез, қуатты тiл.
Delphi.дiң бiрiншi нұсқасы 1994 жылы жарыққа шығып, кейiнгi жылдары оның бiрте.бiрте кеңейтiлген 2, 3, 4, 5, 6. нұсқалары жарық көрдi. Мысалы, 5.нұсқа 1999 жылы, 6.нұсқа 2001 жылдың мамыр айында жарыққа шықты. 5,6.нұсқалардың бiр.бiрiнен айырмашылығы жоқ деуге болады, екеуi де Windows32 операциялық жүйесiнiң негiзiнде дайындалған. Тек, Delphi 6, оған қоса, 1991 жылы жарық көрген, салыстырмалы арзан, Linex операциялық жүйесiнiң негiзiнде де жұмыс iстей алады (Linex жүйесi UNIX операциялық жүйесiне шамалас, мүмкiндiгi Windows32 жүйесiнiң мүмкiндiгiнен кем емес). Delphi 6.да интернет үшiн қосымшаларды дайындау мүмкiндiгi кеңейтiлген және берiлгендер қорымен жұмыс iстеуде ұсынылып отырған кiтапта қарастырылмаған кейбiр өзгешiлiктер енгiзiлген.
Дәстүрлi Паскаль оқып үйренуге жеңiл және MS DOS жүйесiнде программа дайындауға ең жақсы құрылымдық программалау тiлi екенi белгiлi. Delphi.де Паскаль тiлiнде орындау мүмкiн және мүмкiн емес күрделi процестердi программалауға болады. Delphi.дiң негiзгi ерекшелiгi . онда қосымша құруда компоненттiк және объектiлiк тәсiлдер пайдаланылады (Windows ортасында пайдаланатындықтан, Delphi.де программаны көб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нде соңғы кездерде Windows ортасында жарыққа шыққан және объектiлi
– бағдарлы программалау (ОБП) негiзiнде құрылған программалау тiлдерi –
Borland C++ for Windows , Object Pascal және визуальды Microsoft Visual
Basic, Borland Delphi.
Процедуралық программалау тiлдерiнде программаның жұмысы операторларды
ретiмен орындау бойынша, ал, логикалық программалау тiлдерiнде ол қатаң
логикалық ережелерге сәйкес өзгертулер енгiзу ретiнде қарастырылған
болатын. Объектiге бағдарлы оқиғалық программалау тiлiнде программаның
жұмысы негiзiнен оқиғалар тiзбегiнен және түрлi объектiлердiң осы
оқиғаларға жауабынан тұрады. Олардың визуальды түрлерi - Visual Basic тiлi
QBasic программалау тiлi негiзiнде, Delphi (Дельфи) Объектiлi Паскаль
(Object Pascal) тiлi негiзiнде Windows операциялық жүйесiн басшылыққа алып
құрылған (visual – көзбен көру, экрандық). Олар, әсiресе, Delphi
программалау тiлi – кез келген қосымшаны дайындауға болатын жылдамдығы тез,
қуатты тiл.
Delphi-дiң бiрiншi нұсқасы 1994 жылы жарыққа шығып, кейiнгi жылдары оның
бiрте-бiрте кеңейтiлген 2, 3, 4, 5, 6- нұсқалары жарық көрдi. Мысалы, 5-
нұсқа 1999 жылы, 6-нұсқа 2001 жылдың мамыр айында жарыққа шықты. 5,6-
нұсқалардың бiр-бiрiнен айырмашылығы жоқ деуге болады, екеуi де Windows32
операциялық жүйесiнiң негiзiнде дайындалған. Тек, Delphi 6, оған қоса, 1991
жылы жарық көрген, салыстырмалы арзан, Linex операциялық жүйесiнiң
негiзiнде де жұмыс iстей алады (Linex жүйесi UNIX операциялық жүйесiне
шамалас, мүмкiндiгi Windows32 жүйесiнiң мүмкiндiгiнен кем емес). Delphi 6-
да интернет үшiн қосымшаларды дайындау мүмкiндiгi кеңейтiлген және
берiлгендер қорымен жұмыс iстеуде ұсынылып отырған кiтапта қарастырылмаған
кейбiр өзгешiлiктер енгiзiлген.
Дәстүрлi Паскаль оқып үйренуге жеңiл және MS DOS жүйесiнде программа
дайындауға ең жақсы құрылымдық программалау тiлi екенi белгiлi. Delphi-де
Паскаль тiлiнде орындау мүмкiн және мүмкiн емес күрделi процестердi
программалауға болады. Delphi-дiң негiзгi ерекшелiгi – онда қосымша құруда
компоненттiк және объектiлiк тәсiлдер пайдаланылады (Windows ортасында
пайдаланатындықтан, Delphi-де программаны көбiнесе қосымша деп атайды). Бұл
программалау технологиясында нағыз революция жасады деуге болады.
Компоненттiк тәсiлдiң мәнiсi жеңiл: әр қосымша кiтапханасы программалау
ортасында дайындалып, арнайы iс-әрекеттердi орындайтын компоненттер
элементтерiнен жинақталады. Олар жеткiлiксiз болса, объектiнi өңдеуге
арналған үстеме программа құрылады. Delphi-де қолданылатын негiзгi
кiтапхананы визуальды компоненттер кiтапханасы (VCL, Visual Component
Library) деп атайды. Компоненттер панелiнде топ – тобымен жинақталған,
жүздеген кластарға тиiстi, стандартты компоненттер бар. Пайдаланушы жаңа
компонент дайындап, оны осы панельге қосуына да болады.
Delphi Windows жүйесiнде программалаудың ыңғайлы құралы. Онда көптеген
операторларды пайдаланып программа дайындау, программа мәзiрiн құру,
анимация, мультимедиа процестерiн ұйымдастыру, OLE технологиясын
пайдаланып, басқа офистiк қосымшаларды шақыру, олармен жұмыс iстеу және
т.б. iс-әрекеттердi орындау да мүмкiн. Көптеген операторлардың жазылуы
Турбо Паскальдағы сияқты.
Delphi құрамында дайындалған компилятор әдеттегi P – кодқа емес, бiрден
машиналық кодқа компиляциялайды. Осы себептi, қазiргi кезде ол дүние
жүзiндегi компиляторлардың ең жылдамы. Оның компиляциялау жылдамдығы
Паскальда компиляциялаудан 10 еседен артық, бiр минутта шамамен 120 мың
жолдан асады.
Delphi екi түрде дайындалған: бiрiншiсi – күрделi қосымшаны бiрлесiп
дайындаушылар үшiн (Delphi Client – Server), екiншiсi – қалған
программалаушылар үшiн (Delphi for Windows). Соңғысы ыңғайланып,
қысқартылып алынған түрi. Ол тек маман программалаушылар емес, барлық
Delphi- мен жұмыс iстеушiлерге арналған. Әдетте пайдаланылатыны – екiншi
түр.
Delphi-дi Паскаль программалау тiлiмен жұмыс iстеген адамдардың меңгеруi
көп қиындық келтiрмейдi. Бiрақ, мұнда программалауды үйрену үшiн объект,
оқиға, қасиет түсiнiктерiмен еркiн танысып, онда компоненттердi пайдалану
және түрлi командалардың жазылу түрлерiн бiлу қажет.
Delphi-де пайдаланылатын оқиғалар және түрлi кластарға, компоненттерге
меншiктелетiн қасиеттер мәндерi көп. Нақты есептердi шешу программаларын
құруды үйрену арқылы ғана Delphi-де программалауды үйренуге болады. Ол үшiн
кiтапқа енгiзiлген программаларды iс – жүзiнде орындап және оларға түрлi
өзгерiстер енгiзiп, жаттығу да мүмкiн. Жетiстiк тек тәжiрибеге байланысты.
Delphi-дiң мүмкiндiктерiн бiр кiтапқа сыйғызу мүмкiн емес. Мұнда
студенттер мен өз бетiнше оқып үйренушiлер үшiн қажеттi негiзгi материалдар
қарастырылған, Delphi-дi терең оқып-үйренiп, күрделi қосымшаларды
дайындауға машықтанушылар үшiн кiтап соңына әдебиеттер тiзiмi енгiзiлген.

Кiтапқа бес тарау енгiзiлген.
Бiрiншi тарауда Delphi 5-6 ортасы, оқиға, объект, объект қасиеттерi,
класс, компоненттер, модуль, проект және т.б. элементтер таныстырылып,
қарапайым программа құру тәсiлдерi көрсетiлген.
Екiншi тарауға Delphi-де қолданылатын берiлгендер, айнымалылар,
берiлгендер типтерi, түрлi құрылымдар таныстырылып, оларды пайдалану
программалары құрылған. Тарауға OLE автоматтындыруы, консольдық
программалау, программаны дұрыстау түс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леу дағдыға
айналғандықтан, тарауда пән бойынша Delphi-де құрылған тестiлеу
программасының бiр нұсқасы да бар.
Бесiншi тарауда реляциялық берiлгендер қорымен жұмыс түрлерi
қарастырылып, кестелер, сұраныстар құру және есеп дайындау тәсiлдерi
көрсетiлген.
Тараулар соңында бақылау сұрақтары, тақырыптарға енгiзiлген мысалдар
соңында өзiндiк жұмыстарға арналған тапсырмалар да бар.

I ТАРАУ. DELPHI ПРОГРАММАЛАУ ОРТАСЫ

1.1. Delphi-дi iске қосу. Delphi ортасы

Windows терезесi арқылы Delphi-дi iске қосу командасы:

Iске қосу - Программалар - Borland Delphi 6 ( Delphi 6

Экранда Delphi ортасының үш терезесi көрiнедi (1.1-сурет).

1.1-сурет. Delphi ортасы

1 - Delphi 5-тiң негiзгi терезесi;
2 - Форма (Form1);
3 - Объект инспекторы терезесi (Object Inspector).

Жалпы, ортада программа құруға арналған төртiншi, модуль терезесi де
iске қосылады (Unit1.pas). Форма терезесiнiң астында орналасатындықтан, ол
алғашқыда көрiнбейдi.

Delphi-дiң негiзгi терезесiнiң құрамына негiзгi мәзiр, аспаптар панелi
және компоненттер палитрасы енгiзiлген (1.2-сурет). Негiзгi мәзiр
пункттерiне (iшкi мәзiрлерге) Del-

1.2-сурет. Delphi-дiң негiзгi терезесi

phi-де жұмыс iстеу командалары, аспаптар панелiне iшкi мәзiрлерге
енгiзiлген негiзгi командаларды орындайтын түймелер орналастырылған.

Стандартты түймелер:

- New (Жаңа);

- Open (Ашу);

- Save (Сақтау);

- Open Project (Проектiнi ашу);

- View Form (Форманы көрсету);

- Run (Iске қосу);

- Pause (зiлiс);

- Add file to Project (Проектiге файл қосу), т.б.

1.2. Проект. Форма. Қасиеттер. Қасиеттер терезесi

Delphi-де дайындалатын программа проект (жоба) деп аталады. Форма -
программаны дайындау алдында ашылатын, программаның сұхбаттық терезесi.
Delphi алғашқы рет iске қосылған кезде форма Form1 атауымен (тақырыбымен)
көрiнедi (1.1-сурет). Оның жиектерiне тышқан көрсеткiшiн орналастырып, ол
екi жақты нұсқама түрiне айналған кезде жылжыту және қалдыру тәсiлi бойынша
форманы кеңейту не қысу қиын емес.
Құрылатын программада пайдалану үшiн формада түрлi компоненттер (форма
компоненттерi) орнатылады. Негiзгi компоненттердiң кейбiрi Access
берiлгендер қоры жүйесiнде пайдаланылатын элементтер панелiне енгiзiлген
түймелер сияқты. Олар Delphi терезесiнiң компоненттер палитрасына
орналастырылған.
Кей жағдайларда экранда форма көрiнбеуi мүмкiн. Оны экранға шығару үшiн
View-Forms командасын беру жетк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 т.б. Delphi iске қосылған кезде форма
қасиеттерiне алғашқы сәйкес мәндер меншiктелiп қойылады.
Форманы не онда орнатылған компоненттi программа құру үшiн дайындау
оның кейбiр қасиеттерiнiң мәндерiн өзгертуден басталады. Қасиеттер тiзiмi
Объект инспекторы (Object Inspector) терезесiне енгiзiлген. Тiзiмдi
инспектор терезесiне шығару үшiн сәйкес объектiнi (форманы не формада
орнатылған форма компонентiн) бiр шерту арқылы таңдау керек. Инспектор
терезесiнiң жоғарғы қатарына таңдалған объект атауы да жазылып қойылады.
Мысалы, Delphi iске қосылған кезде форманың ашылған қасиеттер терезесi 1.1-
суретте көрсетiлген. Терезенiң екi қосымша бетi бар: Properties (Қасиеттер)
және Events (Оқиғалар). Терезе ашылғанда екi бағанға енгiзiлген жазулардан
тұратын оның Properties бөлiмi ашылулы тұрады (1.1-сурет). Бiрiншi бағанда
көрiнетiндер – қасиет атаулары, екiншi бағанға сәйкес жазылғандар – олардың
мәндерi.
Форма қасиеттерi:
Name (Атау) – формаға берiлген атау. Ол Delphi объектiлерiнiң
(компоненттердiң) негiзгi қасиеттерiнiң бiрi. Delphi-дiң жұмыс iстеуi
кезiнде ол объектiнi осы атау бойынша ажыратып таниды. Delphi-дiң формаға
автоматты түрде алғашқы рет меншiктеген атауын (Form1) өзгертiп, басқа атау
беруге болады. Форманың iс-әрекетi атауынан белгiлi болуы үшiн атауды
мазмұнға жақын етiп енгiзген жөн. Мысалы, форма квадрат теңдеудi шешуге
пайдаланылатын болса, Form1 орнына KvTend атауын енгiзу. Ол үшiн қасиеттер
терезесiнен Name атауын таңдап, жаңа атауды клавиатура арқылы терiп алса
болғаны. Терiлген атау Name жолының оң қатарына жазылып қойылады.
Font (Шрифт) – формаға енгiзiлетiн мәтiн шрифтiн орнату қасиетi. Оны
таңдап, оң жағында көрiнген көп нүкте (...) түймесiн шерткен кезде сұхбаттық
шрифт таңдау терезесi көрiнедi (1.3-сурет). Терезеден, әдеттегiдей, қажеттi
шрифт типiн, өлшемiн таңдап (мысалы, Times Kaz, 10), ОК түймесiн шерту
керек.

1.3-сурет. Шрифт таңдау терезесi
Caption (Тақырып, бетiне жазу) – форма терезесiнiң тақырыбына
енгiзiлетiн мәтiн. Алғашқы кезде қасиеттер терезесiнiң Caption қасиетiне
тақырып үшiн Form1 сөзi енгiзiлiп қойылған. Оны “Redactor” не басқа
тақырыпқа алмастыру Name қасиетiне мән меншiктеу тәсiлi сияқты (қасиет мәнi
енгiзiлген соң КҚ (каретканы қайтару, енгiзу) клавишiн басып қойған жөн).
Color (Түс) – форманың түсiн орнату қасиетi. Ол таңдалған кезде оң
жағында тiлсызық түймесi көрiнедi. Тiлсызық түймесi – қасиет мәнiнiң
бiрнеше екенiнiң белгiсi. Тiлсызық белгiсiн шерткен кезде мәндер (түстер)
терезесi ашылады. Тiзiмде көрiнген қалаған түстi шерткен соң форма сәйкес
түске боялып қойылады.
Width (Ен), Height (Биiктiк) – пиксель өлшем бiрлiгiмен берiлген
форманың енi мен биiктiгiн орнату қасиеттерi (бұл мәндер форманы қолдан
кеңейту не сығу кезiнде де автоматты түрде орнатылып қойылады).

Объект қасиетiн программа (программалық код) iшiнде орнату да мүмкiн.
Мысалы, форма тақырыбы шрифтiнiң өлшемiн 14 ету үшiн программаға
Form1.FontSize := 14 меншiктеу операторын енгiзуге болады.

Жалпы, бiр қасиет мәнiмен танысу үшiн оны қасиеттер терезесiнде таңдап,
Ғ1 клавишiн басу арқылы сәйкес анықтаманы шақыру керек. Delphi-де
анықтамалар ағылшын тiлiнде жазылған. Ол түсiнiксiз болса, экранда орысша
аудармасын көрсететiн “Сократ 97” сияқты арнайы дайындалған программаны
пайдаланған жөн (мұндай программа компьютерге орнатылса, оны пайдалану қиын
емес).

Экранда қасиеттер терезесi көрiнбесе, оны шығару үшiн View-Object
Inspector командасын беру жеткiлiктi. Ол Ғ11 клавишi басылған кезде де
көрiнедi.

Ескерту. Жаңа проект iске қосылған кезде алдымен Delphi Direct
терезесi iске қосылуы мүмкiн. Терезеден Delphi News бумасын таңдау
жеткiлiктi.
1.3. Оқиғалар. Программалық код терезесi

Windows-тағы сияқты Delphi-де программалар оқиғалар арқылы басқарылады.
Мысалы, пайдаланушы программа құру үшiн алдымен формаға компонент орнатуы,
форманы не формада орналастырылған компоненттi тышқан арқылы шертуi
мүмкiн. Оның әр iс-әрекетi оқиға шақырады. Яғни, оқиға -программаның жұмыс
iстеуi кезiнде объект жағдайының өзгеруi.
Delphi-де әр оқиғаға атау берiлiп қойылған. Мысалы, компоненттер
палитрасының Button түймесi арқылы формада орнатылған Button1 компонентiн
шерту Click (Шерту) оқиғасын шақырады (1.5.4-тақырыпты қараңыз).
°р объектiге байланысты оқиғалар жеткiлiктi Мысалы, формаға байланысты
оқиғалар саны – 35 (1.4-сурет). Олар қасиеттер терезесiнiң Events қосымша
бетiне енгiзiлген. Терезеде оқиға атауларының алдына On префиксi
(қосымшасы) тiркестiрiлiп жазылған. Ол - атаудың оқиға екендiгiн бiлдiретiн
белгi.

1.4-сурет. Форма оқиғалары
Delphi ортасында жиi кездесетiн оқиғалар:
OnClick – тышқан түймесiн бiр рет басу;
OnDblClick – тышқан түймесiн екi рет басу;
OnKeyDown – клавиштi басу;
OnKeyUp – басылған клавиштi босату;
OnMouseDown – тышқан түймесiн басу;
OnMouseUp – тышқан түймесiн босату;
OnMouseMove – тышқан көрсеткiшiн жылжыту;
OnCreate – форманы екi рет шерту, т.б.
Delphi-де программа (проект) екi бөлiмнен тұрады: алғашқыда автоматты
түрде project1 атауы берiлетiн проект файлы (негiзгi модуль) және unit1.pas
атауы берiлетiн модуль. Олар жеке терезелерде орналастырылған. Модульге
оқиғаларға сәйкес iс-әрекеттердi орындайтын программа мәтiнi (процедуралар)
енгiзiледi (олар 1.4-тақырыпта кең түрде қарастырылған). Программа мәтiнiн
программалық код деп, терезенi программалық код терезесi не қысқаша
редактор терезесi деп те атайды. 1.1-тақырыпта ескертiлгенiндей, Delphi
iске қосылған кезде ол форма терезесiнiң астында көрiнбей тұрады. Оны
экранға шығару тәсiлдерi:
- форманы жабу (жабу түймесiн шерту);
- код терезесiнiң бiр шетi форма астында көрiнiп тұрса,
оны шерту. Терезе белсендiрулi түрде ашылады да, онда процедура дайындамасы
(үлгiсi) көрiнедi. Оның тақырыбы нүкте арқылы бөлiнген класс және процедура
атауларынан тұрады (1.5-сурет), т.б.
Жалпы, формадан код терезесiне өту және код терезесiнен формаға өту
үшiн F12 клавишiн басу жеткiлiктi. 1.5-суретте
көрiнiп тұрғаны – код терезесiне енгiзiлген процедура дайындамасы. Оқиғаға
байланысты құрылатын процедура оқиғаны өңдеуiш не оқиғаны өңдеу
процедурасы делiнедi. Процедура дайындамасының жазылу түрi:

Procedure атау (Sender : TObject);
сипаттау бөлiмi
begin
процедура денесi
end;
мұндағы Sender параметрi құрылатын процедураның қай класқа тиiстiлiгiн
анықтайды.
Терезенiң сол бөлiгiндегi - браузер терезесi. Онда код терезесiнде
барлық жарияланулардың құрылымын көрiп шығуға болады.

1.5-сурет. Редактор терезесi. Онда көрiнген процедура дайындамасы

1.4. Программа құрылымы. Негiзгi модуль. Модуль. Әдiс

Кез келген программа program сөзiнен басталатын проект файлы мен бiр не
бiрнеше модульдерден тұрады да, қолдан құрылатын программа модуль iшiне
енгiзiледi. Проект файлы dpr, модуль pas кеңейтiлуi бойынша сақталады.
Проект файлын негiзгi модуль деп атайды. Негiзгi модульдiң мазмұны
проектiнiң жалпы сипаттамасынан тұрады. Delphi iске қосылған кезде оны ол
автоматты түрде дайындап шығады. Негiзгi модульге ерекше жағдайлардан басқа
кездерде қосымша нұсқаулар енгiзудiң қажетi жоқ. Негiзгi модуль (проект):

program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
мұндағы,
Project1 – негiзгi модуль (проект) атауы. Проектiнi дайындап, жаңа атау
бойынша сақтаған кезде ол соңғы атауға алмастырылып қойылады;
Uses (қолдану) – Турбо Паскальдағы сияқты, қызметшi сөз. Оның соңына
программада пайдаланылатын стандартты (кiтапханалық) Forms модулi мен
Delphi-дiң модульге алғашқы рет меншiктеген атауы (Unit1) жазылған. Unit1-
ден соң оның қайсы модульдiк файлда құрылатыны (in ’Unit1.pas’) және онымен
байланысты форма атауы көрсетiледi ({Form1}).
{$R*.RES} – нұсқау. Ол компиляторға қосымшаның (Windows көмегiмен
дайындалған қолданбалы программаның) қор сипаттамаларын, мысалы,
шартбелгiлер (пиктограммалар) сақталған файлды және т.с.с. пайдалану
керектiгiн көрсетедi (файлдың кеңейтiлуi - .res);
Begin - end операторларының аралығына енгiзiлген соңғы бөлiм -
қосымшаның алғашқы жүктелуiн қамтамасыз ететiн әдiстер (Delphi-де арнайы iс-
әрекеттi орындайтын процедура, функция және командалар әдiстер делiнедi):

Application.Initialize – қосымша объектiсiн инициалдау (программаны
алғашқы рет дайындау) әдiсi;

Application.CreateForm – проект құрамына енетiн форманы дайындап,
экранда көрсету әдiсi (create - құру);
Application.Run – программаны iске қосуды қамтамасыз ету әдiсi.
Delphi-де әдiстiң командалық түрде жазылуы:

Объект.Әдiс

Мысалы, Application.Initialize – Application объектiсiнiң Initialize әдiсiн
орындау.
Кейбiр жағдайда бөлiмге проект сақталатын бума атын меншiктеу командасын
қосып қою да мүмкiн, т.б.
Жалпы, Delphi-де программаның орындалуы автоматты түрде негiзгi модульдi
орындаудан басталады.
Модуль – түрлi iс-әрекеттердi орындауға арналған программа бөлiмi.
Модуль тақырыбы Unit (модуль) қызметшi сөзiнен басталып, соңына
әдеттегiдей нүктелi үтiр (;) таңбасымен аяқталатын модуль атауы жазылады.
Delphi-дiң модульге алғашқы рет меншiктейтiн атауы: Unit1. Жаңа проект
ашылған кезде модуль дайындамасы да автоматты түрде құрылады:

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
end.

Интерфейс (interface) бөлiмi interface кiлттiк сөзiмен басталады да,
оған келесi бөлiмдер енгiзiледi: uses – Турбо Паскальда пайдаланатын бөлiм
сияқты, оған стандартты модуль атаулары жазылады, бөлiмге пайдаланушы
дайындаған модуль атауын кiрiстiрiп қою да мүмкiн. Одан әрi, Delphi
дайындаған форма типi сипатталады (онда өрiстер, қасиеттер, компоненттер
сипатталып, олардан соң модульде жазылатын процедуралар мен функциялар
(программа элементтерi) жарияланады, т.б.).
Private (жеке, дербес) бөлiмiне тек ағымдық модульге тиiстi элементтер
енгiзiлуi мүмкiн (элемент – өрiстер, әдiстер, қасиеттер мен оқиғалар);
Public (көпшiлiк) бөлiмiнiң iшiнде ағымдық модульге қол жеткiзуге болатын
кез келген программа не модульдiң көрiнетiн элементтерi, облыстары
енгiзiледi. Олар класқа енетiн элементтердiң пайдалану облыстарын ғана
анықтайтын болғандықтан, әдетте (көп жағдайда) олар бос көрiнедi.
Implementation (iске асыру,орындау) бөлiмiндегi {$R*.DFM} – .dfm
кеңейтiлуi бойынша жазылған файлды пайдалану нұсқауы. Ол модульдi оған
сәйкес форманың сипаттамасымен байланыстырады (файлға форма қасиеттерiнiң
мәндерi жазылып қойылған. Ол формада орнатылған компоненттер қасиеттерiнiң
де сипаттаммаларын бойында сақтайды. Қасиеттер сәйкес Object Inspector
терезесiнде көрiнедi). Одан соңғы қатарларға программалаушы Delphi тiлiнде
қажеттi процедураларды қолдан кiрiстiру керек. Олардың iшiндегi оқиғаны
өңдеуiш процедуралардың тақырыптары модульдiң интерфейс бөлiмiнде автоматты
түрде жазылып қойылады, мысалы, 3.7.4, 3.11-тақырыптарда өңделетiн арнайы
информация үшiн толық модульдер құрылған.
Кейде модульдiң соңына инициалдау (initialization) бөлiмi енгiзiледi.
Бөлiм модуль айнымалыларын инициалдап (бастапқы мәндер берiп), программаны
дайындау үшiн қажет. Егер ол толтырылса, бұл бөлiм басқаруды программа
денесiне беруден бұрын орындалады. Бөлiм нұсқауларын begin және end
кiлттiк сөздерiнiң арасына енгiзу керек. Жоғарыда көрсетiлген сияқты,
бөлiм толтырылмаса, begin сөзi жазылмай, оған тек end. сөзi енгiзiледi. Ол
- модульдiң соңын бiлдiретiн кiлттiк сөз.

1.5. Берiлгендердi енгiзу және шығару

1.5.1. Берiлгендердi енгiзу. InputBox функциясы.
Типтi түрлендiру функциялары

Delphi-де айнымалы мәнiн жадқа енгiзу үшiн Турбо Паскальда
пайдаланылатын Read (оқу) операторы жоқ. Программада ол үшiн басқа
тәсiлдердiң қолданылуы мүмкiн:
1) меншiктеу командасы;
2) енгiзу терезесiн пайдалану;
3) форманың Edit компонентi өрiсiн пайдалану.
Меншiктеу командасының программада жазылуы әдеттегiдей, мысалы, x :=
4.7; .
Енгiзу терезесi Delphi-дiң стандартты InputBox функциясының терезесi.
Программада InputBox (енгiзу қорабы) функциясын пайдалану командасының
жазылу үлгiсi:

айнымалы:=InputBox(’тақырып’,’ түсiнiктеме’,’мән’)
мұндағы,
айнымалы – мәнi енгiзу терезесiне енгiзiлетiн жолдық типтi айнымалы
атауы (InputBox функциясының мәнi әр кезде жолдық (String) типтi. Мән
меншiктелетiн айнымалы (х) программада x : string; түр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. Мысалы, x := 4.7 меншiктеу
командасын InputBox функциясын пайдаланып, мынадай түрде беруге болады:

x := InputBox(‘Аргумент мәнi’ , ’х=’ , ’’)
Команданың орындалу барысында көрiнетiн терезе 1.6-суретте
көрсетiлген. Терезенiң енгiзу өрiсiне 4,7 мәнiн енгiзiп, ОК түймесiн шерту
керек (не КҚ клавишiн басуға да болады).
Ескерту. Windows-тың күйге келтiрiлiп қойылуына байланысты нақты сан
әдеттегiдей үтiр (,) арқылы бөлiнiп енгiзiлуi мүмкiн. Ол меншiктелетiн
айнымалы (х) жолдық типтi болғандықтан, қажет болса, оны сандық типтi етiп
түрлендiру керек.

1.6-сурет. Енгiзу терезесi

Стандартты типтi түрлендiру функциялары:

1.1 - кесте

Функция Орындайтын iс – әрекетi

StrToFloat(x) Кескiнi жолдық типтi болатын
х нақты санын қалпына келтiру
FloatToStr(x) х нақты санын жолдық типтi
FloatToStrF(x,f,ету
s,o) х нақты санын форматты жолдық
типке түрлендiру. Мұндағы
f – формат (кескiндеу
форматы). Ол көбiнесе
ffGeneral не ffFixed түрiнде
жазылады;
s – барлық цифрлар саны
(дәлдiк);
о – ондық нүктеден соң
StrToInt(x) жазылатын цифрлар саны (ондық
дәлдiк), мысалы,
IntToStr(x) FloattostrF(x,ffFixed,7,3);
Кескiнi жолдық типтi х бүтiн
санын қалпына келтiру;
х бүтiн санын жолдық типтi
ету
(IntToStr – Integer to
String, т.с.с).

Ескерту. 1. FloatToStrF функциясының форматын (f) ffExponent түрiнде
жазуға да болады. Ол санды экспонеттiк етiп дөңгелектейдi.
2. Delphi-де Турбо Паскальда қолданылатын Str(x,s) және оған керi
Val(s,x,code) типтi түрлендiру процедураларын да пайдалану мүмкiн.
Мысалы, x=25 болса, Str(x,s) процедурасының орындалу нәтижесi: s=’25’ ;
s=’54’ болса, Val(s, x, code) процедурасының орындалу нәтижесi: x=54,
code=0.

1.5.2. Берiлгендердi шығару. ShowMessage процедурасы

Delphi-де берiлгендердi ShowMessage (мәлiметтi көрсету) процедурасының
терезесiне шығаруға болады. Процедураның (оператордың) жазылу түрi:

ShowMessage(s);

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

ShowMessage(FloatToStr(s));
не ShowMessage(FloatToStrF(s, ffgeneral, 7, 3));
Жүйе соңғы операторды оқып шығып, жетi цифрдан тұратын нақты санды
символдық типте шығару терезесiнде көрсетедi.

1.5.3. Қарапайым программа құру

Процедуралар оқиғалық және жалпы (оқиғаға байланыссыз) болып екi түрге
бөлiнедi. Программа олардың жиынтығынан тұруы мүмкiн. Қарапайым жағдайда ол
бiр процедурадан ғана тұрады.
Мысал. x=4,8 үшiн y=2х+53 функциясының мәнiн есептеу керек. х мәнi
InputBox терезесi арқылы енгiзiлсiн, у мәнi ShowMessage терезесiнде
көрсетiлсiн.
1. File-New Application командасын берiп, жаңа проект ашу. Form1 терезесi
көрiнедi.
2. Форманы екi рет шерту. Unit1.pas атаулы модуль құрылады да, код
терезесiнде OnCreate оқиғасын өңдеуiш процедурасының дайындамасы
көрiнедi (1.7-сурет). Код терезесi

Дайындаманы қасиеттер терезесiн пайдаланып орнату:

Дайындаманы орнатудың екiншi тәсiлi де бар:
- Form1-дiң қасиеттер терезесiнен Events (оқиғалар) қосымша бетiн ашып,
OnCreate оқиғасын таңдау;
- оның оң жағына FormCreate атауын енгiзiп, КҚ клавишiн басу.
Код терезесiнiң бiрiншi жолында көрiнгенi процедура тақырыбы. Мұндағы:
рrocedure - процедураның басталуын бiлдiретiн кiлттiк сөз;
TForm1.FormCreate - форманы екi рет шерту оқиғасына жауап ретiнде
құрылатын процедураның құрама атауы. Ол нүкте арқылы ажыратылған екi
бөлiмнен құралған: бiрiншiсi – класс атауы (TForm1) (Delphi-де әр қайсысы
ұқсас толық бiр iс-әрекеттi орындай алатын программалар тобы класс деп,
олардың бiреуi класс данасы делiнедi. Класс ұғымы жөнiнде кеңiрек
баяндалған 1.12-тақырыпты қараңыз); екiншiсi – процедураның өз аты. Ол
объект және оқиға атауларының қосындысынан тұрады (оқиға атауының алдында
On қосымшасы жазылмайды).
Компоненттер палитрасына енгiзiлген әр компонент жеке класқа тиiстi. Ол
формаға кiрiстiрiлгенде сандық индекс қосылып, класс атауын алады. Барлық
класс атауларын Т әрпiнен бастап жазу келiсiлген. Мысалы, TForm1 - TForm
стандартты класының үлгiсi бойынша құрылған класс атауы, мұндағы 1 – оның
индексi.
1.7-суретте көрiнген дайындаманың жоғарғы жағы ашылса, форма екi рет
шертiлгенде құрылған Unit1.pas модулiнiң тип сипаттамасы мынадай түрде
жазылғаны көрiнедi (мұнда ескеретiн жайт: құрылатын оқиғаны өңдеуiш
процедурасының тақырыбы автоматты түрде модульдiң тип сипаттамасына жазылып
қойылады. (Формада орнатылған компоненттер де осында сипатталып қойылады,
мысалы, төменге енгiзiлген ескертудi қараңыз)):

type
TForm1=class (TForm)
Procedure FormCreate (Sender:TObject);

Private

{private declaration}
public
{public declaration}
end;
var Form1 : TForm1;
Типке енгiзiлген TForm1=class(TForm) жолы стандартты TForm класының
үлгiсi бойынша құрылған (TForm класы тудырған) TForm1 iшкi класын
анықтайды; FormCreate – процедура атауы; Sender (жiберушi) – оқиға көзi
болатын объектiнi (TObject) бойында сақтайтын шақыру параметрi (айнымалы).
Олар жазылған қатар процедура тақырыбы делiнедi.
Sender параметрiн программа мәтiнi iшiнде шақыру да мүмкiн. Мысалы,
өңдеуiштi шақыру Button1 түймесiн шертудiң жауабы болатынын тексеру
үшiн оған,

If Sender = Button1 Then ...
шартты операторын енгiзсе болғаны.
Ескерту. Егер формада Button1, Edit1, Label1 компоненттерi орнатылып,
Button1 түймесi екi рет шертiлген болса, онда модуль терезесiнде типтi
сипаттау автоматты түрде мынадай етiп жазылған болар едi:

type
TForm1=class (TForm)
Button1 : TButton;
Label1 : TLabel;
Edit1 : TEdit;
Procedure Button1Click(Sender : TObject);
end;

мұндағы Button1 : TButton сипаттамасы Button1 компонентiнiң стандартты
Button класына тиiстi (класс данасы) екенiн көрсету, т.с.с.
Жоғарғы сипаттамалардың автоматты түрде пайда болуынан шығатын
қорытынды: Delphi-де форма мен код арасында тығыз байланыс орнатылған.
Формада орнатылған компонент автоматты түрде модульдi өзгертедi және
керiсiнше; түйме формадан өшiрiлгенде оның сипаттамасы алынып тасталады.
Тапсырма. Ескерту iшiнде көрсетiлген iс-әрекеттердi орындап, жоғарыда
жазылған типтi модульде (Unit.pas) сипатталған типпен салыстырып шығыңыз.
3. 1.7-суретте көрсетiлген процедура дайындамасына процедура денесiн жазу:

Procedure TForm1.FormCreate (Sender : TObject);
var x, y : real; x1 : string;
begin
x1 := InputBox(’’, ’x=’, ’’);
x := StrToFloat(x1); y := 3*x+53;
ShowMessage(FloatToStr(y));
end;
Бұл – форманы екi рет шерту (OnCreate) оқиғасына сәйкес жазылған оқиғаны
өңдеу процедурасы.
Көбiнесе программа әр қайсысы нақты оқиғаны өңдеуге арналған
процедуралар мен ағымдық iс-әрекеттердi орындайтын процедуралар жиынтығынан
тұрады. Жиынтыққа қосалқы программа – процедура, функциялардың енгiзiлуi де
мүмкiн. Программалаушы программада қандай оқиғалар өңделуге тиiс екенiн өзi
шешедi.
4. Iске қосу командасын беру. Ол Run – Run командасы арқылы не ±9 клавишiн
басу арқылы iске асырылады. Аспаптар панелiнде оған арналған Run түймесi
де бар.
Жүйе программаны компиляциялап, онда синтаксистiк қате кездеспесе,
InputBox процедурасына сәйкес енгiзу терезесiн шығарады (1.6-сурет).
5. Терезеге 4,8 мәнiн енгiзiп, ОК түймесiн шерту. Project1 тақырыбы және
iшiне функцияның символдық мәнi жазылған шығару ... жалғасы

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