Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Аршын апай.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.52 Mб
Скачать

Қадам 1. Мқ мен динамикалық байланыс

  1. Модульдің формасында ауыспалы жолдық типті және оған ConnectionString қасиетіндегі AdoQuery1 компонентасын меншіктейік.

  2. Ол үшін 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;

……………………………………………………….

Мәтіннің жолдары басқадай қосылып тұрулары да мүмкін, ол негізінен провайдерлерге (сіз, МҚ мен байланысқан) байланысты.

  1. МҚ – ның файылында ұйымдастырылған жол: Source=C:\Мои Документы\Иванов\BDMyWorld.mdb;

  2. Жол Source= символының бірізділігінен басталады нүктелі үтірмен аяқталады. Айтылғанды жаңа бір бағдарлама ішіндегі бағдарламаны жасайтын, жолдардың қиылысуында және оны басқаға ауыстыруында қолданайық.

  3. Директивадан кейін модуль формасына {$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;

……………………………………………………….

Тапсырма: Бағдарлама ішіндегі бағдарламалар алгоритімімен танысып, оларға комментарии жасаңыз.

  1. Dialogs бетінен TOpenDialog компонентін формаға орналастырыңыз. Name қасиетіне dlgBD мағынасын беріңіз.

  2. Енді төмендегі қара шрифтпен жазылғанды өндеуші OnCreate формасына енгізіңіз:

procedure TfmMain.FormCreate(Sender: TObject);