Жойылған деректер модулдері
ҚАЗАҚСТАН РЕСПУБЛИКАСЫ ҒЫЛЫМ ЖӘНЕ
Т.РЫСҚҰЛОВ АТЫНДАҒЫ ҚАЗАҚ ЭКОНОМИКАЛЫҚ УНИВЕРСИТЕТІ
Курс жұмысы
Тақырыбы: Delphi тілінде деректер модулін
және оны пайдалану
Жетекші: доцент, э.ғ.к.
Орындаған:
Мамандығы:
Тобы:
Алматы-2005
Мазмұны
1. Кіріспе.
1.1. Модулдердің бір-бірімен байланысу қасиеттері..........................5
1.2. Модулдердегі жарияланған объектілерге қол
2. Delphi
2.1. Модулдер структурасы.................................................................14
2.2 Delphi ортасының деректер базасына
3. Модулдер
3.1. Модуль мәтінін меңгеру
3.2. Delphi тіліндегі жойылған
Қорытынды..........................................................................................23
Қолданылған оқулықтар тізімі..........................................................24
Кіріспе. Delphi ортасындағы модулдер
Модулдер- программаның жеке бір
Модулдер – орындалатын бөлімнің (интерфейстік)
Программада үнемі бір ғана емес,
● PAS файлы - программа
көшірмесінен тұрады;
● DFM файлында – форма
● DCU файлында – PAS
машиналық инструкцияға айналдырудан алынған нәтиже
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,
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
Аяқтау бөлімінде негізгі программа жұмысын
Егер инициалдалынған бөлімдерде бірнеше модуль
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,
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 –модулдің интерфейстік бөлімін көрсететін,
Initialization –модулдің инициалдалынған бөлімін бастайтын
Finalization –модулдің аяқтау бөлімін бастайтын
Программа терминаторы сияқты модуль терминаторы
unit Unit1;
interface
//Интерфейстік жариялау секциясы
implementation
//Жүзеге асыру секциясы
end.
Модуль структурасы міне осындай түрде
Интерфейстік жариялау секциясында басқа программалық
Деректер модулдерінің өздерімен байланысқан терезелері
Деректер модулінің “көрінбейтін” терезесі осындай
2.2. Delphi ортасының деректер базасына
Delphi ортасының деректер базасына арналған
Динамикалық-кітапхана модулдері
Windows ортасында кеңінен қолданылатын динамикалық
Динамикалық- кітапхана модулдері
DLL-дің өңделініп жасалынуы үшін арнайы
Пакеттер
Программалар мен орта немесе
Командалар ағынының модулдері
Ағындар модулдері программалар фрагменттері мен
Командалар ағындарының механизмі Windows
3. Модуль файлдарына сипаттама
3.1 Модуль мәтінін толық меңгеру
Модуль мәтініне Delphi ортасына сияқты
Delphiмен бірлесе отырып модулдер мәтінін
Программист компиляцияланған «басқа» модуль ала
Delphi ортасының 7-версиясында PAS
Компиляциядан кейін әрбір осындай файл
PAS және DFM кеңейтулері
Delphi ортасының алдыңғы версияларындағы
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.
Программист осындай формат түріндегі
Форманы сипаттайтын файл форматын таңдау–ортаның
параметрлерін бір түрге келтіру диалогтік
командасымен ашылады. Оны қолмен өзгерту
кеңейтуі бар оның тыйым салынған
3.2. Delphi тіліндегі жойылған
жасау.
Қазіргі кезде жойылған деректер базасымен
Delphi тіліндегі жойылған деректер және
Бұл жалпы жағдайда келесі элементтерден
1. Жойылған деректер модулдері.
COM, DCOM немесе CORBA серверлері
Ақпарат тасымалдаушысы –жойылған деректер
Байланыс компоненттері.
Жеке құралатын системалар арасындағы байланысты
Клиенттік ұсыныстар.
Жойылған деректер модулдеріне сұраныс жіберетін
Міне осындай барлық элементтердің жұмыстары
клиенттік ұсыныс серверлік компьютерлерде орналасқан
TclRMD.
Мысал ретінде жойылған деректер модулдерінен
Содан кейін оған жойылған деректер
CoClass Name терезесіне деректер
Бұл класс интерфейстік бір атпен
Қорытынды
Сонымен, модуль деп – программаның
Delphi ортасы программаға қосылған әрбір
Мысалы, Delphi ортасының деректер базасына
Қорытындылай келе, Delphi тіліндегі
Пайдаланылған оқулықтар тізімі :
А.Я. Архангельский. «Приемы программирования
В.Гофман, А.Хомоненко. «Delphi 5»
Фаронов. «Программирование высокого уровня»-2002г
Р.Баас, М.Фервай. «Delphi 5
25
Delphi тілінде деректер модулін құрастыру және оны пайдалану
Frame Relay топологиясы
Автоматтандырылған ақпараттық ресурс орталығы
ОПЕРАЦИЯЛЫҚ ЖҮЙЕНІҢ ЯДРОСЫ
Көкшетау қаласының жұмыспен қамту және әлеуметтік бағдарламаларға арналған деректер қорын құру
Қолданбалы программалық қамсыздандыру
Жойылған мәліметтер қорлары
Тұрғын-үй бөлмелерін жарықпен және де жылумен қамтамасыз етудегі жинақталған жүйенің автоматты басқаруының сымсыз жүйелерін зерттеу
Кестенің құрылымын құру суреті
SCADA TRACE MODE біріктірілген құрал - жабдық жүйесінің мүмкіндіктері