Кафедра меңгерушісі Джарасова Г. С


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



бет14/15
Дата08.06.2016
өлшемі3.72 Mb.
#121575
1   ...   7   8   9   10   11   12   13   14   15

Қадам 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);

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;


  1. Проект компиляциясын (CTRL+F9) орындаңыз. Егер де қате болмаса проекті сақтаңыз, меню қатарынан File, Close All таңдап бағдарламаның жұмысын тексеріңіз оны проводник арқылы жібересіз.

  2. Бағдарлама дұрыс жұмыс істейтініне көз жеткізіңіз, файл BDMyWorld.mdb бағдарлама сақталған жерде тұрса. Ол үшін бір жерде Temp папкасын құрып оған BDMyWorld.mdb файлын және MyWorld.exe көшіріп алыңыз.

  3. Temp папкасынан BDMyWorld.mdb файлын жойып тастап MyWorld.exe қайта жіберіңіз.

  4. Осы терезеде өз папкаңызға барыңыз да BDMyWorld.mdb файлын тауып, «Открыть» батырмасын басыңыз және бағдарламаның дұрыс жұмыс істейтініне көз жеткізіңіз.

  5. Бағдарламаны жауып оны проводник арқылы ашыңыз. Пайда болған диалогты терезеде «Отмена» батырмасын басыңыз, сол кезде экранда келесідей мәлімет шығуы керек:



  1. Енді Temp папкасына BDMyWorld.mdb файлын көшіріп алып, MyWorld.exe қайта ашыңыз. Бағдарлама ешқандай кедергісіз жұмыс жасауы керек.

INI-файлдары (Теориялық мәлімдемелер)


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

Бағдарламаны ашу барысында ол әр дайым оқыту компьютерлерінде МҚ – ын іздеу жайлы диалогты терезесін шығарып отырады, қолданушыға ол кедергі туғызады.

Осы жағдайдын алдын алу шартына INI-файлын қолдану болып табылады.

Бұл файлдар көптеген ОЖ Windowsта басқа да бағдарламаларды құру жағдайда қолданылады.

Delphi – да INI-файлмен жұмыс «TIniFile» классының «inifiles» модулі арқылы жүзеге асады.

INI –файлдарында секциялар мен кілттер бар, оларды аттары арқылы табады. Windows папкасынан TELEPHON.INI мәліметтер файлын мысалға келтірейік:

[Providers]

NumProviders=2

NextProviderID=3

ProviderID0=1

ProviderFilename0=UNIMDM.TSP

ProviderID1=2

ProviderFilename1=WAN.TSP
[Provider1]

NumLines=1

NumPhones=0
[HandoffPriorities]

RequestMakeCall=DIALER.EXE

Құрылған файлда 3 секция - [Providers], [Provider1] және [HandoffPriorities] бар екендігін көреміз. Секция аттары тік төртбұрышты жақшаға алынған. Секциялар ішінде кілттер орналастырылған, әрбір жолдын теңсіздіктен кейін сол жағынан кілттің аты, ал оң жағынан оның мағынасы.



Негізгі TiniFile кластарына келесілер жатады:

Create

Ini-файлын оқу немесе жазу үшін ашу

Free

Ашылған Ini-файлын жабу

UpdateFile

Файлдан дискіге берілген мәліметтерді жаңарту

SectionExists

Берілген секцияда файлдын бар екендігін тексеру

ValueExists

Берілген секцияда кілттін файлда бар екендігін тексеру

ReadSections

Барлық секциялар бар екендігін алу

EraseSection

Берілген секцияны оның барлық кілттерімен жою

DeleteKey

Берілген секцияда кілтті жою

ReadSection

Берілген секцияның кілттерін алу

ReadSectionValues

Берілген секцияның барлық кілттерінің (аттарымен) мағынасын алу

ReadString

Жолдық мағынадан кілттер арқылы берілген секцияның оқу

ReadBool

Логикалық мағынадан кілттер арқылы берілген секцияның оқу

ReadDate

Кілт арқылы берілген секцияда күнді оқу

ReadDateTime

Кілт арқылы берілген секцияда күнді және уақытты оқу

ReadFloat

Кілт арқылы берілген секцияда анықталғанды оқу

ReadInteger

Кілт арқылы берілген секцияда бүтін мағынасын оқу

ReadTime

Кілт арқылы берілген секцияда уақытты оқу

WriteString

Кілт арқылы берілген секцияда (жаңару) жолдық мағынасын жазу

WriteBool

Логикалық жазбаны берілген секцияның кілтіне жазу

WriteDate

Күнді берілген секцияның кілтіне жазу

WriteDateTime

Уақыт пен күнді берілген секцияның кілтіне жазу

WriteFloat

Анықталғанды берілген секцияның кілтіне жазу

WriteInteger

Бүтін мағынаны берілген секцияның кілтіне жазу

WriteTime

Уақытты берілген секцияның кілтіне жазу

Қадам 2 – INI-файлын құру


  1. Delphi менюінде File, New - ді таңдаңыз да шыққан диалогты терезесінде «New» - дан «Text» белгісін таңдап, «OK» басыңыз.

  2. Код редакторында 2 бетті көресіз, олардын біреуі «File1.txt» болып аталады:



  1. Delphi менюінде File, Save As таңдаңыз да, пайда болған диалогты терезеде жаңа мәтіндік файлды осы папкада сақтаңыз, «MyWorld.INI» аты арқылы сақталған «MyWorld» проекті орналасқан жерде:



  1. Енді мәтіндік редакторда MyWorld.INI бетінде төмендегі екі жолды басыңыз,

[Database]

PathBase=C:\Мои документы\Temp\BDMyWorld.mdb



  1. «Сохранить» батырмасын басыңыз.

  2. INI–файлын құрдық, онда бір секция – Database және бір кілт – PathBase бар. Осындай файлды «Блокнот» бағдарламасы арқылы құруға да болады, бірақ Delphi де құрған ыңғайлы.

Қадам 3 – INI-файлын қолдану


Енді бағдарлама жұмысының алгоритімінің басын келесі түрдей ауыстырамыз:

  1. Бағдарлама ашылған жерден INI-файлын осы папкада іздейміз.

  2. Егер де ол бар болса, оны INI-файлында көрсетілген МҚ – ның жолына сәйкес ашамыз. Егер де ол жоқ болса, оны INI-файлында МҚ – ның жолы болмайды да келесі f) пунктіне көшеміз.

  3. Егер де ашылған папкада INI-файлы жоқ болса, онда e) пунктіне көшеміз.

  4. Егер де INI-файлы болса және де Database секциясы немесе PathBase кілті табылмаса, онда қате туралы мәлімет шығарамыз да келесі f) пунктіне көшеміз.

  5. Ашылған бағдарлама папкасында МҚ файылын іздейміз. Егер ол болса, оны ашып жұмысты орындаймыз. Егер де ол жоқ болса, онда f) пунктіне көшеміз.

  6. МҚ – ының файылын табу үшін экранға диалогты терезесін шығарамыз. Егер қолданушы оны диалогты терезеде таба алмаса, онда олармен қоштасып жұмысты аяқтаймыз.

  7. Қолданушы МҚ – ының файылын диалогты терезеде тапса, онда оны бағдарламада берілген жолды сақтау керек. Нақтыландыратын жауапты табылған жолды INI-файлына сақтаймыз.

  8. Табылған МҚ - мен байланысамыз да бағдарламаның жұмысын бастаймыз.

Жаңа алгоритмді тексеру және нақтылау үшін төмендегі мысалдарды орындаймыз:

  1. Қолданылатын модульдерге inifiles модулін қосамыз.

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

function FindFileBD(nmFileBD,nmIniFil:string;var scon:string; var dlg:TOpenDialog): string;

var sb,sIni:string;IniFil:TIniFile;

begin

sb:='';sIni:=ExtractFilePath(ParamStr(0))+ nmIniFil;

if FileExists(sIni) then

begin

IniFil := TIniFile.Create(sIni);

try

sb:=IniFil.ReadString('Database', 'PathBase', '');

if sb='' then ShowMessage('Ошибка INI-файла !'+#13#10+sIni);

finally

IniFil.Free;

end;

end;

if sb='' then 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);

if MessageDlg('Сохранить путь к БД в настройках программы?',

mtConfirmation,[mbYes,mbNo],0)=mrYes then begin

IniFil := TIniFile.Create(sIni);

try

IniFil.WriteString('Database', 'PathBase', sb);

except

ShowMessage('Ошибка INI-файла !'+#13#10+sIni);

end;

IniFil.Free;

end;

end else begin

ShowMessage('Не найден файл БД:'+#13#10+sb+#13#10+'До свидания !');

sb:='';

end;


end;

Result:=sb;

if sb<>'' then ChangeBasePath(ConStr,sb);

end;
procedure TfmMain.FormCreate(Sender: TObject);

var sbase:string;

begin


sbase:=FindFileBD('BDMyWorld.mdb','MyWorld.INI',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;

  1. Назар аударыңыз! Келесі қадамға бармай тұрып, Active қасиетіне ADOQuery1 копонентасына False! мәнін беріңіз.

  2. Қолданылған модельдерге inifiles модулін қосыңыз және проекті компилировать ету керек. Менюдан CTRL+F9 таңдап және далее, қате болмаса келесі істі орындаңыз.

  3. Бағдарламаны проводник арқылы жіберіп, төмендегі тізімдер арқылы оның жұмысын тексеріңіз:

    1. МҚ – ның файлы да INI-файлы да жіберу папкасында жоқ.

    2. Тек қана INI-файлы жіберу папкасында бар.

    3. МҚ – ның файлы да INI-файлы да жіберу папкасында бар.

    4. INI-файлының ішінде қате бар, мысалы, Database секциясы жоқ, немесе PathBase кілті, немесе МҚ – на жол дұрыс көрсетілмеген.

Қандай да жағдайда бағдарлама жоғарыда жазылған алгоритмге сай жұмыс істеуі қажет.
Тәжірибелік жұмыс№5. «MyWorld» МҚ құру.

Работа с графическими изображениями и буфером обмена

BDMyWorld.mdb жобасы бар папканы қайтарыңыз.Мәліметтер қорында маңызды ролді Memo- өрісі атқарады. Бұл өріс құрамында өлшемі анықталмаған көпжолды мәтін болады.

1 –қадам Жаңа өріс құру және бастапқы форманы баптау.

  1. Ms-Access-те BDMyWorld.mdb файлын ашыңыз және содан кейін конструктор режимінде «Страны» кестесін ашыңыз. Осы кестеде жаңа өріс құрып, суретте көрсетілгендей етіп толтырыңыз:




  1. Ms-Access-ті жауып, Delphi-ге оралыңыз. Щелкните дважды мышью по компоненту ADOQuery1 компононтін екі рет шертіп, содан кейін пайда болған өрісті редактрлеу терезесінде тышқанның оң жағын шертіңіз. Қалқып шығатын менюден «Add Fields» пунктін таңдаңыз. Жаңа өрістер тізімде болуы керек.Редактор өрісін жабыңыз.

  2. DataControls бетінен біздің бастапқы формамыздың проектісіндегі DBImage-дің 3 компонентіне paLeft панелін ретпен жоғарыдан төмен орналастырыңыз.

  3. Инспекторе объектте барлық жаңа компоненттердің DataSource қасиетіне DataSource1 мағынасын орнатыңыз. ShowHint және Stretch қасиеттеріне True мағынасын орнатыңыз. Сонымен қатар төмендегі кестеде көрсетілген қасиеттерді де кестедегідей етіп орнатыңыз:

    Имя

    компонента

    Значения свойств

    DataFild

    Align

    Hint

    DBImage1

    Flag

    alTop

    ФЛАГ

    DBImage2

    Map

    alTop

    КАРТА

    DBImage3

    FOTO

    alClient

    ФОТОГРАФИЯ

  4. Қалқып шығатын көмек беруші тез қалқып шығуы үшін бастапқы формадағы OnCreate өңдеушісінің соңына төменде қалың қаріппен белгіленген процедураны жазыңыз:

procedure TfmMain.FormCreate(Sender: TObject);

var sbase:string;

begin

sbase:=FindFileBD('BDMyWorld.mdb','MyWorld.INI',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;

Application.HintPause :=0;

end;


  1. DBImage компонентінің формасының өлшемін өзгерткенкезде әрқашан бірдей биіктікте болуы үшін, OnResize формасының төменде көрсетілген процедурасын жазыңыз:

  2. procedure TfmMain.FormResize(Sender: TObject);

begin

DBImage1.Height:=paLeft.Height div 3;

DBImage2.Height:=paLeft.Height div 3;

end;

  1. Жаңа өріске суретті графикалық файлдарды ашу жолы арқылы орналастырамыз, сонымен қатар алмасу буферінің көмегі арқылы . Әрбір компонент үшін кнопка құру ыңғайсыз болғандықтан, керек командаларды орындайтын қалқымалы меню құрамыз.

  2. Win32 бетінен ImageList компонентін формаға орналастырамыз және Name қасиетіне imClip мағынасын таңдаймыз, ал Width және Height қасиеттеріне 16 деген мән беріңіз. Содан кейін осы объектке екі рет шертіп, пайда болған Add кнопкасын басу арқылы ../STUDENT/Заготовки/Buttons папкасынан табуға болатын керек суреттерді қосыңыз :



Төменде көрсетілгендей етіп 12 суретті ретімен орналастырыңыз:


Имя файла с картинкой

(индекс) в наборе

penEnabled.bmp

0

OpenDisabled.bmp

1

PasteEnabled.bmp

2

PasteDisabled.bmp

3

CopyEnabled.bmp

4

CopyDisabled.bmp

5

CutEnabled.bmp

6

CutDisabled.bmp

7

SaveEnabled.bmp

8

SaveDisabled.bmp

9

ClearEnabled.bmp

10

ClearDisabled.bmp

11







  1. Формаға PopupMenu компонентін орналастырыңыз және оның Name қасиетіне MenuClip мағынасын беріңіз. Кейін оған екі рет шертіп, дизайнер менюінде төменде көрсетілген пункттерді формалап оған төмендегі кестеде көрсетілген қасиеттерді беріңіз:




Name

Caption

ImageIndex

ShortCut

cmOpen

Открыть

0

F3

cmPaste

Вставить

2

Ctrl+V

cmCopy

Копировать

4

Ctrl+C

cmCut

Вырезать

6

Ctrl+X

cmSave

Сохранить как …

8

Shift+F2

cmClear

Очистить

10

Ctrl+Del

  1. DBImage1, DBImage2 және DBImage3 компоненттерінің PopupMenu қасиетіне MenuClip мағынасын беріңіз.


2-қадам . Қалқып шығатын менюінің тосқауыл және рұқсат командалары.

Мүмкін болатын рұқсат етілген командалары:



  • «Открыть» командасына әрқашан рұқсат етіледі.

  • «Вставить» командасына рұқсат етіледі, егер графикалық сурет алмасу буферінде болған жағғдайда.

  • Ал қалған командаларға рұқсат етіледі, егер МҚ-ның сәйкес өрісінің құрамында сурет болған жағдайда.

Меню пайда болатынның алдындағы OnPopup жағдайын қолданамыз. Онда МҚ-ның қай өрісінде тексерілетін берілгендер бар екенін міндетті түрде анықтау керек:

  1. Қолданылатын модульдер құрамына clipbrd. Модульін қосыңыз.

  2. Отметьте на Формада ClipMenu компонентін белгілеңіз және инспектора объект көмегімен OnPopup жағдайының төменде көрсетілген өңдеушісін құрыңыз:

procedure TfmMain.MenuClipPopup(Sender: TObject);

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;



  1. Программаны жіберіп, оны тексеріңіз. Егер алмасу буферінде графикалық сурет бар болса, онда қою командасы рұқсат етілген болып есептеледі, ал басқа жағдайда тосқауыл қойылған болып есептеледі.

3-қадам. Қалқып шығатын меню командаларын программалау.

  1. Формаға Dialogs терезесінен OpenPictureDialog және SavePictureDialog, компоненттерін орналастырыңыз, содан кейін олардың Name қасиетіне dlgOpenImage және dlgSaveImage мағыналарын меншіктеңіз..

  2. Дизайнер менюінде щелкните по пункту «Открыть» пункті бойынша шертіп, төменде көрсетілген процедураны құрыңыз:

  3. 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;


  1. Программаны орындауға жіберіңіз және «Открыть» командасының жұмысын кез- келген сурет арқылы тексеріңіз.

  2. 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);



var dbIM:TDBImage;

begin


if Not(dlgSaveImage.Execute) then Exit;

dbIm:=nil;

With MenuClip do

if PopupComponent is TDBImage then dbIM:=(PopupComponent as TDBImage);

try

if dbIm<>nil then dbIM.Picture.SaveToFile(dlgSaveImage.FileName);

except

ShowMessage('Ошибка записи в файл:'+#13#10+dlgSaveImage.FileName);

end;

end;
procedure TfmMain.mcClearClick(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

nmField:=dbIM.DataField;

if dbIM.DataSource.State <> dsEdit then dbIM.DataSource.Edit;

dbIM.DataSource.DataSet.FieldByName(nmField).Clear;

dbIM.DataSource.DataSet.Post;

end;

end;



  1. МҚ-ын суреттермен толтыру үшін сонымен қатар әлемдегі елдердің туларын ..\STUDENT\Заготовки\DataWorld папкасынан іздеуге болады.


4-қадам. –Drag&Drop технологиясы бойынша графикалық файлдарды тасымалдау.

Егер қолданушы проводниктен немесе біздің жобаға басқа программадан графикалық файлдарды тышқын арқылы тасымалдауға мүмкіндік болса жақсы болар еді. Бұл тәсіл Windows технологиясы бойынша «Drag and Drop» деп аталады.

Біз алгоритмді орындаймыз:



  1. Формаға орналастырған файлдың атын анықтаймыз.

  2. «жіберу» кезіндегі тышқанның координаттарын анықтаймыз.

  3. Бұл сәтте тышқан курсоры қай компонентте болғанын анықтаймыз.

  4. Берілген компонент файлды «қабылдай» алады ма дегенді тексереміз.

  5. Егер иа болса , онда файлды өңдеу үшін сәйкес әдісті шақырамыз.




  1. Қолданылатын модульдер тізіміне ShellAPI модульін қосыңыз.

  2. Форманың модульінің private және public кілттік сөздерінің арасына

қалың шрифтпен ерекшеленген мәтінді орналастырыңыз:

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

private

{ Private declarations }



drFile: array[0..256] of char;

XYPoint:TPoint;

nmComp:string;

protected

procedure WMDropFiles (var Msg: TMessage);message wm_DropFiles;

public


{ Public declarations }

end;


…………………………………………

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

procedure TfmMain.FormCreate(Sender: TObject);

var sbase:string;

begin

sbase:=FindFileBD('BDMyWorld.mdb','MyWorld.INI',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;

Application.HintPause :=0;



DragAcceptFiles(Handle,True);

end;


  1. Поместите текстовый курсор на заголовок процедуры WMDropFiles процеурасының атауына мәтіндік курсорды орналастырыңыз.. Бірдей уақытта CTRL+SHIFT+C –ті басыңыз. Delphi төменде көрсетілген шаблонды құрады.Осыған қалың шрифтпен ерекшеленген жолды теріңіз:

procedure TfmMain.WMDropFiles(var Msg: TMessage);

begin

DragQueryFile(THandle(Msg.WParam),0,drFile,SizeOf(drFile));

DragQueryPoint(THandle(Msg.WParam),XYPoint);

DragFinish(THandle(Msg.WParam));

//Отладочная строка:

Caption:= String(drFile)+'-'+IntToStr(XYPoint.x)+'-'+IntToStr(XYPoint.y);

end;



  1. Жобаны орындауға жіберіп және ярлыктарды жұмыс столынан формаға тасымалдап, форманың атауында файлдың «дұрыс» аты және тышқанның координаты дұрыс берілгеніне көз жеткізу керек.

  2. Сонымен біз алгоритмнің 1) және 2) пункттерін орындадық . Тышқанды «жіберу» болған компонентті анықтайық.

  3. WMDropFiles процедурасына қалың шрифтпен ерекшеленген жолдарды қосыңыз және (отладочную) жолды төмендегідей етіп өзгертіңіз:

procedure TfmMain.WMDropFiles(var Msg: TMessage);

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

(XYPoint.y >Top) and(XYPoint.y

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;


  1. Жобаны қайтадан орындауға жіберіңіз және тасымалдау аяқталғаннан кейін программа DBImage компонентінің атының дұрыстығы туралы хабар беретініне көз жеткізіңіз.

  2. Бізге алгоритмнің 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

(XYPoint.y >Top) and(XYPoint.y

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;


  1. Әртүрлі нақты суреттерді формаға тасымалдау программасының жұмысын тексеріңіз:


10 Өздік жұмыстардың тапсырмалары

СОӨЖ №1

Тақырыбы: Мәліметтер қорының басқа да модельдері.

Мақсаты: Мәліметтер қорының иерархиялық, желілік модельдері

Қарастырылатын сұрақтар:

  • Мәліметтер қорының постреляциялық моделі

  • Мәліметтер қорының көпөлшемді моделі.

  • Мәліметтер қорының нысанды-бағдарланған моделі.


СОӨЖ тапсырмасын орындауға арналған әдістемелік нұсқаулар:

  1. СОӨЖ тапсырмасын орындау формасы: Реферат.

  2. Тапсыру формасы: Рефератты қорғау, мәліметтер қорларынан мысалдар келтіру.

  3. СОӨЖ тапсырмасын орындау үшін келесі әдебиеттер ұсынылады:

Бидайбеков Е.Ы., Елубаев К., Шекербекова Ш.Т. Мәліметтер қоры және ақпараттық жүйелер. Алматы., 2010.



СОӨЖ №2

Тақырыбы: Үш деңгейлі архитектура.

Мақсаты: Үш деңгейлі архитектураның құрылымы, мақсаты.

Қарастырылатын сұрақтар:

  • Пайдаланушының мәліметтер қорымен жұмысын ұйымдастырудың әртүрлі модельдерін қарастыру;

  • Орталықтандырылған архитектурасы бар модель;

  • Файл-сервер архитектурасы;

  • Клиент-сервер архитектурасы;

  • Үшдеңгейлі архитетктура.


СОӨЖ тапсырмасын орындауға арналған әдістемелік нұсқаулар:

  1. СОӨЖ тапсырмасын орындау формасы: Реферат.

  2. Тапсыру формасы: Рефератты қорғау, мысалдар келтіру.

  3. СОӨЖ тапсырмасын орындау үшін келесі әдебиеттер ұсынылады:

Бидайбеков Е.Ы., Елубаев К., Шекербекова Ш.Т. Мәліметтер қоры және ақпараттық жүйелер. Алматы., 2010.


СОӨЖ №3

Тақырыбы: Мәліметтер қорында пайдаланылатын ақпараттық жүйелер.

Мақсаты: Ақпараттық жүйелер ұғымына анықтама, олардың қолданылу аумақтарына мысалдар келтіру

Қарастырылатын сұрақтар:

  • Ақпараттық жүйелер анықтамасы;

  • Ақпараттық жүйелер архитектурасы;

  • Жергілікті ақпараттық жүйелер.


СОӨЖ тапсырмасын орындауға арналған әдістемелік нұсқаулар:

  1. СОӨЖ тапсырмасын орындау формасы: Реферат.

  2. Тапсыру формасы: Рефератты қорғау, мәліметтер қорларынан мысалдар келтіру.

  3. СОӨЖ тапсырмасын орындау үшін келесі әдебиеттер ұсынылады:

Бидайбеков Е.Ы., Елубаев К., Шекербекова Ш.Т. Мәліметтер қоры және ақпараттық жүйелер. Алматы., 2010.



СОӨЖ №4

Тақырыбы: SQL тілі. INSERT, DELETE, UPDATE операторлары.

Мақсаты: Осы операторлардың маңызы, олардың қолданылу мысалдары.

Қарастырылатын сұрақтар:

  • INSERT – кестеге жазба енгізу операторы;

  • DELETE – кестеден жазбаны жою операторы;

  • UPDATE – кестені өзгерту операторы.

  • Осы операторларды MS Access кестелері мысалында жүзеге асыру.


СОӨЖ тапсырмасын орындауға арналған әдістемелік нұсқаулар:

  1. СОӨЖ тапсырмасын орындау формасы: Реферат.

  2. Тапсыру формасы: Рефератты қорғау, мәліметтер қорларынан мысалдар келтіру.

  3. СОӨЖ тапсырмасын орындау үшін келесі әдебиеттер ұсынылады:

Бидайбеков Е.Ы., Елубаев К., Шекербекова Ш.Т. Мәліметтер қоры және ақпараттық жүйелер. Алматы., 2010.


СОӨЖ №5

Тақырыбы: SQL тілі. CREATE TABLE, DROP TABLE, ALTER TABLE операторлары.

Мақсаты: Осы операторлардың маңызы, олардың қолданылу мысалдары.

Қарастырылатын сұрақтар:

  • CREATE TABLE – кесте жасау операторы;

  • DROP TABLE – кестені жою операторы;

  • ALTER TABLE кесте құрылымын өзгерту операторы.

  • Осы операторларды MS Access кестелері мысалында жүзеге асыру.


СОӨЖ тапсырмасын орындауға арналған әдістемелік нұсқаулар:

  1. СОӨЖ тапсырмасын орындау формасы: Реферат.

  2. Тапсыру формасы: Рефератты қорғау, мәліметтер қорларынан мысалдар келтіру.

  3. СОӨЖ тапсырмасын орындау үшін келесі әдебиеттер ұсынылады:

Бидайбеков Е.Ы., Елубаев К., Шекербекова Ш.Т. Мәліметтер қоры және ақпараттық жүйелер. Алматы., 2010.



СОӨЖ №6

Тақырыбы: SQL тілі және мәліметтер қорының қауіпсіздігі.

Мақсаты: Мәліметтер қоры қауіпсіздігін сақтау мақсатында дайындалған іс-шаралар.

Қарастырылатын сұрақтар:

  1. Мәліметтердің тұтастығы мәселесі;

  2. Транзакциялар;

  3. Блоктаулар.

  4. CREATE TABLE – кесте жасау операторы


СОӨЖ тапсырмасын орындауға арналған әдістемелік нұсқаулар:

  1. СОӨЖ тапсырмасын орындау формасы: Реферат.

  2. Тапсыру формасы: Рефератты қорғау, мәліметтер қорларынан мысалдар келтіру.

  3. СОӨЖ тапсырмасын орындау үшін келесі әдебиеттер ұсынылады:

Бидайбеков Е.Ы., Елубаев К., Шекербекова Ш.Т. Мәліметтер қоры және ақпараттық жүйелер. Алматы., 2010.



СӨЖ ОРЫНДАУ БОЙЫНША НҰСҚАУЛАР

СӨЖ №1

Жұмыстың мақсаты: мәліметтер қорының тұжырымдық моделін құру үшін пәндік аймақты сипаттау қерек: пәндік аймақты сипаттау тәсілдері, пәндік аймақты ақпараттық көрсетуді сипаттау, пайдаланушының ақпараттық қажеттілігін сипатау.


СОӨЖ тапсырмасын орындауға арналған әдістемелік нұсқаулар:

  1. Төмендегі пәндік аймақтардың біреуін таңдап алып, сипаттама беру.

  2. Сипатталған пәндік аймақ бойынша мәліметтер қорының тұжырымдық моделін жасау.

  3. Аталған MS Access ортасында мәліметтер қорын құру.



  1. Сақтандыру компаниясы

Пәндік аймақтың сипаттамасы:

Сіз сақтандыру компаниясында жұмыс істейсіз. Сіздің міндетіңіз компанияның қаржылық қызметін бақылау.

Компанияның Республика бойынша әртүрлі филиалдары бар. Әрбір филиалдың атауы, мекен-жайы және телефоны бар. Компания қызметі төмендегідей ұйымдастырылған: Сізге әртүрлі тұлғалар сақтандыру туралы келісім-шартқа отыру үшін арыз түсіреті. Сақтандыруға алынатын нысандар мен қауіп-қатер түріне байланысты келісім-шарт белгілі сақтандыру түріне жасалынады (мысалы, көлікті ұрланудан сақтандыру, үй мүлкін сақтандыру, ерікті медициналық сақтандыру). Келісім-шартқа отыру кезінде Сіз отыру күнін, сақтандыру сомасын, сақтандыру түрін, тарифтік мөлшерлеме және келісім-шарт жасалған филиалды тіркейсіз.

Кестелер:

Келісім-шарттар (Келісім-шарт номері, Жасау күні, Сақтандыру сомасы, Тарифтік мөлшерлеме, Филиал коды, Сақтандыру түрінің коды).

Сақтандыру түрі (Сақтандыру түрінің коды, Атауы)

Филиал (Филиал коды, Филиал атауы, Мекен-жайы, Телефоны).

Есеп қойылымын жетілдіру:

Келісім-шартты сақтандыру агенттері жасайтынын ескеру керек. Агентт туралы ақпаратты (Тегі, Аты, Әкесінің аты, Мекен-жайы, Телефоны), сондай-ақ агент жұмыс істейтін филиалды сақтау керек. Сонымен қатар мәліметтер қорынан ала отырып агенттің еңбек ақысын есептеу мүмкіндігін қосу керек. Еңбекақы сақтандыру сомасының белгілі бір пайызын құрайды (сақтандыру төлемі бұл тарифтік мөлшерлемеге көбейтілген сақтандыру сомасы). Пайыз келісім-шарт жасалған сақтандыру түріне байланысты болады.

Осы айтылғандарды ескере отырып кесте құрылымына өзгеріс енгіз және де сұраныстарды өзгерт. Жаңа сұраныстар қос.


  1. Қонақ үй

Пәндік аймақтың сипаттамасы:

Сіз қонақ үйде жұмыс істейсіз. Сіздің міндетіңіз қонақ үй жұмысының қаржылық жағын бақылау.

Сіздің жұмысыңыз төмендегідей ұйымдастырылған: Қонақ үй клменттерге белгілі мерзімге бөлмелер береді. Әр бөлме сыйымдылығымен, жайлылығымен (люкс, жартылай люкс, қарапайым) және бағасымен сипатталады. Сіздердің тұтынушыларыңыз әр түрлі тұлғалар, олар туралы Сіз белгілі ақпарат жинайсыз (Тегі, Аты, Әкесінің аты және ескертпелер). Жоғарыда көрсетілген параметрлер бойынша тұтынушыға жарайтын бөлмелерде бос орындар болғанда ғана тұтынушыға бөлме беріледі. Бөлмеге орналастырған кезде орналастыру күні тіркеледі, қонақ үйден кеткен кезде босату күні тіркеледі.

Кестелер:

Тұтынушылар (Тұтынушы коды, Тегі, Аты, Әкесінің аты, Паспорттық мәліметтер, Ескертпелер).

Бөлмелер (Бөлме коды, Номері, Адам саны, Жайлылығы, Бағасы).

Орналастыру (Орналастыру коды, Тұтынушы коды, Бөлме коды, Орналастыру күні, Босату күні, Ескертпе)

Есептің қойылымын жетілдіру:

Тұтынушыға бөлме беру туралы ақпаратты ғана емес, сонымен қатар бөлмелерге алдын ала тапсырыс беру туралы ақпаратты да сақтау керек. Сондай-ақ тұрақты тұтынушыға, сол сияқ белгілі тұтынушылар категориялары үшін жеңілдіктер жүйесі қарастырылған. Жеңілдіктер біріктіріледі.

Осы айтылғандарды ескере отырып кесте құрылымына өзгеріс енгіз және де сұраныстарды өзгерт. Жаңа сұраныстар қос.


  1. Ломбард

Пәндік аймақтың сипаттамасы:

Сіз ломбардта жұмыс істейсіз. Сіздің міндетіңіз ломбард жұмысының қаржылық жағын бақылау.

Сіздің жұмысыңыз төмендегідей ұйымдастырылған: Сізге қандай да бір тауарды кепілдікке қойып, ақша алу мақсатында әртүрлі тұлғалар келеді. Сізге келген әр тұтынушыдан оның тегін, атын, әкесінің атын және басқа да паспорттық мәліметтерді тіркейсіз. Кепілдікке әкелінген тауардың құнын бағалап болған соң, тұтынушыға бере алатын сомманы және өзіңіздің комиссиондық төлемақыңызды есептейсіз. Сонымен қатар ақшаның қайтарылу мерзімін анықтайсыз. Егер тұтынушы келіссе, онда сіздердің келісімдеріңіз құжат түрінде бекітіледі, ақша тұтынушыға беріледі, ал тауар сізде қалады. Көрсетілген мерзімде ақша қайтарылмаған жағдайда тауар сіздің меншігіңізге өтеді.

Кестелер:

Тұтынушылар (Тұтынушы коды, Тегі, Аты, Әкесінің аты, Паспорт номері, Паспорт сериясы, Паспортты беру мерзімі).

Тауардың категориясы (Тауар категориясының коды, Атауы, Ескерту).

Ломбардқа өткізу (Код, Тауар категориясының коды, Тұтынушы коды, Тауар сипаттамасы, Өткізу мерзімі, Қайтарылу мерзімі, Соммасы, Комиссиондық төлемақы).

Есептің қойылымын жетілдіру:

Тауардың меншік құқығы ломбардқа көшкеннен кейін, ломбард оны өткізу кезінде көрсетілген бағадан аз немесе көп соммаға сата алады. Нарықтағы жағдайға байланысты баға бірнеше рет өзгеруі мүмкін. (Мысалы, ломбард қожайыны қыс соңына қарай қыстық заттарды жеңілдетілген бағамен сатуы мүмкін). Бұл тауардың ағымдағы бағасынан басқа мүмкін болатын баға мәндерін сақтау керек.

Кестелер құрылымына осы деректерді ескеретін өзгерістер енгізу және бар сұраныстарды өзгерту. Жаңа сұраныстар қосу.


  1. Жұмысқа орналастыру бюросы

Пәндік аймақтың сипаттамасы:

Сіз жұмысқа орналастыру бюросында жұмыс істейсіз. Сіздің міндетіңіз жұмысқа орналастыру бюросы жұмысының қаржылық жағын бақылау.

Сіздің жұмысыңыз төмендегідей ұйымдастырылған: Сіздің бюроңыз әртүрлі жұмыс берушілер үшін жұмысшыларды және жұмыс іздеген әртүрлі кәсіптегі мамандарға бос орындар іздеуге дайын. Жұмыс беруші сізге келгенде оның стандартты мәліметтері (атауы, қызмет түрі, мекен-жайы, телефоны) мәліметтер қорында тіркеледі. Жұмыс іздеуші сізге келгенде оның стандартты мәліметтері де (тегі, аты, әкесінің аты, квалификациясы, мамандығы, басқа мәліметтер) мәліметтер қорында тіркеледі. Екі жақ талаптары қанағаттандырылғанда арнайы құжат дайындалады. Құжатта жұмыс іздеуші, жұмыс беруші, қызмет түрі және комиссиондық төлемақы (бюро табысы) көрсетіледі.

Кестелер:

Жұмыс берушілер (Жұмыс берушінің коды, Атауы, Қызмет түрі, Мекен-жайы, Телефоны).

Келісім шарттар (Жұмыс іздеуші коды, Жұмыс беруші коды, Қызмет түрі, Комиссиондық төлемақы).

Жұмыс іздеушілер (Жұмыс іздеуші коды, Тегі, Аты, Әкесінің аты, Квалификациясы, Қызмет түрі, Басқа мәліметтер, Еңбек ақысының мөлшерленген соммасы).

Есептің қойылымын жетілдіру:

Мәліметтер қоры бюро жұмысының толық сипаттамасын бере алмайтыны анықталды. Мәліметтер қорында тек келісім шарт тіркеледі, ал ашық вакансиялар туралы ақпарат сақталмайды. Сонымен қатар, нұсқаларды автоматты түрде іздеу үшін «қызметтер түрі» деген анықтамалық енгізу керек.

Кестелер құрылымына осы деректерді ескеретін өзгерістер енгізу және бар сұраныстарды өзгерту. Жаңа сұраныстар қосу.


  1. Оқу жүктемесін бөлу

Пәндік аймақтың сипаттамасы:

Сіз жоғарғы оқу орнында жұмыс істейсіз және кафедра оқытушыларына жүктемені бөлумен айналысасыз.

Сіздің қолыңызда кафедра оқытушылары туралы мәліметтер бар. Оның ішіне анкеталық мәліметтерімен қатар олардың ғылыми дәрежесі, әкімшілік қызметі және жұмыс өтілі кіреді. Сіздің кафедраңыздың оқытушылары кейбір пәндер бойынша сабақ өткізуді қамтамасыз етуі керек. Олардың әрбіреуі бойынша сағаттар көлемі анықталған. Жүктемені бөлу нәтижесінде сізде келесідей ақпарат пайда болуы керек: «Белгілі бір оқытушы қандай да бір топқа, белгілі бір пәннен сабақ өткізеді».

Кестелер:

Оқытушылар (Оқытушы коды, Тегі, Аты, Әкесінің аты, Ғылыми дәрежесі, Қызметі, Жұмыс өтілі).

Пәндер (Пәннің коды, Атауы, Сағат саны).

Жүктеме (Оқытушы коды, Пәннің коды, Топ нөмірі).

Есептің қойылымын жетілдіру:

Енді жағдай өзгерді. Жүргізілетін сабақтардың дәрістік және практикалық болып бөлінетіні анықталды. Әрбір сабақ түрі бойынша өзінің сағат саны орнатылады. Сонымен қатар жүктеме бойынша мәліметтерді бірнеше жыл сақтау керек.

Кестелер құрылымына осы деректерді ескеретін өзгерістер енгізу және бар сұраныстарды өзгерту. Жаңа сұраныстар қосу.


  1. Жүк тасымалдау

Пәндік аймақтың сипаттамасы:

Сіз жүк тасымалдайтын компанияда жұмыс істейсіз. Сіздің міндетіңіз көлік жүргізушілерінің еңбек ақысын ескере отырып тасымалданатын жүктің бағасын бақылау болып табылады.

Сіздің компанияңыз әртүрлі бағытта жүк тасымалдаумен айналысады. Осы әр бағытқа оның атауын, мөлшермен алғандағы қашықтығын және көлік жүргізушілерге сәйкесінше еңбек ақысын есептеп тағайындадыңыз. Көлік жүргізушілері туралы ақпараттарға тегі, аты, әкесінің аты және жұмыс өтілі кіреді. Есептеулер жүргізуіңіз үшін Сіз жүк тасымалы туралы толық ақпаратты сақтайсыз (бағыты, жүргізуші, жөнелтілген және келген күні). Белгілі бір себептерге байланысты көлік жүргізушілеріне ынталандыру максатында қосымша ақша (премия) тағайындалады.

Кестелер:

Бағыттар (Бағыт коды, Атауы, Қашықтығы, Жолға қанша күн кетеді, Еңбекақы)

Жүргізушілер (Жүргізуші коды, Тегі, Аты, Әкесінің аты, Жұмыс өтілі).

Атқарылған жұмыс (Бағыт коды, Жүргізуші коды, Жөнелтілген күні, Қайтып келу күні, Премия).

Есептің қойылымын жетілдіру:

Енді жағдай өзгерді. Сіздің компанияңыз еңбекақыны есептеудің бір жүйесін енгізді. Енді, көлік жүргізушілердің еңбекақысы жүк тасымалдау бағытынан ғана емес, оның жұмыс өтіліне де қарап есептелінеді. Сонымен қатар жүк тасымалдауда жүргізушілердің екеу болатынын ескеру керек.

Кестелер құрылымына осы деректерді ескеретін өзгерістер енгізу және бар сұраныстарды өзгерту. Жаңа сұраныстар қосу.


  1. Автокөліктерді жалға беру

Пәндік аймақтың сипаттамасы:

Сіз автокөліктерді жалға беретін фирмадағы қаржы бөлімінің басшысысыз. Сіздің міндетіңіз жалға беру бөлімінің қаржылық көрсеткіштерін бақылау болып табылады.

Сіздің автотұрағыңызда әртүрлі маркадағы, бағадағы және типтегі бірнеше автокөліктер бар. Әр автокөліктің өзінің жалға беру бағасы тағайындалған. Тұтынушылар жалға беру пунктіне келеді. Барлық тұтынушылар осы жерде міндетті түрде тіркелуден өтеді және онда стандартты мәліметтер жинақталады (тегі, аты, әкесінің аты, мекен-жайы, телефоны). Әр тұтынушы жалға беру пункт қызметін бірнеше рез қолдана алады. Осы жалға беру қызметін қолдануға келген тұтынушылардың әр келгені туралы ақпараттар тіркеледі. Сонымен қатар әр келісім шарт бойынша автокөліктерді беру және қайтару күндері де сақталып отырады.

Кестелер:

Автокөліктер (Автокөлік коды, Маркасы, Бағасы, Жалға беру бағасы, Типі).

Тұтынушылар (Тұтынушы коды, Тегі, Аты, Әкесінің аты, Мекен-жайы, Телефоны).

Берілген автокөліктер (Автокөлік коды, Тұтынушы коды, Берілген күні, Қайтару күні)

Есептің қойылымын жетілдіру:

Енди жағдай өзгерді. Белгілі бір зерттеулер нәтижесі автокөліктің жалға берудегі баға көрсеткіші, автокөліктің өзінен емес оның жалға беру мерзімінен және шыққан жылынан тәуелді болуы керек. Автокөлікті қандай түрде қайтарғанына байланысты төлем ақы салу жүйесін және үнемі келетін тұтынушыларға жеңілдіктер жүйесін енгізу керек.

Кестелер құрылымына осы деректерді ескеретін өзгерістер енгізу және бар сұраныстарды өзгерту. Жаңа сұраныстар қосу.


  1. Интернет-магазин

Пәндік аймақтың сипаттамасы:

Сіз Интернет арқылы әртүрлі тауарларды сатумен айналысатын компанияның қаржы бөлімінің жұмысшысысыз. Сіздің міндетіңіз компанияның қаржылық қызметін бақылау болып табылады.

Сіздің компанияңыздың жұмысы келесі түрде ұйымдастырылған: Интернет-сайтта сатылатын тауарлардың бірнеше түрі көрсетілген. Әр тауардың белгілі бір қасиеті бар, ол атауы, бағасы және өлшем бірлігі (саны, килограмм, литр). Сіз сатылған тауарлар туралы зерттеулер жүргізу үшін және оны оптимизациялау үшін тұтынушылардан мәліметтер жинауға тырысасыз. Сізде негізінен стандартты анкеталық мәліметтер, сонымен қатар телефон және байланыс орнату үшін электронды почта адресі туралы ақпараттар сақталуы керек. Интернет-магазиннен 5000 теңгеден асатын бағаға тауар алған тұтынушы бірден 2% жеңілдікпен «тұрақты тұтынушы» категориясына өтеді. Әр сатылған тауар туралы автоматты түрде мәліметтер тіркелуі керек. Оған тұтынушы, тауарлар, саны, сатылған күні, жеткізілген күні.

Кестелер:

Тауарлар (Тауар коды, Атауы, Бағасы, Өлшем бірлігі).

Тұтынушылар (Тұтынушы коды, Тегі, Аты, Әкесінің аты, Мекен-жайы, Телефон, e-mail, Тұрақты тұтынушы).

Сатылым (Сатылым коды, Тауар коды, Тұтынушы коды, Сатылым күні, Жеткізілген күні, Саны).

Есептің қойылымын жетілдіру:

Мәліметтер қорымен жұмыс барысында қоймадағы тауарлар және тауар саны туралы ақпараттардың жетіспеуінен кейде қолайсыздық болатыны байқалды. Әрдайым бір сатылым кезінде тұтынушы тауардың бір-ақ түрін емес, бірнеше түрін сатып алады. Осы сатылымның әртүрлі тауарлардан тұратынын ескере отырып оған жеңілдіктер жасаймыз.

Кестелер құрылымына осы деректерді ескеретін өзгерістер енгізу және бар сұраныстарды өзгерту. Жаңа сұраныстар қосу.


  1. Зергерлік шеберхана

Пәндік аймақтың сипаттамасы:

Сіз зергерлік шеберханада жұмыс істейсіз. Сіздің шеберханаңыз зергерлік бұйымдарды сұраныс бойынша орындайды. Сіз белгілі бір материалдармен жұмыс істейсіз (плантина, алтын, күміс, әртүрлі асыл тастар және т.б.). Сізге келген тұтынушы сұранысына байланысты сіз ол тұтынушыға қандай бұйым керек екенін біле аласыз. Сіз дайындаған зергерлік бұйымдар бірнеше түрге бөлінеді (сырғалар, сақиналар, моншақтар, білезіктер). Белгілі бір материалдан жасалған зергерлік бұйымдар оның салмағы және бағасымен ерекшеленеді (дайындалған бұйым бағасына материал бағасы және жасалынған жұмыс кіреді).



Кестелер:

Зергерлік бұйым (Зергерлік бұйым коды, Атауы, Түрі, Материал коды, Салмағы, Бағасы).

Материалдар (Материал коды, Атауы, Граммға шаққандағы бағасы).

Сатылым (Зергерлік бұйым коды, Сатылған күні, Сатып алушы тегі, аты, әкесінің аты).

Есептің қойылымын жетілдіру:

Мәліметтер қорын қолдану барысында дайындалатын зергерлік бұйымдар бірнеше материалдан тұратыны байқалды. Сонымен қатар негізгі тұтынушыларға шеберхана кейбір жеңілдік түрлерін ұсынады.

Кестелер құрылымына осы деректерді ескеретін өзгерістер енгізу және бар сұраныстарды өзгерту. Жаңа сұраныстар қосу.


  1. Банктен несие беру

Пәндік аймақтың сипаттамасы:

Сіз жекеменшік банктің ақпараттық-талдау бөлімінің басшысы қызметін атқарасыз. Сіздің банкіңіздің негізгі қызмет көрсету түрі ол жеке тұлғаларға несие беру болып табылады. Сіздің міндетіңіз несие беру бөлімінің жұмысын бақылау болып табылады.

Несие беру талаптарына, пайыздық өсімдеріне және қайтару мерзіміне байланысты, барлық несиелік амалдар бірнеше маңызды бөліктерге бөлінеді. Әрбір осы бөліктердің өз атаулары бар. Несиені беру және тіркеу жеке тұлғалардың келесідей ақпараттарды толық беруіне байланысты: атауы, жекеменшік түрі, мекен-жайы, телефоны, сенімді өкілі. Әр несие беру фактісі тіркеліп отырады, сонымен қатар несие сомасы, тұтынушы және берілген күні туралы ақпараттар жинақталады.

Кестелер:

Несиелер түрі (Несие түрінің коды, Атауы, Несие алу талаптары, Мөлшерлеме, Мерзімі).

Тұтынушылар (Тұтынушы коды, Атауы, Жекеменшік түрі, Мекен-жайы, Телефон, Сенімді өкілі).

Несиелер (Несие түрінің коды, Тұтынушы коды, Сомасы, Берілген күні).

Есептің қойылымын жетілдіру:

Енді жағдай өзгерді. Әртүрлі зерттеулер мынадай нәтиже берді, қолданылып жүрген жүйе несиені қайтару динамикасын бақылай алмайды. Бұл кемшілікті жою үшін несиені қайтарудың дәл күнін енгізуді ұйғардық. Сонымен қатар несиенің біртіндеп қайтарылуын және несиені уақытында қайтармағандарға айыппұл төлейтінін ескеруіңіз керек.

Кестелер құрылымына осы деректерді ескеретін өзгерістер енгізу және бар сұраныстарды өзгерту. Жаңа сұраныстар қосу.


  1. Телекомпанияның эфирде қойылған жарнамалар құнының есебі

Пәндік аймақтың сипаттамасы:

Сіз телекомпанияның қаржы бөлімінің басшысысыз. Сіздің міндетіңіз телекомпанияның телеэфирде қойылатын жарнамаларға қатысты есебін бақылау болып табылады.

Жұмыс келесі түрде ұйымдастырылған: тапсырыс берушілер өз жарнамаларын белгілі бір бағдарлама кезінде және белгілі бір күнде қойылуын сұрайды. Әр жарнаманың белгілі бір уақыт алатыны белгілі. Әр тапсырыс беру мекемесіне банктік реквизиттер, телефондар және байланыс орнату тұлғалары белгілі. Бағдарламалардың белгілі бір рейтингісі бар. Барлық бағдарламаның арасында қойылатын жарнамалардың бағасы анықталған.

Кестелер:

Бағдарламалар (Бағдарлама коды, Атауы, Рейтинг, Минутқа шаққандағы құны).

Жарнама (Жарнама коды, Бағдарлама коды, Тапсырыс беруші коды, Күні, Қанша минут).

Тапсырыс берушілер (Тапсырыс беруші коды, Атауы, Банктік реквизиттер, Телефон, Байланыс орнату тұлғасы).

Есептің қойылымын жетілдіру:

Мәліметтер қорын қолдану барысында жарнама беру келісім-шарттарына отырған агенттер туралы ақпараттар болу керек екендігі анықталды. Агенттердің еңбек ақысы жалпы қойылған жарнамалардың белгілі бір пайызын құрайды.

Кестелер құрылымына осы деректерді ескеретін өзгерістер енгізу және бар сұраныстарды өзгерту. Жаңа сұраныстар қосу.
СӨЖ №2

Төмендегі тақырыптардың ішінен біреуін таңдап алып, реферат дайындау және қорғау керек:



  1. Мәліметтер қоры. Негізгі түсініктер.

  2. Иерархиялық және желілік модельдер.

  3. Реляциялық модель. Анықтама.

  4. Реляциялық алгебра және реляциялық есептеулер.

  5. Нормальдау.

  6. Бағдарламалық қамтамасыз ету.

  7. SQL тілі. SELECT операторы.

  8. Құрамлдас сұраныс.

  9. Access-те мәліметтер қорының негізгі элементтері.

  10. Конструктор режимінде мәліметтер қорын құру. Мәліметтер схемасын сипаттау.

  11. Таңдауға сұраныс құру.

  12. Жазбаны жаңартуға сұраныс құру.

  13. Жазбаларды өшіруге, қосуға сұраныс құру.

  14. Кесте құруға сұраныс құру.

  15. Параметрлік сұраныс құру.

  16. Жазбаларды топтауға сұраныс құру. Қиылысатын сұраныс құру.

  17. Форма мастерін құру.

  18. Форма конструкторын құру.

  19. Кнопкалы форма құру.

  20. Басылым құру.

  21. Кіру мұмкіндігі бар беттерді құру.

  22. SQL режимінде сұраныс құру.

  23. SQL-сұраныс көмегімен форма және басылым құру.

  24. Delphi-де мәліметтер қорының кестесін құру.

  25. Delphi-де мәліметтер қорының индекстерімен жұмыс істеу.

  26. Delphi-де мәліметтер қорының жазбаларын фильтрациялау.

  27. Delphi ортасындағы мәліметтер қорында мәліметтерді іздеуді ұйымдастыру.


11 Білім алушылардың оқытушымен өздік жұмысына кеңес беру кестесі

Барлық сұрақтар бойынша кеңес ағымдағы семестрдегі білім алушылардың оқытушымен өздік жұмысының кестесіне сәйкес жүргізіледі.


12 Білім алушылардың білімдерін тексерудің кестесі

Барлық дәрістер, тәжірибелік және лабораториялық жұмыстарға қатысып, тапсырмаларды уақытында орындау 0-100 баллмен бағаланады.



Пән бойынша тапсырмаларды орындау және тапсыру кестесі



СӨЖ түрі

Бақылау түрі

Сағаттың көлемі



Дәрістерді талқылау. Қосымша материалдарды оқу.

Ауызша сұрау, межелік бақылау

15



Зертханалық жұмыстарға дайындалу, есептерді рәсімдеу.

Бақылау сұрақтар, есеп

15



Тәжірибелік жұмыстарға дайындалу, есептерді рәсімдеу.

Бақылау сұрақтар, есеп

30



Үй тапсырмаларын орындау

Жазбаша есеп

15



Бақылау жұмыстарға дайындалу және қатысу

межелік бақылау, емтихан

15

Барлығы

90


Достарыңызбен бөлісу:
1   ...   7   8   9   10   11   12   13   14   15




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет