Жойылған деректер модулдері
Тақырыбы: Delphi тілінде деректер модулін құрастыру
және оны пайдалану
Мазмұны
Кіріспе
1. Delphi ортасындағы модулдер типіне түсінік
1.1. Модулдердің бір-бірімен байланысу қасиеттері
1.2. Модулдердегі жарияланған объектілерге қол жеткізу функциялары
2. Delphi ортасындағы деректер модулдеріне жалпы сипаттама.
2.1. Модулдер структурасы
2.2 Delphi ортасының деректер базасына арналған негізгі компоненттері
3. Модулдер файлдарына жалпы сипаттама.
3.1. Модуль мәтінін меңгеру әдістері
3.2. Delphi тіліндегі жойылған деректер модулдерімен жұмыс
Қорытынды
Қолданылған оқулықтар тізімі
Кіріспе.
Delphi ортасындағы модулдер типіне түсінік.
Модулдер- программаның жеке бір бөліктерін орналастыруға арналған
Модулдер – орындалатын бөлімнің (интерфейстік) әр түрлі компоненттерінен
Программада үнемі бір ғана емес, бірнеше кейбір кездерде
● PAS файлы - программа кодының терезесінен алынған
көшірмесінен тұрады;
● DFM файлында – форма терезесінің құрамындағы деректер
● DCU файлында – PAS және DFM файлдарынан
машиналық инструкцияға айналдырудан алынған нәтиже болады.
DCU файлы компилятор арқылы құрылады және базаны
Delphi тіліндегі модулдердің ең кең таралған типі болып
unit Unit1;
TForm1 = class(TForm)
Form1: TForm1;
Мысалы, модулдердің интерфейстік секцияларында бір тип, яғни
Кластың жазылуы мынандай болады:
type
TfmExample = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
Осыдан байқап тұрғанымыздай, кластар Delphi ортасының қуатты мүмкіндіктерін
1. Delphi ортасындағы модулдер типі.
Модуль – форманың интерфейстік бөлімінде сәйкес терезелік кластар
Модулдер тақырыбы және олардың бір-бірімен
байланысы.
Модуль тақырыбы Unit тыйым салынған сөзінен жәнекелесі модуль
Болып бір-бірінен үтір арқылы ажыратылған модул аттары табылады.
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 жариялылығы қолданылса, онда ол негізгі программаның
Модулдердің интерфейстік бөлімі.
Бұл бөлім Interface тыйым салынған сөзімен ашылады.
unit Cmplx;
interface
type
Complex = record
re,im:real;
end;
function AddC(x,y :Complex) :Complex;
function MulC(x,y :Complex) :Complex;
Егер төменде басқа модулдерге ұсынылған сөйлемді жазсақ, онда
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.
Кішігірім программалар тақырыптарын қысқа түрде жарияланатындай етіп келтірген
begin
.....
end;
Инициалдану және аяқтау бөлімдері.
Модулдердің бұл бөлімдері көбінесе initialization және finalization бастаушы
Аяқтау бөлімінде негізгі программа жұмысын аяқтағаннан кейін орындалатын
Егер инициалдалынған бөлімдерде бірнеше модуль болатын болса, онда
1.2. Модулдердегі жарияланған объектілерге қол жеткізу.
Біз мысалға комплекстік сандар арифметикасын іске асыратын модуль
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 командасын таңдап алу
Мысалы, bbRun батырмасын әр басқан сайын оқу программасының
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.im)+')'+Operation+
'('+FormatFloat('+0.0000;-0.0000',y.re)+
FormatFloat('+0.0000j;-0.0000j',y.im)+'='+
FormatFloat('+0.0000;-0.0000',z.re)+
FormatFloat('+0.0000j;-0.0000j',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.
Орындалатын бөлімнің ең басындағы Cmplxuses сілтемесіне көңіл аударайық.
бас менюдегі File-Use Unit командасын таңдап алып және
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
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 тілінде жазылған мәтіннің жобалаушы файлдардан
2. Delphi ортасындағы деректер модулдеріне жалпы сипаттама.
2.1. Модулдер структурасы.
Кез-келген модулдердің структурасы мынандай болады:
● Тақырып Unit
●interface. Интерфейстік жариялау
секциясы.
● implementation. Жүзеге асыру
секциясы.
● initialization. Терминатор.
● finalization
end
Мұндағы Unit –модуль тақырыбын көрсететін тыйым салынған сөз(бірлік);
Interface –модулдің интерфейстік бөлімін көрсететін, ал implementation –орындалатын
Initialization –модулдің инициалдалынған бөлімін бастайтын тыйым салынған сөз.
Finalization –модулдің аяқтау бөлімін бастайтын тыйым салынған сөз(аяқтау);
Программа терминаторы сияқты модуль терминаторы болып
unit Unit1;
interface
//Интерфейстік жариялау секциясы
implementation
//Жүзеге асыру секциясы
end.
Модуль структурасы міне осындай түрде құрылатын төрт түрлі
Интерфейстік жариялау секциясында басқа программалық модулдерге “көрінетін”
Деректер модулдерінің өздерімен байланысқан терезелері бар, бірақ бұл
Деректер модулінің “көрінбейтін” терезесі осындай компонентер және олармен
2.2. Delphi ортасының деректер базасына арналған негізгі
Delphi ортасының деректер базасына арналған негізгі компонентеріне мыналар
Динамикалық-кітапхана модулдері
Windows ортасында кеңінен қолданылатын динамикалық қосылатын кітапханаларды құру
Динамикалық- кітапхана модулдері Delphi
DLL-дің өңделініп жасалынуы үшін арнайы жасалынған. Міне осындай
Пакеттер
Программалар мен орта немесе Delphi ортасы мен
Командалар ағынының модулдері
Ағындар модулдері программалар фрагменттері мен процессор уақытын және
Командалар ағындарының механизмі Windows 32-разрядты версиясында пайдаланылады
3. Модуль файлдарына сипаттама
3.1 Модуль мәтінін толық меңгеру үшін қолданылатын әдістер.
Модуль мәтініне Delphi ортасына сияқты программист те оңай
Delphiмен бірлесе отырып модулдер мәтінін толық меңгеру –егер
Программист компиляцияланған «басқа» модуль ала отырып, элементтердің
Delphi ортасының 7-версиясында PAS және DFM
Компиляциядан кейін әрбір осындай файл үшін DCU кеңейтулері
PAS және DFM кеңейтулері бар файлдары
Delphi ортасының алдыңғы версияларындағы DFM файлдары
Object Form1:TForm1
Left=272
Top=107
Width=544
Height=375
Caption=’Form1’
………………………………
Object Button1:TButton
Left=32
Top=24
Width=75
Height=25
Caption=’Button1’
TabOrder=0
end;
end.
Программист осындай формат түріндегі форманы сипаттайтын файлды
Форманы сипаттайтын файл форматын таңдау–ортаның
параметрлерін бір түрге келтіру диалогтік терезесінің Designer
командасымен ашылады. Оны қолмен өзгерту көптеген қателер тудыруы
кеңейтуі бар оның тыйым салынған көшірмесін пайдалана отырып,
3.2. Delphi тіліндегі жойылған деректер модулдерімен жұмыс
жасау.
Қазіргі кезде жойылған деректер базасымен жұмыс жасау кең
Delphi тіліндегі жойылған деректер және деректер модулдерімен жұмыс
Бұл жалпы жағдайда келесі элементтерден тұрады:
1. Жойылған деректер модулдері.
COM, DCOM немесе CORBA серверлері –клиенттер қол жеткізуін
Ақпарат тасымалдаушысы –жойылған деректер модулдерінде орналасқан объектілер
Байланыс компоненттері.
Жеке құралатын системалар арасындағы байланысты қамтамасыз етеді.
Клиенттік ұсыныстар.
Жойылған деректер модулдеріне сұраныс жіберетін және деректер жиыныналуды
Міне осындай барлық элементтердің жұмыстары келесі түрде ұйымдастырылады:
клиенттік ұсыныс серверлік компьютерлерде орналасқан жойылған деректер
TclRMD.
Мысал ретінде жойылған деректер модулдерінен тұратын серверден
Содан кейін оған жойылған деректер модулдерін серверге
CoClass Name терезесіне деректер модулдері құрылған интерфейс
Бұл класс интерфейстік бір атпен экспонделінеді және басында
Қорытынды
Сонымен, модуль деп – программаның жеке бір бөлігін
Delphi ортасы программаға қосылған әрбір терезені өз модулімен
Мысалы, Delphi ортасының деректер базасына арналған негізгі компоненттерінің
Қорытындылай келе, Delphi тіліндегі деректер модулдері диаграммалар
Пайдаланылған оқулықтар тізімі :
А.Я. Архангельский. «Приемы программирования в Delphi» М:
В.Гофман, А.Хомоненко. «Delphi 5» -Санкт-Петербург-1999г.
Фаронов. «Программирование высокого уровня»-2002г
Р.Баас, М.Фервай. «Delphi 5 для пользователя» К-2000г.
21
Delphi тілінде деректер модулін құрастыру және оны пайдалану
Frame Relay топологиясы
Автоматтандырылған ақпараттық ресурс орталығы
ОПЕРАЦИЯЛЫҚ ЖҮЙЕНІҢ ЯДРОСЫ
Көкшетау қаласының жұмыспен қамту және әлеуметтік бағдарламаларға арналған деректер қорын құру
Қолданбалы программалық қамсыздандыру
Жойылған мәліметтер қорлары
Тұрғын-үй бөлмелерін жарықпен және де жылумен қамтамасыз етудегі жинақталған жүйенің автоматты басқаруының сымсыз жүйелерін зерттеу
Кестенің құрылымын құру суреті
SCADA TRACE MODE біріктірілген құрал - жабдық жүйесінің мүмкіндіктері