Delphi ортасындағы модулдер типіне түсінік


Жоспар

Кіріспе

Delphi ортасындағы модулдер типіне түсінік

  1. Модулдердің бір-бірімен байланысу қасиеттері
  2. Модулдердегі жарияланған объектілерге қол жеткізу функциялары
  3. Өріс қасиеттері

Қорытынды

Қолданылған оқулықтар тізімі

Кіріспе

Модулдер - программаның жеке бір бөліктерін орналастыруға арналған арнайы программалық бірлік. Барлық программа модулдерінің құрамындағы программалық кодтың көмегімен тұтастай дерлік іске асырылады.

Модулдер - орындалатын бөлімнің (интерфейстік) әр түрлі компоненттерінен тұратын автономды компиляцияланатын жеке біртұтас программалық бірлік. Бұл компоненттерге айнымалылар, типтер, тұрақтылар (константалар), процедуралар мен функциялар және тағы да басқалар жатады. Интерфейстік бөліктердегі объектілердің пайда болуы негізгі программа және басқа да модулдермен тікелей байланыс орнатуды жүзеге асыруға мүмкіндік береді. Ал, процедуралар мен функциялардың денесі пайдаланушыға көрінбейтін модулдердің орындалатын бөліктерінде орналасады. Сондықтан модулді біз программаның жеке бір бөлек, өз бетінше бөлім ретінде қарастыра аламыз. Өйткені әрбір жаңа форма құрылған сайын жаңа бір модуль құрылып отырады. Модуль айнымалы, тұрақты, кішігірім программа және тағы да басқалары сияқты әр түрлі программа элементтерін өзіне жазуға арналған. Әр жеке модуль pas кеңейтулері бар жеке бір файлда болады. Файл аты модуль атымен сәйкес келуі керек.

Программада үнемі бір ғана емес, бірнеше кейбір кездерде тіпті одан да көп ондаған формалар және олармен байланысқан модулдер де құрылуы мүмкін. Delphi ортасындағы Delphi программасының компиляциясы кезінде әр жеке модуль үшін PAS, DFM, DCU кеңейтулері бар файлдар құрылады:

● PAS файлы - программа кодының терезесінен алынған мәтін

көшірмесінен тұрады;

● DFM файлында - форма терезесінің құрамындағы деректер сақталады;

● DCU файлында - PAS және DFM файлдарынан алынған мәтінді

машиналық инструкцияға айналдырудан алынған нәтиже болады.

DCU файлы компилятор арқылы құрылады және базаны EXE кеңейтулері бар басқа бір жүктеу мүмкіндігін жүзеге асыратын файлға айналдыратын компоновщиктердің жұмысы үшін маңызды әрі қажет базаны береді. Delphi ортасындағы модулдер рөлі жекелеген компиляция механизмімен ғана шектеліп қалмайды.

Delphi тіліндегі модулдердің ең кең таралған типі болып форма табылады (FORM) . Формамен модуль тікелей байланысқан. Сондықтан модуль-форма түсінігі кең таралған.

Delphi ортасындағы модулдер типі.

Модуль - форманың интерфейстік бөлімінде сәйкес терезелік кластар үшін кез-келген объектің жариялауы болады. Мысалы, біздің оқу программамыз Tfm Example модуль класының және fm Example объектісінің жариялылығынан тұрады. Delphi ортасындағы модулдердің интерфейстік бөлімі жалпы жаңа бір кластың жариялылығынан тұрады. Сонымен қатар Delphi ортасы автоматты түрде жаңаланып отырады. Объектілер жинағындағы модулдер типінің көптеген түрлері диалогтық терезелердің құрылуы үшін дайындалған дайындамалардан тұрады. Мұнда формадан басқа көрінетін терезелермен мүлде байланыспаған модулдер де болады. Оларға жоғарыда қарастырып өткен жалпы белгіленген модулдерден басқа деректер модулдері, динамикалық-кітапханалар модулдері, пакеттер және ағын модулдерін де жатқызуға болады.

Модулдер тақырыбы және олардың бір-бірімен байланысы.

Модуль тақырыбы 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 сөйлемінде модулдердің атаулары кері түрде орналасып, олар рет-ретімен бірінен кейін бірі тізбектелініп орындалады.

Модулдердегі жарияланған объектілерге қол жеткізу.

Біз мысалға комплекстік сандар арифметикасын іске асыратын модуль құрайық делік. Ал, мұндай арифметика стандартты Паскаль тілінде де, 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. ; -0. ', x. re) +

FormatFloat('+0. j; -0. j', x. im) +') '+Operation+

'('+FormatFloat('+0. ; -0. ', y. re) +

FormatFloat('+0. j; -0. j', y. im) +'='+

FormatFloat('+0. ; -0. ', z. re) +

FormatFloat('+0. j; -0. j', x. im) ;

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.

Орындалатын бөлімнің ең басындағы Cmplx uses сілтемесіне көңіл аударайық. Дәл осы 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 тілінде жазылған мәтіннің жобалаушы файлдардан ерекшелігі -ол программист программаға қажетті функционалдықтарды дәлме-дәл келтіре отырып, сонымен қатар оны өзгерте алуында.

Өріс қасиеттері

Әр кестенің өз құрылымы бар. Құрылым оның өрістер құрамы мен олардың типтерінен тұрады. Өрістің негізгі қасиеттері - оның типі мен өлшемі.

Access құрылған кестенің өріс қасиеттерін автоматты түрде орнатып қояды. Қажет болса, оны қолдан өзгерту де, ал жаңа кесте үшін қолдан өзгерту де мүмкін. Түрлі типті өрістердің қасиеттері әр түрлі. Өріс типі таңдалған кезде оның қасиеттері Конструктор режимі терезесінің төменгі бөлімінде көрінетін Жалпы қондырмасын енгізіліп қойылады. Access өріс өлшемі үшін стандартты 50 санын орнатқан. Өлшемді 1 мен 255 аралығындағы (1-255) символдар тізбегінен тұратын етіп алуға болады. 50-ді қалдыруға не өріс ұяшығына ендірілетін берілгендердің ең ұзыны сиятындай етіп, басқа санды, 15-ті енгізу де мүмкін.

Мәтіндік типті өріс үшін басқа қасиеттерді орнату міндетті емес. Мысалы, Өріс форматы . Мұнда ескертетін жайт - қасиеттер құрамында «Қолтаңба» (подпись) да бар. Ол - формамен жұмыс істеу кезінде Access автоматты түрде меншіктейтін өрістің екінші атауы.

Сандық типті өріс қасиеттерін орнату. Сандық өрістер бүтін немесе нақты сандар ендірілетін өрістер болып екіге бөлінеді.

Жаңа құрылатын кестеде сандық өріс құру немесе өрісті күйге келтіру үшін қондырмадан өріс өлшемін, өріс форматын (қажет болса, ондық таңбалар санын) орнатып қою керек. Олардың тізімін экранға шығару үшін сәйкес қатардың шертілуі тиіс. Қатардың оң жағында тілсызық түймесі пайда болады. Оны шертіп, көрінген тізімнен қажеттісін таңдау керек. Мысалы, өріс өлшемі үшін экранға шығарылған тізімнен Бүтін (Целое) қатарын шерту (тізімде көрінген Байт (байт) - [0; 255], Бүтін (Целое) - [-32708; 32767], Ұзын бүтін (Длинное целое) - [-2147483648; 2147483647], Жылжымалы нүктелі (С плавающей точкой (4 байт) ) - [-1. 401298Е-45; 3. 402823Е+38] аралықтарында сақталатын сандар) .

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Delphi тілінде деректер модулін құрастыру және оны пайдалану
Delphi ортасының мәзір терезесі және саймандар тақтасы
Delphi ортасында жолдарды, жазбаларды өңдеу
Delphi ортасының интерфейсі. Оқиға және оқиғаны өңдеу процедурасы
Delphi және мәліметтер қоры сервері
XXI ғасыр елімізде қоғамдық информатикаландыру
Dеlрhi ортасында ақпараттық жүйе құру
Delphi программалау ортасы туралы жалпы түсінік
Объектты бағытталған программалау
Delphi программалау ортасы жайлы
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz