Автор работы: Пользователь скрыл имя, 27 Декабря 2014 в 07:52, курсовая работа
Курстык жұмыс кіріспеден, екі бөлімнен, қорытындыдан және пайдаланған әдебиеттер тізімінен тұрады. Delphi – де программа дайындау, програма мәзірін құру, анимация, мультимедиа процестерін ұйымдастыру, OLE технологиясын пайдаланып, басқа офистік қосымшаларды шақыру, олармен жұмыс істеу және күрделі қосымшалар, анықтамалық және тестілеу жүйелерін, электронды оқулықтар, мәліметтер қорын және т.б. іс-әрекеттерді орындауға болады.Көптеген операторлардың жазылуы Турбо Паскальдағы сияқты. Бірақ, мұнда программалауды үйрену үшін обьект, оқиға, қасиет, әдіс, класс ұғымдарымен еркін танысып, компоненттерді пайдалану және түрлі командалардың жазылу түрлерін білу қажет.
Қарапайым жағдайда әр калонка үшін FieldName мүмкіндігінің белгісін орнату жеткілікті, ол жаз өрістің атын анықтайды, сондай-ақ Title мүмкіндік белгісі калонкада көрінетін болады. Калонка тақырыбын анықтайтын Caption
17 кестеде DBGridl компонентінің columns мүмкіндігінің белгілері келтірілген.
17 кесте. DBGrid1 компоненті.
Компонент |
FieldName |
Title . Caption |
DBGrid1. Columns [0] DBGrid1. Columns [1] |
Fam Name |
Фамилия Имя |
DBGrid1. Columns [2] DBGrid1 . Columns [ 3 ] |
Class Adr |
Класс Адрес, телефон |
Соңғысы, DBNavigator компонент формасына қосу керек, оны мәліметтер кесте- қатарының жұмысына қосу қажет ( DataSource мүмкіндігінен Table1 белгісін бер керек). Қосымша формасының түрі 16 суретте көрсетілген.
16 сурет. DBGrid1 компонентін құрғаннан кейінгі форма.
Осыдан кейін бағдарламаны көшіріп алып және жіберуге болады. Бағдарламаны жібергеннен кейін терезеде ақпарат пайда болуы үшін немесе егер мәліметтер базасы бос болса, жаңа ақпаратты енгізуге болады, Active мүмкіндігі мәліметтердің кесте қатары True белгісіне ие болуы керек.
Мәліметтер базасымен жұмыс, кесте түрінде көрсетілгендей көбінесе Microsoft Excel электрондық кестесімен жұмысқа ұқсайды, сондай-ақ мәтін беттерімен батырмамен парақтау (<Page Up> және <Page Down>), жолдан жолға орналасу арқылы мәліметтер базасының жазуын қарау мүмкін. <Ins> батырмасын басу арқылы жазуды қосу мүмкін, ал <Del> - ді басып жазуды өшіру, жазудың өрісіне өзгеріс енгізу үшін, курсорды оңға, солға жылжыту арқылы, қажет өрісті таңдап және <F2> батырмасын басу керек.
2.3.1. Мәліметтер базасынан ақпарат таңдау.
Қолданушының мәліметтер базасымен жұмыс кезінде, ереже бойынша оның барлық мазмұны емес, ал кейбір нақты ақпарат қызықтырады. Керек мәліметтерді жазуларды режимін көру арқылы табуға болады. Соған қарамастан мұндай іздеу қабілеті ыңғайсыз және нәтижесі аз. Мәліметтер базасымен басқару жүйесінің көпшілігі сауалды орындау жолымен керек ақпаратты таңдауды өткізуге мүмкіндік береді. Қолданушы анықталған ережелерге сәйкес сауалды құрастырады, оны қызықтыратын ақпарат қай критерилерді қанағаттандыру керектігін көрсете отырып, ал жүйе сауалды қанағаттандыратын жазуды шығарады. Жазуларды мәліметтер базасынан таңдау үшін, кейбір критерилерді растайтын, Query компоненті алдын-ала тағайындалған (17 сурет).
17 сурет. Query компонентінің белгісі.
Query компоненті Table компонентіне ұқсайды, бірақ соңғысына қарағанда ол мәліметтер базасының барлығын көрсетпейді, тек оның бөлігі- жазуды, сауал критериін қанағаттандырушы.
18 кесте. Query компонентінің мүмкіндігі.
Жетістік |
Анықтама |
Name
SQL
Active |
Компонент аты.Datasource компонентімен сауалдың орындалу нәтижесінің байланысы үшін жазуды қарауды қамтамасыз ететін, мысалы, DBGrid.
SQL тілінде жазылған мәліметтер базасына сауал (кестеге). True белгісінің мүмкіндігін беру кезінде сауалды орындау активтелінеді. |
Бағдарламаны өңдеу кезінде тапсырма беру үшін SQL мүмкіндігі SQL тілінде көрсетілген мәліметтерді таңдауға сауалды сақтау керек.
Мәліметтер кестесінен таңдауға сауалды жалпы түрде жіберу былайынан көрініс табады.
SELECT - өрістер тізімі, FROM кесте WHERE (Критериилер) ORDER BY өрістер тізімі, мұндағы:
SELECT —
жазуды таңдау басшылығы кесте
және мазмұнды өрістен шығару,
олардың аттары тізімде
FROM —
Кестенің атын анықтайтын
WHERE — таңдау критериін тапсыратын параметр. Қарапайым жағдайда критерий – бұл сақталған өрісті тексерудің нұсқауы;
ORDER BY –
жағдайды сұрайтын параметр
Мысалы, сауал
SELECT FAM, Name FROM ': Мектеп: school.db’ WHERE
(Class = '10a') ORDER BY Name, FAM
"Мектеп"
мәліметтер базасынан таңдауды
қамтамасыз етеді (School.db кестесінен)
class өрісінде орналасқан 10а мәтіні,
демек 10-а сынып оқушыларының
алфавит бойынша тізімін
Басқа мысал. Сауал.
SELECT Fam, Name FROM ":Мектеп:school.db" WHERE
(Fam > 'K') and (Fam < 'Л') ORDER BY Name, Fam
Оқушылар туралы ақпарат таңдауды қамтамасыз етеді, олардың фамилиясы К әріпінен басталады. Сауал құралған және SQL мүмкіндігіне жазылған болуы мүмкін, форманы өңдеу кезінде немесе бағдарламаның жұмысы кезінде. SQL мүмкіндігіне сауал жазу үшін форманы өңдеу үшін тізім редакторы қолданылады. (18 сурет) Object Inspector терезесінің
SQL мүмкіндігінің
жолағында үш нүктелі
18 сурет. "Мектеп" мәліметтер базасына сауалнама мысалы.
SQL мүмкіндігі
жолдар тізімін ұсынады. Сондықтан
бағдарлама жұмысы кезінде
With forml.Queryl do begin
Close; // жабық файл — орындалу нәтижесі
// алдыңғы сауалдың
SQL.Clear; // алдыңғы сауалдың мәтінін жою
// SQL мүмкіндігіне жаңа сауал жазамыз
SQL.Add('SELECT Fam, Name, Class1);
SQL.Add ('FROM "Мектеп: schooled"');
SQL.Add ('WHERE');
SQL.Add ('(FAM = '" + FAM + '")');
SQL.Add ('ORDER BY Name, Fam');
Open; // сауалды орындауды активтендіреміз.
End;
Келесі бағдарлама, ал сұхбаттық терезе 19 суретте, сауалдың өзгеру мүмкіндігін демонстрациялайды, анығырақ сауал критериі бағдарлама жұмысы кезінде. Бағдарлама оқушылар тізімінің түгел шығуын қамтамасыз етеді, оның бөлігіде. Мысалы сауалды орындаудың арқасында тек нақты оқушы туралы ақпарат шығады. Мәліметтер базасын қарау үшін және сауалдың орындалу нәтижесінде DBGrid1 компоненті қолданылады, ал , DataSourcel компоненті арқылы Table1 компонентімен қарым- қатынас жасайды (мәліметтер базасының барлығын көру кезінде) немесе Query компонентімен (сауал орындалуының нәтижесін көру кезінде).
19 сурет. «Мектеп» мәліметтер базасының формасы.
"Мектеп " Мәліметтер базасы
unit school2_;
Interface
Uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, Db,
DBTables, ExtCtrls, DBCtrls, StdCtrls;
type
TForm1=class(TForm)
Table1: TTable; // Кесте (барлық мәліметтер базасы)
Query1: TQuery; // Сұраныс (МБ қанағаттандырушы
критериін таңдап жазу)
DataSource1: TDataSource; // мәліметтердің түпнегізі
– кесте немесе сұраныс
DBGrid1: TDBGrid; // МБ кестені және қорытындысын
көрсету DBNavigator1: TDBNavigator;
DBText1: TDBText;
Button1: TButton; // сұраныс батырмасы
Button2: TButton; // Жазудың барлық батырмасы
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Var
Form1: TForm1;
Implementation
{$R *.DFM}
// Сұраныс белгішесінің батырмасы
procedure TForm1.Button1Click(Sender: TObject);
var
fam: string[30];
begin
fam:=InputBox('МБ ақпараттарын таңдау ',
'фамилияны көрсетіп және OK басыңыз.', '');
if fam <> '' // қолданушы фамилиясы
then
begin
with form1.Query1 do begin
Close; // Алдындағы сұраныстың қорытындысы
орындалғанда файлды жабу
SQL.Clear; // Алдыңғы сұраныстың мәтінін өшіру
// SQL қасиетіндегі жаңа сұранысты жазамыз
SQL.Add('SELECT Fam, Name, Class');
SQL.Add('FROM ":Мектеп:school.db"');
SQL.Add('WHERE');
SQL.Add('(Fam = "'+ fam + '")');
SQL.Add('ORDER BY Name, Fam');
Open; // Сұраныс орындалуын активтендіреміз
end;
{ *** Сұраныс критериінің
begin
Query1.Close;
Query1.SQL[3]:='(Fam="'+ fam + '")';
Query1.Open;
DataSource1.DataSet:=Query1;
end;
}
if Query1.RecordCount <> 0 then
DataSource1.DataSet:=Query1 // Сұраныстың орындалуы
қорытындысын көрсету
else begin
ShowMessage('МБ қанағаттандырушы сұраныс
критериінің мәтіні жоқ.');
DataSource1.DataSet:=Table1;
end;
end;
end;
// Жазудың барлық белгішесі
procedure TForm1.Button2Click(Sender: TObject);
begin
DataSource1.DataSet:=Table1; // мәліметтер түпнегізі
- кесте
end;
// форма екпіндісі
procedure TForm1.FormActivate (Sender: TObject);
begin
DataSource1.DataSet := Table1;
Table1.Active := True;
end;
End.
TForm1.Button1Click процедурасы сауалнама басқышына тию арқылы жіберіледі. Ол қолданушыдан жолды және жазуды қабылдайды.
SQL мүмкіндігін қабылдап сауал мәтінін құрады.Содан кейін бұл процедура
Open әдісін
шақыру арқылы сауалдың
SQL- сауал
мүмкіндігін өзгеру алдында close
әдісінің көмегімен жабылуы
Барлық жазулар басшылығын тию арқылы жіберілетін TForm1.Button2Click, процедурасы DataSourcel компоненті үшін мәліметтер қатары сапасында Table1 компонентін орнатады, сол арқылы мәліметтер базасының барлығын көру режиміне көшуді қамтамасыз ете отырып. Егер сауал SQL мүмкіндігінде қосымша форманы өңдеу кезінде жазылған болса, онда бағдарламаның жұмысы кезінде сауал критериі сауал мәтініне сәйкес жолдармен жай ауыстыруға болады.
Мысалы, сауал үшін.
SELECT DISTINCT FAM, Name, Class FROM ": Мектеп: school.db" WHERE
(Class= '10а') ORDER BY Name, FAM
Критериін ауыстыру нұсқауы мынадай болуы мүмкін:
forml.Query1.SQL [3] :='( FAM="' + fam+ '")'
SQL мүмкіндігі Strings типтер құрылым болып табылады, оның жолдары нөлден нөмірленетініне көңіл аудару қажет.
2.3.2. Динамикалық құрылатын псевдонимдер
Псевдонимді мәліметтер базасына қол жеткізу үшін қолдану мәліметтерді жүйеде орналастырудың бағдарлама тәуелсіздік қамтамасыз ететін, мәліметтермен жұмыс бағдарламасын және мәліметтер базасын компьютердің әртүрлі дискілерінде орналастыруды қолдануға мүмкіндік береді, соның ішінде жүйелікте. Қарапайым мәліметтер базасы үшін мәліметтер базасын жеке катологта орналастыру типтік шешім болып табылады. Осылайша мәліметтер базасымен жұмыс бағдарламасы әрқашан мәліметтер қай жерде орналасқанын біледі.
Мұндай BDE Administrator көмегімен псевдонимді құрудан бас тартуға болады және мәліметтер базасымен жұмыс бағдарламасын құру тапсырмасын сеніп тапсыруға болады. Оның үстіне псевдоним автоматты түрде бағдарламаны жібергенде құрылады және оның жұмысын аяқтаған кезде жойылатын болады. Таңқаларлығы мәліметтер базасын әкімшіліктендіруді жеңілдендіреді.
Төменде "Мектеп" мәліметтер базасымен жұмыс бағдарламасы нұсқа ретінде келтірілген, мәліметтер базасына қол жеткізу үшін динамикалық құрылған псевдоним қолданады.
"Мектеп " мәліметтер базасы (МБ псевдонимі динамикасы құрылады).
unit school3_;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, Db, DBTables, ExtCtrls, DBCtrls, StdCtrls;
Type
TForm1 = class (TForm)
Table1: TTable; // Кесте (барлық мәліметтер базасы)
Query1: TQuery; // Сұраныс (МБ қанағаттандырушы
критериін таңдап жазу)
DataSource1: TDataSource; // мәліметтер түпнегізі
- кесте немесе сұраныс
DBGrid1: TDBGrid; // МБ кестені және қорытындысын
көрсету
DBNavigator1: TDBNavigator;
DBText1: TDBText;
Button1: TButton; // Сұраныс батырмасы
Button2: TButton; // Жазу барлық батырмасы
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Var
Form1: TForm1;
Implementation
{$R *.DFM}
// Сұраныс батырмасының белгішесі
procedure TForm1.Button1Click(Sender: TObject);
var
fam: string[30];
begin
fam:=InputBox('МБ ақпараттарын таңдау',
'фамилияны көрсетіп және OK басыңыз.', '');
if fam <> '' // фамилия қолданушы
then
begin
with form1.Query1 do begin
Close; // Алдындағы сұраныстың қорытындысы
орындалғанда файлды жабу
SQL.Clear; // Алдыңғы сұраныстың мәтінін өшіру
// SQL қасиетіндегі жаңа сұранысты жазамыз
SQL.Add('SELECT Fam, Name, Class');
SQL.Add('FROM ":Мектеп:school.db"');
SQL.Add('WHERE');
SQL.Add('(Fam = "'+ fam + '")');
SQL.Add('ORDER BY Name, Fam');
Open; // Сұраныс орындалуын активтендіреміз
end;
if Query1.RecordCount <> 0 then
DataSource1.DataSet:=Query1 // Сұраныстың орындалуы
қорытындысын көрсету
else begin
ShowMessage('МБ қанағаттандырушы сұраныс
критериінің мәтіні жоқ.');
DataSource1.DataSet:=Table1;
end;
end;
end;
// Жазудың барлық белгішесі end;
End;
end;
end;
// Жазу батырмасының барлық белгішесі
Procedure TForm1.Button2Click (Sender: TObject);
begin
DataSource1.DataSet:=Table1; // мәліметтер түпнегізі
– кесте
end;
// форма активизациясы
procedure TForm1.FormActivate(Sender: TObject);
begin
with Session do
begin
Confirmed := cmSession;
try
{ Егер мәліметтер файлы сол каталогта
орналасқан болса, бағдарлама файлы орындалатын,
онда бағдарламада мәліметтер файлына
жол басшылық жолақтардан алынған болуы
мүмкін ExtractFilePath(ParamStr(0)) функциясының көмегімен..
Келтірілген мысалда мәліметтер файлы
бағдарлама каталогының DATA каталогында
орналасқан.}
Информация о работе Delphi ортасының жұмысына жалпы сипаттама