
- •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;
dbIM:TDBImage; //Ссылка на компонент, из которого вызвано меню
nmField:string; //Имя поля БД, с которым связан компонент
tmf:TMemoField; //Ссылка на поле БД, с которым связан компонент
begin
nmField:=''; dbIM:=nil;
// Запрет – разрешение пунктов меню:
With MenuClip do begin
Items[1].Enabled := Clipboard.HasFormat(CF_PICTURE); //Вставка
if PopupComponent is TDBImage then dbIM:=(PopupComponent as TDBImage);
if dbIm<>nil then begin
nmField:=dbIM.DataField;
tmf:=dbIM.DataSource.DataSet.FieldByName(nmField) as TMemoField;
if tmf<>nil then begin
if tmf.BlobSize>0 then Items[2].Enabled :=True
else Items[2].Enabled :=False; //Копирование
Items[3].Enabled :=Items[2].Enabled; //Вырезка
Items[4].Enabled :=Items[2].Enabled; //Сохранение
Items[5].Enabled :=Items[2].Enabled; //Очистка
end;
end;
//Присвоить номера картинок для пунктов меню:
for j:=0 to Items.Count -1 do
if Items[j].Enabled then Items[j].ImageIndex:=2*j
else Items[j].ImageIndex:=2*j+1;
end;
end;
Программаны жіберіп, оны тексеріңіз. Егер алмасу буферінде графикалық сурет бар болса, онда қою командасы рұқсат етілген болып есептеледі, ал басқа жағдайда тосқауыл қойылған болып есептеледі.
3-қадам. Қалқып шығатын меню командаларын программалау.
Формаға Dialogs терезесінен OpenPictureDialog және SavePictureDialog, компоненттерін орналастырыңыз, содан кейін олардың Name қасиетіне dlgOpenImage және dlgSaveImage мағыналарын меншіктеңіз..
Дизайнер менюінде щелкните по пункту «Открыть» пункті бойынша шертіп, төменде көрсетілген процедураны құрыңыз:
procedure TfmMain.mcOpenClick(Sender: TObject);
Var dbIm:tdbImage;
begin
If Not(dlgOpenImage.Execute) then Exit;
dbIm:=nil;
With MenuClip do
if PopupComponent is TDBImage then dbIM:=(PopupComponent as TDBImage);
if dbIm<>nil then begin
if dbIM.DataSource.State <> dsEdit then dbIM.DataSource.Edit;
dbIM.Picture.LoadFromFile(dlgOpenImage.FileName);
dbIM.DataSource.DataSet.Post;
end;
end;
Программаны орындауға жіберіңіз және «Открыть» командасының жұмысын кез- келген сурет арқылы тексеріңіз.
2-ші пункттегідей етіп менюдің басқа пункттері үшін төменде көрсетілген процедураны құрыңыз:
procedure TfmMain.mcPasteClick(Sender: TObject);
var dbIM:TDBImage;
begin
dbIm:=nil;
With MenuClip do
if PopupComponent is TDBImage then dbIM:=(PopupComponent as TDBImage);
if dbIm<>nil then begin
try
dbIm.PasteFromClipboard;
dbIM.DataSource.DataSet.Post;
except
ShowMessage('Буфер не содержит необходимый рисунок.');
end;
end;
end;
procedure TfmMain.mcPasteClick(Sender: TObject);
var dbIM:TDBImage;
begin
if Not(Clipboard.HasFormat(CF_PICTURE)) then Exit;
dbIm:=nil;
With MenuClip do
if PopupComponent is TDBImage then dbIM:=(PopupComponent as TDBImage);
if dbIm<>nil then begin
try
dbIm.PasteFromClipboard;
dbIM.DataSource.DataSet.Post;
except
ShowMessage('Ошибка сохранения рисунка.');
end;
end;
end;
procedure TfmMain.mcCopyClick(Sender: TObject);
var dbIM:TDBImage;
begin
dbIm:=nil;
With MenuClip do
if PopupComponent is TDBImage then dbIM:=(PopupComponent as TDBImage);
if dbIm<>nil then dbIM.CopyToClipboard;
end;
procedure TfmMain.mcCutClick(Sender: TObject);
var dbIM:TDBImage;nmField:string;
begin
dbIm:=nil;
With MenuClip do
if PopupComponent is TDBImage then dbIM:=(PopupComponent as TDBImage);
if dbIm<>nil then begin
dbIM.CutToClipboard;nmField:=dbIM.DataField;
if dbIM.DataSource.State <> dsEdit then dbIM.DataSource.Edit;
dbIM.DataSource.DataSet.FieldByName(nmField).Clear;
dbIM.DataSource.DataSet.Post;
end;
end;
procedure TfmMain.mcSaveClick(Sender: TObject);