
- •050703 «Ақпараттық жүйелер» мамандығының
- •050703 «Ақпараттық жүйелер» мамандығының студенттеріне
- •Тәжірибелік жұмыс №1.
- •2 Қадам – қосымшаның басты формасын қалыптастыру
- •3 Қадам – ado технологиясы бойынша Ms-Access мқ-на қосылу
- •Тәжірибелік жұмыс №3. Сұрауларды құру. Іздеу және фильтрация.
- •Қадам 1 – tRxDbGrid бағана атауларының батырмаларымен жұмыс
- •Қадам 2 – мқ – на sql- сұрауының бағдарламалық өзгеруі
- •Var strSql:string;
- •Қадам 3 – мәліметтерді фильтрациялау және іздеу
- •Var I:integer;
- •If (Fields[I] is tIntegerField) then
- •Var s,sf:string;I,j:longint;
- •If CheckFiltr.Checked then begin
- •Тәжірибелік жұмыс №4. QuickReport арқылы есеп беруді құрайық
- •Тәжірибелік жұмыс №5. Мқ - ында «MyWorld» тасымалдауы
- •Қадам 1. Мқ мен динамикалық байланыс
- •Тапсырма: Бағдарлама ішіндегі бағдарламалар алгоритімімен танысып, оларға комментарии жасаңыз.
- •Var sbase:string;
- •Қадам 2 – ini-файлын құру
- •Қадам 3 – ini-файлын қолдану
- •Тәжірибелік жұмыс№6. «MyWorld» мқ құру. Алмастыру буферімен және графикалық бейнелермен жұмыс
- •DataControls бетінен біздің бастапқы формамыздың проектісіндегі dbImage-дің 3 компонентіне paLeft панелін ретпен жоғарыдан төмен орналастырыңыз.
- •Var j:integer;
- •Var dbIm:tdbImage;
- •If Not(dlgOpenImage.Execute) then Exit;
- •Var dbIm:tdbImage;
- •If Not(dlgSaveImage.Execute) then Exit;
- •Var dbIm:tdbImage;nmField:string;
- •XyPoint:tPoint;
- •Var j:integer;
- •If (Components[j] is tdbImage) then begin
- •If not(dbIm is tdbImage) then Exit;
Қадам 2 – ini-файлын құру
Delphi менюінде File, New - ді таңдаңыз да шыққан диалогты терезесінде «New» - дан «Text» белгісін таңдап, «OK» басыңыз.
Код редакторында 2 бетті көресіз, олардын біреуі «File1.txt» болып аталады:
Delphi менюінде File, Save As таңдаңыз да, пайда болған диалогты терезеде жаңа мәтіндік файлды осы папкада сақтаңыз, «MyWorld.INI» аты арқылы сақталған «MyWorld» проекті орналасқан жерде:
Енді мәтіндік редакторда MyWorld.INI бетінде төмендегі екі жолды басыңыз,
[Database]
PathBase=C:\Мои документы\Temp\BDMyWorld.mdb
«Сохранить» батырмасын басыңыз.
INI–файлын құрдық, онда бір секция – Database және бір кілт – PathBase бар. Осындай файлды «Блокнот» бағдарламасы арқылы құруға да болады, бірақ Delphi де құрған ыңғайлы.
Қадам 3 – ini-файлын қолдану
Енді бағдарлама жұмысының алгоритімінің басын келесі түрдей ауыстырамыз:
Бағдарлама ашылған жерден INI-файлын осы папкада іздейміз.
Егер де ол бар болса, оны INI-файлында көрсетілген МҚ – ның жолына сәйкес ашамыз. Егер де ол жоқ болса, оны INI-файлында МҚ – ның жолы болмайды да келесі f) пунктіне көшеміз.
Егер де ашылған папкада INI-файлы жоқ болса, онда e) пунктіне көшеміз.
Егер де INI-файлы болса және де Database секциясы немесе PathBase кілті табылмаса, онда қате туралы мәлімет шығарамыз да келесі f) пунктіне көшеміз.
Ашылған бағдарлама папкасында МҚ файылын іздейміз. Егер ол болса, оны ашып жұмысты орындаймыз. Егер де ол жоқ болса, онда f) пунктіне көшеміз.
МҚ – ының файылын табу үшін экранға диалогты терезесін шығарамыз. Егер қолданушы оны диалогты терезеде таба алмаса, онда олармен қоштасып жұмысты аяқтаймыз.
Қолданушы МҚ – ының файылын диалогты терезеде тапса, онда оны бағдарламада берілген жолды сақтау керек. Нақтыландыратын жауапты табылған жолды INI-файлына сақтаймыз.
Табылған МҚ - мен байланысамыз да бағдарламаның жұмысын бастаймыз.
Жаңа алгоритмді тексеру және нақтылау үшін төмендегі мысалдарды орындаймыз:
Қолданылатын модульдерге inifiles модулін қосамыз.
Модуль формасының мәтініне өзгертулер енгіземіз, төмендегі қара шрифтпен жазылғандарды:
function FindFileBD(nmFileBD,nmIniFil:string;var scon:string; var dlg:TOpenDialog): string;
var sb,sIni:string;IniFil:TIniFile;
begin
sb:='';sIni:=ExtractFilePath(ParamStr(0))+ nmIniFil;
if FileExists(sIni) then
begin
IniFil := TIniFile.Create(sIni);
try
sb:=IniFil.ReadString('Database', 'PathBase', '');
if sb='' then ShowMessage('Ошибка INI-файла !'+#13#10+sIni);
finally
IniFil.Free;
end;
end;
if sb='' then sb:= ExtractFilePath(ParamStr(0))+ nmFileBD;
if Not(FileExists(sb)) then
begin
//Настройка диалога:
dlg.Filter:='Файл ' +nmFileBD+'|'+nmFileBD;
dlg.Title :='Найдите файл базы данных !';
dlg.InitialDir:=ExtractFilePath(ParamStr(0));
if dlg.Execute then begin
sb:=dlg.FileName;ChangeBasePath(scon,sb);
if MessageDlg('Сохранить путь к БД в настройках программы?',
mtConfirmation,[mbYes,mbNo],0)=mrYes then begin
IniFil := TIniFile.Create(sIni);
try
IniFil.WriteString('Database', 'PathBase', sb);
except
ShowMessage('Ошибка INI-файла !'+#13#10+sIni);
end;
IniFil.Free;
end;
end else begin
ShowMessage('Не найден файл БД:'+#13#10+sb+#13#10+'До свидания !');
sb:='';
end;
end;
Result:=sb;
if sb<>'' then ChangeBasePath(ConStr,sb);
end;
procedure TfmMain.FormCreate(Sender: TObject);
var sbase:string;
begin
sbase:=FindFileBD('BDMyWorld.mdb','MyWorld.INI',ConStr,dlgBD);
if sbase<>'' then begin
ADOQuery1.Active :=False;
ADOQuery1.ConnectionString :=ConStr;
ADOQuery1.Active :=True;
NameSortField:=DBGrid1.Columns[0].FieldName;Desc:=False;
NewQuerySQL;
end else Application.Terminate;
end;
Назар аударыңыз! Келесі қадамға бармай тұрып, Active қасиетіне ADOQuery1 копонентасына False! мәнін беріңіз.
Қолданылған модельдерге inifiles модулін қосыңыз және проекті компилировать ету керек. Менюдан CTRL+F9 таңдап және далее, қате болмаса келесі істі орындаңыз.
Бағдарламаны проводник арқылы жіберіп, төмендегі тізімдер арқылы оның жұмысын тексеріңіз:
МҚ – ның файлы да INI-файлы да жіберу папкасында жоқ.
Тек қана INI-файлы жіберу папкасында бар.
МҚ – ның файлы да INI-файлы да жіберу папкасында бар.
INI-файлының ішінде қате бар, мысалы, Database секциясы жоқ, немесе PathBase кілті, немесе МҚ – на жол дұрыс көрсетілмеген.
Қандай да жағдайда бағдарлама жоғарыда жазылған алгоритмге сай жұмыс істеуі қажет.