- •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;
Қадам 1. Мқ мен динамикалық байланыс
Модульдің формасында ауыспалы жолдық типті және оған ConnectionString қасиетіндегі AdoQuery1 компонентасын меншіктейік.
Ол үшін Ctrl+C пернелерүйлесімділігі арқылы объектілер инспекторларының қасиетін көшіріп, содан кейін модульдің формасына қойыңыз. Жол ұзақ болғандықтан оны бірнеше жолдарға бөлу керек болады. Нәтижесінде сізде келесідей шығуы керек (қарамен белгіленген):
……………………………………………………….
var
fmMain: TfmMain;
NameSortField:string;Desc:boolean;
var ConStr:string =
'Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data ' +
'Source=C:\Мои Документы\Иванов\BDMyWorld.mdb;Mode=Share Deny None;Ext' +
'ended Properties="";Jet OLEDB:System database="";Jet OLEDB:Regis' +
'try Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type' +
'=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bu' +
'lk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Data' +
'base Password="";Jet OLEDB:Create System Database=False;Jet OLED' +
'B:Encrypt Database=False;Jet OLEDB:Don'#39't Copy Locale on Compact=' +
'False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:S' +
'FP=False' ;
implementation
uses SplshWnd, unRep;
……………………………………………………….
Мәтіннің жолдары басқадай қосылып тұрулары да мүмкін, ол негізінен провайдерлерге (сіз, МҚ мен байланысқан) байланысты.
МҚ – ның файылында ұйымдастырылған жол: Source=C:\Мои Документы\Иванов\BDMyWorld.mdb;
Жол Source= символының бірізділігінен басталады нүктелі үтірмен аяқталады. Айтылғанды жаңа бір бағдарлама ішіндегі бағдарламаны жасайтын, жолдардың қиылысуында және оны басқаға ауыстыруында қолданайық.
Директивадан кейін модуль формасына {$R *.dfm} төменде берілген мәтінді енгізіңіз:
……………………………………………………….
{$R *.DFM}
procedure ChangeBasePath(var scon:string;sbase:string);
var j1,j2:integer;
begin
j1:=Pos('Data Source=',scon);
if j1>0 then begin
repeat
Inc(j1);
until scon[j1]='=';
Inc(j1);J2:=J1;
repeat
Inc(j2);
until scon[j2]=';';
Delete(scon,j1,j2-j1);
Insert(sbase,scon,j1);
end;
end;
function FindFileBD(nmFileBD:string;var scon:string; var dlg:TOpenDialog):string;
var sb:string;
begin
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);
end
else
begin
ShowMessage('Не найден файл БД:'+#13#10+sb+#13#10+'До свидания !');
sb:='';
end;
end;
Result:=sb;
if sb<>'' then ChangeBasePath(ConStr,sb);
end;
……………………………………………………….
Тапсырма: Бағдарлама ішіндегі бағдарламалар алгоритімімен танысып, оларға комментарии жасаңыз.
Dialogs бетінен TOpenDialog компонентін формаға орналастырыңыз. Name қасиетіне dlgBD мағынасын беріңіз.
Енді төмендегі қара шрифтпен жазылғанды өндеуші OnCreate формасына енгізіңіз:
procedure TfmMain.FormCreate(Sender: TObject);
