Delphi тілінде деректер модулін құрастыру және оны пайдалану
Мазмұны
Кіріспе
1. Delphi ортасындағы модулдер типіне түсінік
1.1. Модулдердің бір.бірімен байланысу қасиеттері
1.2. Модулдердегі жарияланған объектілерге қол жеткізу функциялары
2. Delphi ортасындағы деректер модулдеріне жалпы сипаттама.
2.1. Модулдер структурасы
2.2 Delphi ортасының деректер базасына арналған негізгі компоненттері
3. Модулдер файлдарына жалпы сипаттама.
3.1. Модуль мәтінін меңгеру әдістері
3.2. Delphi тіліндегі жойылған деректер модулдерімен жұмыс жасау
Қорытынды
Қолданылған оқулықтар тізімі
Кіріспе
1. Delphi ортасындағы модулдер типіне түсінік
1.1. Модулдердің бір.бірімен байланысу қасиеттері
1.2. Модулдердегі жарияланған объектілерге қол жеткізу функциялары
2. Delphi ортасындағы деректер модулдеріне жалпы сипаттама.
2.1. Модулдер структурасы
2.2 Delphi ортасының деректер базасына арналған негізгі компоненттері
3. Модулдер файлдарына жалпы сипаттама.
3.1. Модуль мәтінін меңгеру әдістері
3.2. Delphi тіліндегі жойылған деректер модулдерімен жұмыс жасау
Қорытынды
Қолданылған оқулықтар тізімі
Кіріспе.
Delphi ортасындағы модулдер типіне түсінік.
Модулдер- программаның жеке бір бөліктерін орналастыруға арналған арнайы программалық бірлік. Барлық программа модулдерінің құрамындағы программалық кодтың көмегімен тұтастай дерлік іске асырылады.
Модулдер – орындалатын бөлімнің (интерфейстік) әр түрлі компоненттерінен тұратын автономды компиляцияланатын жеке біртұтас программалық бірлік. Бұл компоненттерге айнымалылар, типтер, тұрақтылар (константалар), процедуралар мен функциялар және тағы да басқалар жатады. Интерфейстік бөліктердегі объектілердің пайда болуы негізгі программа және басқа да модулдермен тікелей байланыс орнатуды жүзеге асыруға мүмкіндік береді. Ал, процедуралар мен функциялардың денесі пайдаланушыға көрінбейтін модулдердің орындалатын бөліктерінде орналасады. Сондықтан модулді біз программаның жеке бір бөлек, өз бетінше бөлім ретінде қарастыра аламыз. Өйткені әрбір жаңа форма құрылған сайын жаңа бір модуль құрылып отырады. Модуль айнымалы, тұрақты, кішігірім программа және тағы да басқалары сияқты әр түрлі программа элементтерін өзіне жазуға арналған. Әр жеке модуль pas кеңейтулері бар жеке бір файлда болады. Файл аты модуль атымен сәйкес келуі керек.
Программада үнемі бір ғана емес, бірнеше кейбір кездерде тіпті одан да көп ондаған формалар және олармен байланысқан модулдер де құрылуы мүмкін. Delphi ортасындағы Delphi программасының компиляциясы кезінде әр жеке модуль үшін PAS, DFM, DCU кеңейтулері бар файлдар құрылады:
● PAS файлы - программа кодының терезесінен алынған мәтін
көшірмесінен тұрады;
● DFM файлында – форма терезесінің құрамындағы деректер сақталады;
● DCU файлында – PAS және DFM файлдарынан алынған мәтінді
машиналық инструкцияға айналдырудан алынған нәтиже болады.
DCU файлы компилятор арқылы құрылады және базаны EXE кеңейтулері бар басқа бір жүктеу мүмкіндігін жүзеге асыратын файлға айналдыратын компоновщиктердің жұмысы үшін маңызды әрі қажет базаны береді. Delphi ортасындағы модулдер рөлі жекелеген компиляция механизмімен ғана шектеліп қалмайды.
Delphi тіліндегі модулдердің ең кең таралған типі болып форма табылады (FORM) . Формамен модуль тікелей байланысқан. Сондықтан модуль-форма түсінігі кең таралған.
unit Unit1;
TForm1 = class(TForm)
Form1: TForm1;
Мысалы, модулдердің интерфейстік секцияларында бір тип, яғни TfmExample класы мен бір объект, яғни TfmExample айнымалысы көрсетілген.
Кластың жазылуы мынандай болады:
type
TfmExample = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
Осыдан байқап тұрғанымыздай, кластар Delphi ортасының қуатты мүмкіндіктерін іске асырудағы қолданылатын негізгі құралдарымен қызмет көрсетеді. Класс –объект құратын үлгі болып табылады. Ал, керісінше объект –класты іске асыру экземпляры. Delphi ортасындағы программа элементтерін құру үшін пайдаланылатын үлгілерді тип деп атайды. Сондықтан TfmExample1 класы –бұл да тип. Delphi ортасындағы кез-келген деректер, айнымалылар, тұрақтылар, функциялар мен процедуралардың мәндері мен қасиеттері өз типтерімен сипатталынады. Delphi ортасы деректердің тарамдалынған структуралық типтерімен сипатталынады.
Delphi ортасындағы модулдер типіне түсінік.
Модулдер- программаның жеке бір бөліктерін орналастыруға арналған арнайы программалық бірлік. Барлық программа модулдерінің құрамындағы программалық кодтың көмегімен тұтастай дерлік іске асырылады.
Модулдер – орындалатын бөлімнің (интерфейстік) әр түрлі компоненттерінен тұратын автономды компиляцияланатын жеке біртұтас программалық бірлік. Бұл компоненттерге айнымалылар, типтер, тұрақтылар (константалар), процедуралар мен функциялар және тағы да басқалар жатады. Интерфейстік бөліктердегі объектілердің пайда болуы негізгі программа және басқа да модулдермен тікелей байланыс орнатуды жүзеге асыруға мүмкіндік береді. Ал, процедуралар мен функциялардың денесі пайдаланушыға көрінбейтін модулдердің орындалатын бөліктерінде орналасады. Сондықтан модулді біз программаның жеке бір бөлек, өз бетінше бөлім ретінде қарастыра аламыз. Өйткені әрбір жаңа форма құрылған сайын жаңа бір модуль құрылып отырады. Модуль айнымалы, тұрақты, кішігірім программа және тағы да басқалары сияқты әр түрлі программа элементтерін өзіне жазуға арналған. Әр жеке модуль pas кеңейтулері бар жеке бір файлда болады. Файл аты модуль атымен сәйкес келуі керек.
Программада үнемі бір ғана емес, бірнеше кейбір кездерде тіпті одан да көп ондаған формалар және олармен байланысқан модулдер де құрылуы мүмкін. Delphi ортасындағы Delphi программасының компиляциясы кезінде әр жеке модуль үшін PAS, DFM, DCU кеңейтулері бар файлдар құрылады:
● PAS файлы - программа кодының терезесінен алынған мәтін
көшірмесінен тұрады;
● DFM файлында – форма терезесінің құрамындағы деректер сақталады;
● DCU файлында – PAS және DFM файлдарынан алынған мәтінді
машиналық инструкцияға айналдырудан алынған нәтиже болады.
DCU файлы компилятор арқылы құрылады және базаны EXE кеңейтулері бар басқа бір жүктеу мүмкіндігін жүзеге асыратын файлға айналдыратын компоновщиктердің жұмысы үшін маңызды әрі қажет базаны береді. Delphi ортасындағы модулдер рөлі жекелеген компиляция механизмімен ғана шектеліп қалмайды.
Delphi тіліндегі модулдердің ең кең таралған типі болып форма табылады (FORM) . Формамен модуль тікелей байланысқан. Сондықтан модуль-форма түсінігі кең таралған.
unit Unit1;
TForm1 = class(TForm)
Form1: TForm1;
Мысалы, модулдердің интерфейстік секцияларында бір тип, яғни TfmExample класы мен бір объект, яғни TfmExample айнымалысы көрсетілген.
Кластың жазылуы мынандай болады:
type
TfmExample = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
Осыдан байқап тұрғанымыздай, кластар Delphi ортасының қуатты мүмкіндіктерін іске асырудағы қолданылатын негізгі құралдарымен қызмет көрсетеді. Класс –объект құратын үлгі болып табылады. Ал, керісінше объект –класты іске асыру экземпляры. Delphi ортасындағы программа элементтерін құру үшін пайдаланылатын үлгілерді тип деп атайды. Сондықтан TfmExample1 класы –бұл да тип. Delphi ортасындағы кез-келген деректер, айнымалылар, тұрақтылар, функциялар мен процедуралардың мәндері мен қасиеттері өз типтерімен сипатталынады. Delphi ортасы деректердің тарамдалынған структуралық типтерімен сипатталынады.
Пайдаланылған оқулықтар тізімі :
1. А.Я. Архангельский. «Приемы программирования в Delphi» М: «Бином-Пресс» 2003г.
2. В.Гофман, А.Хомоненко. «Delphi 5» -Санкт-Петербург-1999г.
3. Фаронов. «Программирование высокого уровня»-2002г
4. Р.Баас, М.Фервай. «Delphi 5 для пользователя» К-2000г.
1. А.Я. Архангельский. «Приемы программирования в Delphi» М: «Бином-Пресс» 2003г.
2. В.Гофман, А.Хомоненко. «Delphi 5» -Санкт-Петербург-1999г.
3. Фаронов. «Программирование высокого уровня»-2002г
4. Р.Баас, М.Фервай. «Delphi 5 для пользователя» К-2000г.
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 22 бет
Таңдаулыға:
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 22 бет
Таңдаулыға:
Тақырыбы: Delphi тілінде деректер модулін құрастыру
және оны пайдалану
Мазмұны
Кіріспе
1. Delphi ортасындағы модулдер типіне түсінік
1.1. Модулдердің бір-бірімен байланысу қасиеттері
1.2. Модулдердегі жарияланған объектілерге қол жеткізу функциялары
2. Delphi ортасындағы деректер модулдеріне жалпы сипаттама.
2.1. Модулдер структурасы
2.2 Delphi ортасының деректер базасына арналған негізгі компоненттері
3. Модулдер файлдарына жалпы сипаттама.
3.1. Модуль мәтінін меңгеру әдістері
3.2. Delphi тіліндегі жойылған деректер модулдерімен жұмыс жасау
Қорытынды
Қолданылған оқулықтар тізімі
Кіріспе.
Delphi ортасындағы модулдер типіне түсінік.
Модулдер- программаның жеке бір бөліктерін орналастыруға арналған
арнайы программалық бірлік. Барлық программа модулдерінің құрамындағы
программалық кодтың көмегімен тұтастай дерлік іске асырылады.
Модулдер – орындалатын бөлімнің (интерфейстік) әр түрлі компоненттерінен
тұратын автономды компиляцияланатын жеке біртұтас программалық бірлік. Бұл
компоненттерге айнымалылар, типтер, тұрақтылар (константалар), процедуралар
мен функциялар және тағы да басқалар жатады. Интерфейстік бөліктердегі
объектілердің пайда болуы негізгі программа және басқа да модулдермен
тікелей байланыс орнатуды жүзеге асыруға мүмкіндік береді. Ал, процедуралар
мен функциялардың денесі пайдаланушыға көрінбейтін модулдердің орындалатын
бөліктерінде орналасады. Сондықтан модулді біз программаның жеке бір бөлек,
өз бетінше бөлім ретінде қарастыра аламыз. Өйткені әрбір жаңа форма
құрылған сайын жаңа бір модуль құрылып отырады. Модуль айнымалы, тұрақты,
кішігірім программа және тағы да басқалары сияқты әр түрлі программа
элементтерін өзіне жазуға арналған. Әр жеке модуль pas кеңейтулері бар
жеке бір файлда болады. Файл аты модуль атымен сәйкес келуі керек.
Программада үнемі бір ғана емес, бірнеше кейбір кездерде тіпті одан да
көп ондаған формалар және олармен байланысқан модулдер де құрылуы мүмкін.
Delphi ортасындағы Delphi программасының компиляциясы кезінде әр жеке
модуль үшін PAS, DFM, DCU кеңейтулері бар файлдар құрылады:
● PAS файлы - программа кодының терезесінен алынған мәтін
көшірмесінен тұрады;
● DFM файлында – форма терезесінің құрамындағы деректер сақталады;
● DCU файлында – PAS және DFM файлдарынан алынған мәтінді
машиналық инструкцияға айналдырудан алынған нәтиже болады.
DCU файлы компилятор арқылы құрылады және базаны EXE кеңейтулері бар
басқа бір жүктеу мүмкіндігін жүзеге асыратын файлға айналдыратын
компоновщиктердің жұмысы үшін маңызды әрі қажет базаны береді. Delphi
ортасындағы модулдер рөлі жекелеген компиляция механизмімен ғана шектеліп
қалмайды.
Delphi тіліндегі модулдердің ең кең таралған типі болып форма табылады
(FORM) . Формамен модуль тікелей байланысқан. Сондықтан модуль-форма
түсінігі кең таралған.
unit Unit1;
TForm1 = class(TForm)
Form1: TForm1;
Мысалы, модулдердің интерфейстік секцияларында бір тип, яғни TfmExample
класы мен бір объект, яғни TfmExample айнымалысы көрсетілген.
Кластың жазылуы мынандай болады:
type
TfmExample = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
Осыдан байқап тұрғанымыздай, кластар Delphi ортасының қуатты
мүмкіндіктерін іске асырудағы қолданылатын негізгі құралдарымен қызмет
көрсетеді. Класс –объект құратын үлгі болып табылады. Ал, керісінше объект
–класты іске асыру экземпляры. Delphi ортасындағы программа элементтерін
құру үшін пайдаланылатын үлгілерді тип деп атайды. Сондықтан TfmExample1
класы –бұл да тип. Delphi ортасындағы кез-келген деректер, айнымалылар,
тұрақтылар, функциялар мен процедуралардың мәндері мен қасиеттері өз
типтерімен сипатталынады. Delphi ортасы деректердің тарамдалынған
структуралық типтерімен сипатталынады.
1. Delphi ортасындағы модулдер типі.
Модуль – форманың интерфейстік бөлімінде сәйкес терезелік кластар
үшін кез-келген объектің жариялауы болады. Мысалы, біздің оқу программамыз
Tfm Example модуль класының және fm Example объектісінің жариялылығынан
тұрады. Delphi ортасындағы модулдердің интерфейстік бөлімі жалпы жаңа бір
кластың жариялылығынан тұрады. Сонымен қатар Delphi ортасы автоматты түрде
жаңаланып отырады. Объектілер жинағындағы модулдер типінің көптеген түрлері
диалогтық терезелердің құрылуы үшін дайындалған дайындамалардан тұрады.
Мұнда формадан басқа көрінетін терезелермен мүлде байланыспаған модулдер де
болады. Оларға жоғарыда қарастырып өткен жалпы белгіленген модулдерден
басқа деректер модулдері, динамикалық-кітапханалар модулдері, пакеттер және
ағын модулдерін де жатқызуға болады.
1. Модулдер тақырыбы және олардың бір-бірімен
байланысы.
Модуль тақырыбы Unit тыйым салынған сөзінен жәнекелесі модуль атауынан
тұрады. Delphi ортасының дұрыс жұмыс істеуі үшін және өте көлемді
программаларды өңдеуді жеңілдететін құралдарды қосу мүмкіндігін тудыру үшін
бұл модулдің бастапқы мәтіні орналасқан дискілік файл атымен сәйкес келуі
керек. Мысалы, UnitGroup атты тақырып берілген болсын. Сонда сәйкесінше
модулдің бастапқы мәтіні Group.pas дискіліку файлында орналасқан болуы
керек. Модулдер аттары негізгі программамен және басқа да
модулдермен байланысына қызмет көрсетеді. Мұндай байланыс арнайы
орнатылады: Uses модулдер тізімі . мұндағы Uses –тыйым салынған сөз ;
модулдер тізімі -байланыс орнататын модулдер байланысы. Тізім элементтері
Болып бір-бірінен үтір арқылы ажыратылған модул аттары табылады. Мысалы,
Uses, Windows, sysUtils, MyUnit және тағы басқалары:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
Егер Uses жариялылығы қолданылса, онда ол негізгі программаның жазылу
бөлімін ашып береді. Модулдер басқа модулдерді қолдана алады. Модулдердегі
Uses Interface тыйым салынған сөзінен кейін немесе Implementation cөзінен
кейін қолданылады.
Модулдердің интерфейстік бөлімі.
Бұл бөлім Interface тыйым салынған сөзімен ашылады. Интерфейстік бөлімде
модулдердің басқа модулдерге немесе негізгі программаға жетуіне қажетті
барлық глобалді модулдер объектілерінің жариялылығынан тұрады. Бұларға
жататындар: айнымалылар, типтер, тұрақтылар, процедуралар мен функциялар
және тағы басқалар. Интерфейстік бөлімдердегі ауқымды түрдегі кішігірім
программаларды жариялаған кезде тек қана олардың тақырыптары көрсетіледі.
Мысалы,
unit Cmplx;
interface
type
Complex = record
re,im:real;
end;
function AddC(x,y :Complex) :Complex;
function MulC(x,y :Complex) :Complex;
Егер төменде басқа модулдерге ұсынылған сөйлемді жазсақ, онда Complex типі
мен AddC және MulC( бұлар Cmplx модулдерінен алынған) процедуралары оған
қол жеткізе алатындай дәрежеде бола алады.
Uses Cmplx;
Орындалатын бөлімі.
Бұл бөлім implementation тыйым салынған сөзімен басталып және
интерфейстіік бөлімде жарияланған кішігірім программалардан тұрады.
Программаларда модулдер үшін локалді объектілер жариялануы мүмкін.
Оларға көмекші типтер, тұрақтылар, айнымалылар және кішігірім программалар,
сонымен қатар егер қажет болатын жағдай туындаса, онда белгілер жатады.
Модулдің интерфейстік бөліміндегі жарияланған программалардың жазылуына
негізделген орындалатын бөлімдерде формалді айнымалылар тізімін көрсетуге
болатын белгілі бір тақырып болу керек, өйткені олар алдын-ала интерфейстік
бөлімде жазылған болатын. Бірақ егер кішігірім программалар тақырыптары
толық түрде келтірілген болса, онда тізімі бар формалді параметрлері мен
нәтижелері интерфейстік бөлімде жарияланған тақырыптармен сәйкес келуі
керек. Мысалы,
unit Cmplx;
interface
type
Complex = record
re,im:real;
end;
function AddC(x,y :Complex) :Complex;
function MulC(x,y :Complex) :Complex;
implementation
function AddC(x,y :Complex) :Complex;
begin
... .
end;
function MulC; Параметрлер тізімдерінің қайталануынсыз
кішігірім программалардың жазылу варианты
begin
... .
end;
end.
Кішігірім программалар тақырыптарын қысқа түрде жарияланатындай етіп
келтірген кезде (алдыңғы мысалдардағы function MulC функциялары)
параметрлер тізімі программалар тақырыпшаларындағы алгоритмнің жүзеге
асырылу деталдарына дейін түсінуді және кодты оқуды тікелей жеңілдетуге
көмектеседі. Орындалатын бөлімдегі кішігірім программалар тақырыптарын дәл
көрсету үшін кодтық редактор мүмкіндіктерін пайдаланамыз: интерфейстік
бөлімдегі кішігірім программалар тақырыптарының кез-келген бір жеріне
курсорды орнатып, Ctrl+shift+C клавишаларын бассақ –кодтық редактор
модулдердің орындалатын бөлімінде кішігірім программаларды құрып үлгереді.
Тақырыптардың қайталануы орындалатын бөлімде дәл және толық болу керек.
Егер біз келесі тақырыпты қолданған болсақ, онда компилятор интерфейстік
бөлімдегі барлық функциялардың жарияланған тақырыптарымен мүлде сәйкес
келмейтіндігі туралы тез арада белгі берер еді. (Екінші параметрдің Y аты
болу керек): function AddC(x,z :Complex) :Complex;
begin
... .
end;
Инициалдану және аяқтау бөлімдері.
Модулдердің бұл бөлімдері көбінесе initialization және finalization
бастаушы сөздерімен бірге құрылмауы да мүмкін. Инициалдану бөлімінде
негізгі программадағы басқаруды жеткізгенге дейін орындалатын және оның
жұмысын дайындау үшін қолданылатын операторлар орналасады.Мысалы, олардағы
айнымалылар инициалдалынып, бізге қажетті файлдар ашылуы мүмкін.
Аяқтау бөлімінде негізгі программа жұмысын аяқтағаннан кейін орындалатын
операторлар көрсетіледі. Оларда файлдар жабылады, сонымен қатар белгіленген
программадағы ресурстар босатылады.
Егер инициалдалынған бөлімдерде бірнеше модуль болатын болса, онда бұл
бөлімдер бас программаның uses сөйлемінде модулдер атауларының ретімен
бірінен кейін бірі тізбектелініп орындалады. Ал, егер бірнеше модулдерде
аяқталу бөлімдері бар болатын болса, онда бұл бөлімдер бас программаның
uses сөйлемінде модулдердің атаулары кері түрде орналасып, олар рет-ретімен
бірінен кейін бірі тізбектелініп орындалады.
1.2. Модулдердегі жарияланған объектілерге қол жеткізу.
Біз мысалға комплекстік сандар арифметикасын іске асыратын модуль құрайық
делік. Ал, мұндай арифметика стандартты Паскаль тілінде де, Delphi тілінде
де қарастырылмаған. Бірақ тек Delphi тілінде ғана комплексті сандары бар
операциялар жүзеге асырылатын (Source\Rtl\Common\VarCmplx.pas модулі Delphi
каталогында орналасқан). Осындай операцияларды жүзеге асыратын пайдаланушы
варианты енгізілген болатын. Комплексті сандар арифметикасы төрт түрлі
функциялар арқылы жүзеге асырылады:
unit Cmplx;
--------------------------------- -----------------------------------
----------
interface
--------------------------------- -----------------------------------
----------
type
Complex = record
re,im:real;
end;
function AddC(x,y :Complex) :Complex;
function SubC(x,y :Complex) :Complex;
function DivC(x,y :Complex) :Complex;
function MulC(x,y :Complex) :Complex;
const
C:Complex =(re:0.1; im:-1);
--------------------------------- -----------------------------------
----------
implementation
--------------------------------- -----------------------------------
----------
function AddC(x,y :Complex) :Complex;
Комплексті сандардың қосындысы
begin
Result.re:=x.re+y.re;
Result.im:=x.im+y.im
end; AddC
function SubC(x,y:Complex):Complex;
Комплексті сандардың айырмасы
begin
Result.re:=x.re-y.re;
Result.im:=x.im-y.im
end; SubC
function MulC(x,y:Complex):Complex;
Комплексті сандардың көбейтіндісі
begin
Result.re:=x.re*y.re- x.im*y.im;
Result.im:=x.re*y.im+x.im*y.re
end; MulC
function DivC(x,y:Complex):Complex;
Комплексті сандардың бөліндісі
var
z:real;
begin
z:=sqr(y.re)+sqr(y.im);
z=0 болған кезде программаны қорғау:
try
Result.re:=(x.re*y.re- x.im*y.im)z;
Result.im:=(x.re*y.im+x.im*y.re)z;
Except
Result.re:= 1.1e309;
Result.im:= 1.1e309;
end;
end{DivC};
end.
Осындай модуль құру үшін File-New-Unit командасын таңдап алу
керек. Модуль мәтінін CMPLX.PAS файлында сақтау қажет: файл аты модуль
атымен сәйкес болу шарт. Тек қана осы жағдайда Delphi автоматты түрде
модулді таба алады және оның жаңаланып отыратындығын бақылай алады.
Модулдер құрылғаннан кейін оның атын типтер, айнымалылар,
тұрақтыларкішігірім программалар қайталап құрылған кезде қолданылатын сол
модулдің uses сөйлемінде нақты көрсету қажет. Біз қарастырып отырған
модулдегі тип - Cоmplx; кішігірім программалар- AddC,SubC, DivC, MulC және
С тұрақтысы.
Мысалы, bbRun батырмасын әр басқан сайын оқу программасының барлық
жоғарыда келтірілген 4 түрлі арифметикалық әдістерді орындайтын кездейсоқ
комплексті сандар жұптары құрылады. Сонда bbRunClick өңдеушісі мынандай
түрде болу керек. (Source\Chap-11\Complex\Complx.dpr жобасы):
Implementation
Uses Cmplx;
{$R *.dfm}
procedure TForm1.bbRunClick(Sender: TObject);
var x,y,z:Complex;
procedure Output(Operation:Char);
Қажетті іс-әрекеттерді жүзеге асырады және одан нәтиже шығарады
mm Output
var S:String;
begin
Case Operation of
'+':z:=AddC(x,y);
'-':z:=SubC(x,y);
'*':z:=MulC(x,y);
'':z:=DivC(x,y);
end;
S:='('+FormatFloat('+0.0000;-0.0000 ',x.re)+
FormatFloat('+0.0000j;-0.0000j',x.i m)+')'+Operation+
'('+FormatFloat('+0.0000;-0.0000',y .re)+
FormatFloat('+0.0000j;-0.0000j',y.i m)+'='+
FormatFloat('+0.0000;-0.0000',z.re) +
FormatFloat('+0.0000j;-0.0000j',x.i m);
mmOutput.Lines.Add(S);
end; Output
begin bbRunClick
x.re:=Random;
x.im:=Random;
y.re:=Random;
y.im:=Random;
Output('+');
Output('-');
Output('*');
Output('');
mmOutput.Lines.Add('');
end;
end.
Орындалатын бөлімнің ең басындағы Cmplxuses сілтемесіне көңіл аударайық.
Дәл осы Cmplx модулінің объектісіне bbRunClick өңдеушісіне қол жеткізе
алады. Бұл сілтемені Delphi ортасының көмегімен қойамыз:
бас менюдегі File-Use Unit командасын таңдап алып және пайда болған
терезеде Cmplx атты модулге апарып басып қалсаңыз шыға келеді.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, ExtCtrls;
type
TfmExample = class(TForm)
Panell:Tpanel;
bbRun:TbitBtn;
bbClose: TbitBtn;
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmExample: TfmExample;
implementation
{$R *.dfm}
end.
Міне осындай Delphi тілінде ... жалғасы
және оны пайдалану
Мазмұны
Кіріспе
1. Delphi ортасындағы модулдер типіне түсінік
1.1. Модулдердің бір-бірімен байланысу қасиеттері
1.2. Модулдердегі жарияланған объектілерге қол жеткізу функциялары
2. Delphi ортасындағы деректер модулдеріне жалпы сипаттама.
2.1. Модулдер структурасы
2.2 Delphi ортасының деректер базасына арналған негізгі компоненттері
3. Модулдер файлдарына жалпы сипаттама.
3.1. Модуль мәтінін меңгеру әдістері
3.2. Delphi тіліндегі жойылған деректер модулдерімен жұмыс жасау
Қорытынды
Қолданылған оқулықтар тізімі
Кіріспе.
Delphi ортасындағы модулдер типіне түсінік.
Модулдер- программаның жеке бір бөліктерін орналастыруға арналған
арнайы программалық бірлік. Барлық программа модулдерінің құрамындағы
программалық кодтың көмегімен тұтастай дерлік іске асырылады.
Модулдер – орындалатын бөлімнің (интерфейстік) әр түрлі компоненттерінен
тұратын автономды компиляцияланатын жеке біртұтас программалық бірлік. Бұл
компоненттерге айнымалылар, типтер, тұрақтылар (константалар), процедуралар
мен функциялар және тағы да басқалар жатады. Интерфейстік бөліктердегі
объектілердің пайда болуы негізгі программа және басқа да модулдермен
тікелей байланыс орнатуды жүзеге асыруға мүмкіндік береді. Ал, процедуралар
мен функциялардың денесі пайдаланушыға көрінбейтін модулдердің орындалатын
бөліктерінде орналасады. Сондықтан модулді біз программаның жеке бір бөлек,
өз бетінше бөлім ретінде қарастыра аламыз. Өйткені әрбір жаңа форма
құрылған сайын жаңа бір модуль құрылып отырады. Модуль айнымалы, тұрақты,
кішігірім программа және тағы да басқалары сияқты әр түрлі программа
элементтерін өзіне жазуға арналған. Әр жеке модуль pas кеңейтулері бар
жеке бір файлда болады. Файл аты модуль атымен сәйкес келуі керек.
Программада үнемі бір ғана емес, бірнеше кейбір кездерде тіпті одан да
көп ондаған формалар және олармен байланысқан модулдер де құрылуы мүмкін.
Delphi ортасындағы Delphi программасының компиляциясы кезінде әр жеке
модуль үшін PAS, DFM, DCU кеңейтулері бар файлдар құрылады:
● PAS файлы - программа кодының терезесінен алынған мәтін
көшірмесінен тұрады;
● DFM файлында – форма терезесінің құрамындағы деректер сақталады;
● DCU файлында – PAS және DFM файлдарынан алынған мәтінді
машиналық инструкцияға айналдырудан алынған нәтиже болады.
DCU файлы компилятор арқылы құрылады және базаны EXE кеңейтулері бар
басқа бір жүктеу мүмкіндігін жүзеге асыратын файлға айналдыратын
компоновщиктердің жұмысы үшін маңызды әрі қажет базаны береді. Delphi
ортасындағы модулдер рөлі жекелеген компиляция механизмімен ғана шектеліп
қалмайды.
Delphi тіліндегі модулдердің ең кең таралған типі болып форма табылады
(FORM) . Формамен модуль тікелей байланысқан. Сондықтан модуль-форма
түсінігі кең таралған.
unit Unit1;
TForm1 = class(TForm)
Form1: TForm1;
Мысалы, модулдердің интерфейстік секцияларында бір тип, яғни TfmExample
класы мен бір объект, яғни TfmExample айнымалысы көрсетілген.
Кластың жазылуы мынандай болады:
type
TfmExample = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
Осыдан байқап тұрғанымыздай, кластар Delphi ортасының қуатты
мүмкіндіктерін іске асырудағы қолданылатын негізгі құралдарымен қызмет
көрсетеді. Класс –объект құратын үлгі болып табылады. Ал, керісінше объект
–класты іске асыру экземпляры. Delphi ортасындағы программа элементтерін
құру үшін пайдаланылатын үлгілерді тип деп атайды. Сондықтан TfmExample1
класы –бұл да тип. Delphi ортасындағы кез-келген деректер, айнымалылар,
тұрақтылар, функциялар мен процедуралардың мәндері мен қасиеттері өз
типтерімен сипатталынады. Delphi ортасы деректердің тарамдалынған
структуралық типтерімен сипатталынады.
1. Delphi ортасындағы модулдер типі.
Модуль – форманың интерфейстік бөлімінде сәйкес терезелік кластар
үшін кез-келген объектің жариялауы болады. Мысалы, біздің оқу программамыз
Tfm Example модуль класының және fm Example объектісінің жариялылығынан
тұрады. Delphi ортасындағы модулдердің интерфейстік бөлімі жалпы жаңа бір
кластың жариялылығынан тұрады. Сонымен қатар Delphi ортасы автоматты түрде
жаңаланып отырады. Объектілер жинағындағы модулдер типінің көптеген түрлері
диалогтық терезелердің құрылуы үшін дайындалған дайындамалардан тұрады.
Мұнда формадан басқа көрінетін терезелермен мүлде байланыспаған модулдер де
болады. Оларға жоғарыда қарастырып өткен жалпы белгіленген модулдерден
басқа деректер модулдері, динамикалық-кітапханалар модулдері, пакеттер және
ағын модулдерін де жатқызуға болады.
1. Модулдер тақырыбы және олардың бір-бірімен
байланысы.
Модуль тақырыбы Unit тыйым салынған сөзінен жәнекелесі модуль атауынан
тұрады. Delphi ортасының дұрыс жұмыс істеуі үшін және өте көлемді
программаларды өңдеуді жеңілдететін құралдарды қосу мүмкіндігін тудыру үшін
бұл модулдің бастапқы мәтіні орналасқан дискілік файл атымен сәйкес келуі
керек. Мысалы, UnitGroup атты тақырып берілген болсын. Сонда сәйкесінше
модулдің бастапқы мәтіні Group.pas дискіліку файлында орналасқан болуы
керек. Модулдер аттары негізгі программамен және басқа да
модулдермен байланысына қызмет көрсетеді. Мұндай байланыс арнайы
орнатылады: Uses модулдер тізімі . мұндағы Uses –тыйым салынған сөз ;
модулдер тізімі -байланыс орнататын модулдер байланысы. Тізім элементтері
Болып бір-бірінен үтір арқылы ажыратылған модул аттары табылады. Мысалы,
Uses, Windows, sysUtils, MyUnit және тағы басқалары:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
Егер Uses жариялылығы қолданылса, онда ол негізгі программаның жазылу
бөлімін ашып береді. Модулдер басқа модулдерді қолдана алады. Модулдердегі
Uses Interface тыйым салынған сөзінен кейін немесе Implementation cөзінен
кейін қолданылады.
Модулдердің интерфейстік бөлімі.
Бұл бөлім Interface тыйым салынған сөзімен ашылады. Интерфейстік бөлімде
модулдердің басқа модулдерге немесе негізгі программаға жетуіне қажетті
барлық глобалді модулдер объектілерінің жариялылығынан тұрады. Бұларға
жататындар: айнымалылар, типтер, тұрақтылар, процедуралар мен функциялар
және тағы басқалар. Интерфейстік бөлімдердегі ауқымды түрдегі кішігірім
программаларды жариялаған кезде тек қана олардың тақырыптары көрсетіледі.
Мысалы,
unit Cmplx;
interface
type
Complex = record
re,im:real;
end;
function AddC(x,y :Complex) :Complex;
function MulC(x,y :Complex) :Complex;
Егер төменде басқа модулдерге ұсынылған сөйлемді жазсақ, онда Complex типі
мен AddC және MulC( бұлар Cmplx модулдерінен алынған) процедуралары оған
қол жеткізе алатындай дәрежеде бола алады.
Uses Cmplx;
Орындалатын бөлімі.
Бұл бөлім implementation тыйым салынған сөзімен басталып және
интерфейстіік бөлімде жарияланған кішігірім программалардан тұрады.
Программаларда модулдер үшін локалді объектілер жариялануы мүмкін.
Оларға көмекші типтер, тұрақтылар, айнымалылар және кішігірім программалар,
сонымен қатар егер қажет болатын жағдай туындаса, онда белгілер жатады.
Модулдің интерфейстік бөліміндегі жарияланған программалардың жазылуына
негізделген орындалатын бөлімдерде формалді айнымалылар тізімін көрсетуге
болатын белгілі бір тақырып болу керек, өйткені олар алдын-ала интерфейстік
бөлімде жазылған болатын. Бірақ егер кішігірім программалар тақырыптары
толық түрде келтірілген болса, онда тізімі бар формалді параметрлері мен
нәтижелері интерфейстік бөлімде жарияланған тақырыптармен сәйкес келуі
керек. Мысалы,
unit Cmplx;
interface
type
Complex = record
re,im:real;
end;
function AddC(x,y :Complex) :Complex;
function MulC(x,y :Complex) :Complex;
implementation
function AddC(x,y :Complex) :Complex;
begin
... .
end;
function MulC; Параметрлер тізімдерінің қайталануынсыз
кішігірім программалардың жазылу варианты
begin
... .
end;
end.
Кішігірім программалар тақырыптарын қысқа түрде жарияланатындай етіп
келтірген кезде (алдыңғы мысалдардағы function MulC функциялары)
параметрлер тізімі программалар тақырыпшаларындағы алгоритмнің жүзеге
асырылу деталдарына дейін түсінуді және кодты оқуды тікелей жеңілдетуге
көмектеседі. Орындалатын бөлімдегі кішігірім программалар тақырыптарын дәл
көрсету үшін кодтық редактор мүмкіндіктерін пайдаланамыз: интерфейстік
бөлімдегі кішігірім программалар тақырыптарының кез-келген бір жеріне
курсорды орнатып, Ctrl+shift+C клавишаларын бассақ –кодтық редактор
модулдердің орындалатын бөлімінде кішігірім программаларды құрып үлгереді.
Тақырыптардың қайталануы орындалатын бөлімде дәл және толық болу керек.
Егер біз келесі тақырыпты қолданған болсақ, онда компилятор интерфейстік
бөлімдегі барлық функциялардың жарияланған тақырыптарымен мүлде сәйкес
келмейтіндігі туралы тез арада белгі берер еді. (Екінші параметрдің Y аты
болу керек): function AddC(x,z :Complex) :Complex;
begin
... .
end;
Инициалдану және аяқтау бөлімдері.
Модулдердің бұл бөлімдері көбінесе initialization және finalization
бастаушы сөздерімен бірге құрылмауы да мүмкін. Инициалдану бөлімінде
негізгі программадағы басқаруды жеткізгенге дейін орындалатын және оның
жұмысын дайындау үшін қолданылатын операторлар орналасады.Мысалы, олардағы
айнымалылар инициалдалынып, бізге қажетті файлдар ашылуы мүмкін.
Аяқтау бөлімінде негізгі программа жұмысын аяқтағаннан кейін орындалатын
операторлар көрсетіледі. Оларда файлдар жабылады, сонымен қатар белгіленген
программадағы ресурстар босатылады.
Егер инициалдалынған бөлімдерде бірнеше модуль болатын болса, онда бұл
бөлімдер бас программаның uses сөйлемінде модулдер атауларының ретімен
бірінен кейін бірі тізбектелініп орындалады. Ал, егер бірнеше модулдерде
аяқталу бөлімдері бар болатын болса, онда бұл бөлімдер бас программаның
uses сөйлемінде модулдердің атаулары кері түрде орналасып, олар рет-ретімен
бірінен кейін бірі тізбектелініп орындалады.
1.2. Модулдердегі жарияланған объектілерге қол жеткізу.
Біз мысалға комплекстік сандар арифметикасын іске асыратын модуль құрайық
делік. Ал, мұндай арифметика стандартты Паскаль тілінде де, Delphi тілінде
де қарастырылмаған. Бірақ тек Delphi тілінде ғана комплексті сандары бар
операциялар жүзеге асырылатын (Source\Rtl\Common\VarCmplx.pas модулі Delphi
каталогында орналасқан). Осындай операцияларды жүзеге асыратын пайдаланушы
варианты енгізілген болатын. Комплексті сандар арифметикасы төрт түрлі
функциялар арқылы жүзеге асырылады:
unit Cmplx;
--------------------------------- -----------------------------------
----------
interface
--------------------------------- -----------------------------------
----------
type
Complex = record
re,im:real;
end;
function AddC(x,y :Complex) :Complex;
function SubC(x,y :Complex) :Complex;
function DivC(x,y :Complex) :Complex;
function MulC(x,y :Complex) :Complex;
const
C:Complex =(re:0.1; im:-1);
--------------------------------- -----------------------------------
----------
implementation
--------------------------------- -----------------------------------
----------
function AddC(x,y :Complex) :Complex;
Комплексті сандардың қосындысы
begin
Result.re:=x.re+y.re;
Result.im:=x.im+y.im
end; AddC
function SubC(x,y:Complex):Complex;
Комплексті сандардың айырмасы
begin
Result.re:=x.re-y.re;
Result.im:=x.im-y.im
end; SubC
function MulC(x,y:Complex):Complex;
Комплексті сандардың көбейтіндісі
begin
Result.re:=x.re*y.re- x.im*y.im;
Result.im:=x.re*y.im+x.im*y.re
end; MulC
function DivC(x,y:Complex):Complex;
Комплексті сандардың бөліндісі
var
z:real;
begin
z:=sqr(y.re)+sqr(y.im);
z=0 болған кезде программаны қорғау:
try
Result.re:=(x.re*y.re- x.im*y.im)z;
Result.im:=(x.re*y.im+x.im*y.re)z;
Except
Result.re:= 1.1e309;
Result.im:= 1.1e309;
end;
end{DivC};
end.
Осындай модуль құру үшін File-New-Unit командасын таңдап алу
керек. Модуль мәтінін CMPLX.PAS файлында сақтау қажет: файл аты модуль
атымен сәйкес болу шарт. Тек қана осы жағдайда Delphi автоматты түрде
модулді таба алады және оның жаңаланып отыратындығын бақылай алады.
Модулдер құрылғаннан кейін оның атын типтер, айнымалылар,
тұрақтыларкішігірім программалар қайталап құрылған кезде қолданылатын сол
модулдің uses сөйлемінде нақты көрсету қажет. Біз қарастырып отырған
модулдегі тип - Cоmplx; кішігірім программалар- AddC,SubC, DivC, MulC және
С тұрақтысы.
Мысалы, bbRun батырмасын әр басқан сайын оқу программасының барлық
жоғарыда келтірілген 4 түрлі арифметикалық әдістерді орындайтын кездейсоқ
комплексті сандар жұптары құрылады. Сонда bbRunClick өңдеушісі мынандай
түрде болу керек. (Source\Chap-11\Complex\Complx.dpr жобасы):
Implementation
Uses Cmplx;
{$R *.dfm}
procedure TForm1.bbRunClick(Sender: TObject);
var x,y,z:Complex;
procedure Output(Operation:Char);
Қажетті іс-әрекеттерді жүзеге асырады және одан нәтиже шығарады
mm Output
var S:String;
begin
Case Operation of
'+':z:=AddC(x,y);
'-':z:=SubC(x,y);
'*':z:=MulC(x,y);
'':z:=DivC(x,y);
end;
S:='('+FormatFloat('+0.0000;-0.0000 ',x.re)+
FormatFloat('+0.0000j;-0.0000j',x.i m)+')'+Operation+
'('+FormatFloat('+0.0000;-0.0000',y .re)+
FormatFloat('+0.0000j;-0.0000j',y.i m)+'='+
FormatFloat('+0.0000;-0.0000',z.re) +
FormatFloat('+0.0000j;-0.0000j',x.i m);
mmOutput.Lines.Add(S);
end; Output
begin bbRunClick
x.re:=Random;
x.im:=Random;
y.re:=Random;
y.im:=Random;
Output('+');
Output('-');
Output('*');
Output('');
mmOutput.Lines.Add('');
end;
end.
Орындалатын бөлімнің ең басындағы Cmplxuses сілтемесіне көңіл аударайық.
Дәл осы Cmplx модулінің объектісіне bbRunClick өңдеушісіне қол жеткізе
алады. Бұл сілтемені Delphi ортасының көмегімен қойамыз:
бас менюдегі File-Use Unit командасын таңдап алып және пайда болған
терезеде Cmplx атты модулге апарып басып қалсаңыз шыға келеді.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms, ExtCtrls;
type
TfmExample = class(TForm)
Panell:Tpanel;
bbRun:TbitBtn;
bbClose: TbitBtn;
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmExample: TfmExample;
implementation
{$R *.dfm}
end.
Міне осындай Delphi тілінде ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz