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);
var sbase:string; begin
sbase:=FindFileBD('BDMyWorld.mdb',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;
Проект компиляциясын (CTRL+F9) орындаңыз. Егер де қате болмаса проекті сақтаңыз, меню қатарынан File, CloseAll таңдап бағдарламаның жұмысын тексеріңіз оны проводник арқылы жібересіз.
Бағдарлама дұрыс жұмыс істейтініне көз жеткізіңіз, файл BDMyWorld.mdb бағдарлама сақталған жерде тұрса. Ол үшін бір жерде Temp папкасын құрып оған BDMyWorld.mdb файлын және MyWorld.exe көшіріп алыңыз.
Temp папкасынан BDMyWorld.mdb файлын жойып тастап MyWorld.exe қайта жіберіңіз.
Осы терезеде өз папкаңызға барыңыз да BDMyWorld.mdb файлын тауып, «Открыть» батырмасын басыңыз және бағдарламаның дұрыс жұмыс істейтініне көз жеткізіңіз.
Бағдарламаны жауып оны проводник арқылы ашыңыз. Пайда болған диалогты терезеде «Отмена» батырмасын басыңыз, сол кезде экранда келесідей мәлімет шығуы керек:
11-сурет – Қателік туралы терезе
Енді Temp папкасына BDMyWorld.mdb файлын көшіріп алып, MyWorld.exe қайта ашыңыз. Бағдарлама ешқандай кедергісіз жұмыс жасауы керек.