
- •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;
Var j:integer;
R:TRect;
ctr:TControl;
begin
nmComp:=''; ctr:=nil;
DragQueryFile(THandle(Msg.WParam),0,drFile,SizeOf(drFile));
DragQueryPoint(THandle(Msg.WParam),XYPoint);
DragFinish(THandle(Msg.WParam));
for j := 0 to ComponentCount-1 do begin
If (Components[j] is tdbImage) then begin
ctr:= Components[j] as TControl;
R.Left :=ctr.Left+paLeft.Left;R.Top :=ctr.Top+paLeft.Top;
R.Right := R.Left+ctr.ClientWidth;R.Bottom :=R.Top+ctr.ClientHeight;
With R do
if (XYPoint.x >Left) and(XYPoint.x <Right) and
(XYPoint.y >Top) and(XYPoint.y <Bottom) then begin
nmComp:= ctr.Name;Break;
end;
end;
end;
if nmComp<>'' then ShowMessage(nmComp);
//Отладочная строка:
fmMain.Caption:= IntToStr(XYPoint.x)+'-'+IntToStr(XYPoint.y)+' / '+
IntToStr(R.Left)+'-'+IntToStr(R.Top)+'-'+
IntToStr(R.Right)+'-'+IntToStr(R.Bottom);
end;
Жобаны қайтадан орындауға жіберіңіз және тасымалдау аяқталғаннан кейін программа DBImage компонентінің атының дұрыстығы туралы хабар беретініне көз жеткізіңіз.
Бізге алгоритмнің d) және e) пункттерін іске асыру қалды. Жұмыс сенімді болуы үшін қолданушыға .bmp кеңейтілуі бар файлдарды тасымалдауға рұқсат береміз. Ол үшін мәтінге төменде қалың шрифтпен берілген жолды қосып, (отладочную) жолды алып тастаңыз :
procedure TfmMain.WMDropFiles(var Msg: TMessage);
var j:integer;
R:TRect;
ctr:TControl;
dbIM:TDBImage;
begin
nmComp:='';ctr:=nil;dbIm:=nil;
DragQueryFile(THandle(Msg.WParam),0,drFile,SizeOf(drFile));
DragQueryPoint(THandle(Msg.WParam),XYPoint);
DragFinish(THandle(Msg.WParam));
for j := 0 to ComponentCount-1 do begin
if (Components[j] is TDBImage) then begin
ctr:= Components[j] as TControl;
R.Left :=ctr.Left+paLeft.Left;R.Top :=ctr.Top+paLeft.Top;
R.Right := R.Left+ctr.ClientWidth;R.Bottom :=R.Top+ctr.ClientHeight;
With R do
if (XYPoint.x >Left) and(XYPoint.x <Right) and
(XYPoint.y >Top) and(XYPoint.y <Bottom) then begin
nmComp:= ctr.Name;Break;
end;
end;
end;
if nmComp<>'' then begin
dbIM:=ctr As TDBImage;
If not(dbIm is tdbImage) then Exit;
if dbIM=nil then Exit;
if not(ExtractFileExt(drFile)='.bmp') then Exit;
try
if dbIM.DataSource.State <> dsEdit then dbIM.DataSource.Edit;
dbIM.Picture.LoadFromFile(drFile);
dbIM.DataSource.DataSet.Post;
except
ShowMessage('Ошибка записи в БД изображения из файла:'+#13#10+drFile);
end;
end;
end;
Әртүрлі нақты суреттерді формаға тасымалдау программасының жұмысын тексеріңіз: