SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
1
2
МонголУлсынИхСургууль
МатематикКомпьютерийнсургууль
Мэдээллийнсистемийнтэнхим
Анхлансурагчдадзориулсангарынавлага
Улаанбаатархот
2006 он
3
Өмнөхүг
Бид өнөөдөр програм бичнэ гэж бодвол их хүнд, болж
бүтэхгүй, чадахгүй мэтээр төсөөлдөг. Мэдээж програм бичнэ,
програмзохионогэдэгболхэнхүнссэнньхийгээдбайдагхялбар
ажил, хялбарүйлдэлбиш бөгөөдтаниасбагагүймэдлэг, нүрих
хөдөлмөр, сэтгэлгээшаарддагньнууцбишээ. Компьютертехнологи
хөгжихийнхэрээрхүнбүхнээскомпьютер, програмжхангамжийн
мэдлэгшаардахболсон. Өнөөдөрбиднийаав, ээж бигээдлхүн
бүхэнлмашинжолоожодчаддаг. Өөрөөрхэлбэлбидбүгджолооч.
Тэгвэлгаадаадынөндөрхөгжилтэйорнуудадпрограмистгэдэгбол
энгийнхэрэглээ, хэрэгцээ, мэдлэгболсонньбидбүхэнмашинбарьж
чаддагтайажилханхүнбүхнийзайлшгүйэзэмшсэнмэргэжилболсон
байна. Гэхдээбидөнөөдөрмэдээжпрограмистхүмүүсшигөндөр
түвшинд програм бичиж чадахгүй нь мэдээж. Тэгвэл визуал
програмчлал нь бидэнд ийм боломжийг олгодог. Визуал
програмчлалбэлэнкомпонент, хялбархэрэглээнийпрограмашиглан
өөрийн хэрэгцээг хангасан програм бичих боломжийг бидэнд
олгодог.
Энэхүүномнь“Визуалпрограмчлал-1”хичээлийнпрограмын
дагуу зохиогдсон бөгөөд семнарын ажиллуудаас үндэслэгдсэн
болно. Анхлансурагч, мэргэжлийнбусангийноюутнуудадмөн
бидний аав, ээж зэрэгкомпьютер ашигладагхүмүүсташиглах
материал, зөвлөмж ховорбайдгыгхаргалзанүзэж энэхүүгарын
авлагыгбүтээлээ.
Биболоюутантиймээсүсүсгийналдаанаасавахуулаадолон
зүйлдээрэндэж алдсанбайж болохтулэрхэмуншигчтагэгээн
оюундаатунгаанболгооноуу. Нуулгүйхэлэхэдбиөөрийгөөзохиогч
гэжхэлболохэсэхээчсайнмэдэхгүйлбайна.
Зохиогч
4
Гарчиг
1-рбүлэг. Үндсэнойлголт
1.1. RAD (Rapid Application Development)
1.2. Компонент( Visual Component Library)
1.3. Delphi IDE (Integrated Development Environment)
1.4. Delphi- дашиглагддагфайлуудынтөрлүүд
1.5. Help ашиглах
2-рбүлэг. Түгээмэлашиглагддагшинж, үзэгдэл, дүрмүүд
2.1. Түгээмэлашиглагддагшинжүүд
2.2. Түгээмэлашиглагддагүзэгдлүүд
2.3. Түгээмэлашиглагддагдүрмүүд
3-рбүлэг. Түгээмэлашиглагддагкомпонентууд
3.1. Standart tabs
3.2. VCL графиккомпонентууд
Лабораторынажил
 User хэрэглэгчийнadmin эрхийнцонх
 Тоонымашин
 ListBox, ComboBox ашиглахнь
 Notepad – гхийх
4-рбүлэг. График, мультимедиатайажиллах
4.1. TCanvas класс
4.2. Canvas дээрдүрсзурах
4.3. Canvas дээртекстзурах
4.4. PlaySound API функц
4.5. TAnimation компонент
4.6. TMediaplayer компонент
Лаборатоынажил:
 02  cbxax функцынграфик
 MediaPlayer
 Минийсанасантоохэдвэ?
5-рбүлэг. Өгөгдлийнсантайажиллах
5.1. Мэдээллийнсангийнтухайойлголт
5.2. ODBC Data source үүсгэх
5.3. Мэдээллийнсангийнкомпонентууд
5.4. ТайланRave5.0
Лабораторынажил:
 Dictionary хийх
 Банкныхадгаламжийнхүүгийнхарицуулдагпрограм
5
1-рбүлэг
Үйлдсэнойлголт
6
RAD (Rapid Application Development)
Програмыгхялбараргаарболовсруулах
Програмыг хялбар аргаар боловсруулах, олон цонхны горимд
ажиллуулахыгтулдRAD технологихөгжижирсэн. RAD – ыгхөгжүүлэгчхэлнь
визуал хэл юм. Уламжлалт буюу процедур хандалт Borland Pascal дээр
тулгуурласанОХП буюуObject Pascal програм
гарчирсэн. ТэгвэлBorland фирмньObject Pascal
хэлдээртулгуурласанвизуалпрограмынDelphi
хэл1994 онд анх гарсан. 2004 оны сүүлчээр
Delphi 9.0 буюуDelphi 2005 програм гарсан.
Delphi 7.0 нь2002 ондгарсанбайна. Delphi-г
ашиглан windows орчны бүрэн хэмжээний
програмбичихболомжтой. Delphi дээрпрограм
бичихийнтулд
1. Бэлэн байгаа компонентуудыг угсрах
(Design time)
2. Object Pascal хэл дээр кодыг бичих
шаардлагатай. (Runtime)
VCL (Visual Component Library)
Компонент нь дизайн DesignTime-ийн үед удирдаж боловсруулах
боломжтойвизуалобьектюм. КомпонентбүрньямарнэгэнTcomponent class-с
удамшиж үүсдэг. Хэдийгээркомпонентбүрньклассболовчклассбүрнь
компонентболжчадахгүйКомпонентийгRunTime-ийнүедхарагдахбайдлаарнь
1. Визуал
2. Визуалбишгэжангилдаг.
DesignTime, RunTime-ийнүедальалиндньхарагдажбайдагкомпонентууднь
визуал компонент болно. Delphi дээр програм бичихийн тулд VCL санд
тодорхойлсонбэлэнкомпонентуудаасавчашиглана. VCL – доршитухайн
компнентууд ньолон тооны үзэгдэл буюу Event, шинж буюуproperties,
хувьсагчийнөнгөсолихдүрэмбуюуmethod-c бүрдэнэ.
7
Delphi IDE (Integrated Development Environment )
Delphi 7.0-ынIDE (Integrated Development Environment – програмыгбүрдү-
үлэгч, үзэгдэхорчин) ньүдсэн6 цонхноосбүрддэг.
1. Component Palette
2. Design Windows
3. Code Window
4. Project Window
5. Projecties Object Inspector
6. Object TreeView
1. Component Palette: VCL-сашиглаж болохбэлэнкомпонентууд. (товчлуур,
цонх, меню... гх)
2. Design Window: Компонентуудыгугсарч програмын харагдах байдал,
дизайныгзохиохталбар
3. Code Window: Угсарсанкомпонентуудын цаанаямарүйлдэлгүйцэтгэхвэ?
Гэдгийгобьектпаскалхэлбээрбичижөгөхталбар.
4. Project Window: Тухайнпрограмынproject-ынбүтцийгхаруулна.
1
2
3
4
5
6
8
5. Properties Object Inspector: Компонентийншинжчанар(Properties), үзэгдэлийг
(Event) эндбайрлуулсанбайна.
Delphi-дашиглагдахфайлынтөрлүүд
Delphi програмдээрпрограмзохиоходхадгалах, хуулах, зөөххэрэггардаг.
Delphi файлуудынтөрөлболонзориулалтыгөргөтгөлөөрньтаньжболно. Эдгээр
файлынзориулалтыгдарааххүснэгтээрүзүүлэв.
Өргөтгөл Тайлбар
.pas Delphi, паскалпрогармынкодбичсэнфайл
.dfm, xfm Формфайл. Формнэмэхэдүүсдэгфайл
.dot,
.kof
ЭнэфайлньProject Options харилцахцонхондтодорхойлсон
прожектийнхарицахсонголтуудыгхадгалжбайдаг
.exe Програмыгcomplete хийснийүрдүндүүсэхпраграмыншууд
ажиллуулахфайл
.cfg Энэфайлньпрожектодхийсэнтохиргоогхадгалжүлддэг.
.dcu Complete хийснийдарааүүсэхbinary обьектфайл
.dpr Delphi програмыгбүрдүүлэгчпрожектфайл
.bpg Энэфайлньхэдхэдэнпрожекфайлаарбүлэгүүсгэдэг
.res, .dcr Энэфайлньпрограмдашиглажбайгааbipmap, icon зэрэг
өгөгдлийгхадгалжбайдагфайл
.dpk Програмынболонкомпонентынкодбичсэнмодульфайлуудыг
нэгсэнфайл
.bpl ЭнэфайлньDelphi-ийнонцлогшинжчанарыгагуулсанDLL
файлюм.
.dcp Пакежийнтолгойхэсэгболонdcu файлуудыннийлүүлж
багцалсаннөөцфайл
.ddp Компонентуудынхарьцаагүзүүлсэндиаграмфайл
.dsk ЭнэфайлньDelphi-ийнIDE дээрүзэгдэжбайсанорчинхадгалж
үлддэгфайл
Хагийнжижигхэнгар
АНУ-ын иргэн Дэвид Леви гэгч дэлхийн хамгийн
жижигхэнгарыгбүтээж, 1997 оныгуравдугаарсарын18-
нд Гиннесийн номондоржээ. Энэхүү гарнь7,62х3 см
хэмжээтэйбөгөөдцагаантолгойнүсгүүдцифрболонбусад
функциональ8 товчлууртай.
9
Help ашиглах
Ихэнх програмд F1 эсвэл Help зэсний командыгдуудаж тухайн
програмын тусламжийн файлыгажиллуудаг. Энэхүү файл нь тухайн
програмыгбүтэц, хэрхэнажилдагболонпаскалкодийнжишээгчбас
агуулсанбайхтултүүнийгтогтмолашиглажсураххэрэгтэй. ЖишээньEdit
компонентийнталаартусламжхүсье.
1. ФормдээрбайрлахEdit1 компонентийгидэвхижүүлээдF1 товчлуур
дарна.
2. ҮүсэхTopics Found цонхноосDisplay товчлуурыгдарна.
3. ҮүсэхVisual Component Library Reference Help харилцахцонхоонс
өөрийнхүссэнмэдээллээавчболно.
4. Ногоонбичгэнүүддээрүргэлжлүүлэндаржцаашньилүүдэлгэрэнгүй
мэдээлэл, жишээкодыгавахболомжтой.
Edit ямар
шинж
чанартай
Edit ямар
үзэгдэлтэйг
Edit
юунд
хэрэглэх
Edit гэж
юуболох
талаар
Хамгийнжижигхэнхулгана
Дэлхийн хамгийн жижигхэн хулганыг 2000 онд
Тайванд бүтээжээ. Ердийн хулганатай харицуулахад
жижигбөмбөгмэт санагдахCatEyeFinRing гэгчэнэхүү
бяцхан хулгана ердөө л 4,7 см хэмжээтэй. Дашрамд
сонирхуулахадхулганыганх1968 онд ДугласЭнделбарт
10
2-рбүлэг.
Түгээмэлашиглагддаг
шинж, үзэгдэл, дүрмүүд
11
Delphi 7.0 програмынVCL саннь420 гаруйкомпонентуудтайбайдагба
компонентбүрнь20-25 шинж чанар, үзэгдэл, функцуудтай. Тиймболохоор
эдгээркомпонентуудыгнэгбүрчлэнүзэхболомжгүй. ХаринүүнийорондVCL
компонентуудаднийтлэгбайдагшинж чанар, үзэгдэлфункуудыгавчүздэг.
Borland фирм Delphi програмыгжилбүрсайжрууланшинэхувилбаруудыг
гаргахдаакомпонентуудыгнэмсэнбайдагбайна.
Түгээмэлашиглагддагшинжүүд
Сомпонентийншинжүүдньтухайнкомпонентийнбайрлалхэмжээ, өнгө,
техт, фондгэхмэтмэдээллүүдийгхадгалжбайдаг. Шинжүүдийгдоторнь
1. DesignTime-ийнүедObject Inspector цонхондөөрчилжболдог
2. Зөвхөнпрограмдотроосөөрчилжболдог
хэмээнхоёрангилна.
Name – тухайнкомпонентийнпрограмдхарагдахнэр. Онцгойшаардлагагүйбол
өөрчлөххэрэггүй.
Anchors - Тухайн компонентформтойцугдагаж томорч, жижигрэхэсэх
тохируулгахийнэ.
Caption, Text – Тухайнкомпонентдээрбичигдэхбичгийгэндбичижөгнө.
Color - Тухайнкомпонентийнөнгийнтодорхойлно.
BorderStyle – Тухайнкомпонентийнхүрээнийхэлбэрийгтодорхойлно.
Fond – тухайнкомпонентдээрбичигдэхүсгийнфондыгтодорхойлно.
Height - компонентийнөндөр
Width – компонентийнөргөн
TabOrder – tab дарахтовчлууруудындарааллийгзаажөгнө.
Cursor – тухайнкомпонентдээрхулганызаагчямархэлбэртэйболохыгзааж
өгнө.
DragCursor – компонентийгчирэхүедкурсорямархэлбэртэйболохыгзаажөгнө.
PopupMenu – тухайнкомпонентдээрхулганыбаруунтовчлуурдээрдарахүед
үүсэхзэстэйхолбоно.
Visible – компонентийгүзэгдэхэсэхийгтодорхойлно.
Hint – компонентдээр хулганы заагчийгбайрлуулахадүзэгдэхмэдээллийг
тодорхойлно.
Компонент
Шинж
(properties)
Үзэгдэл
(Event)
Дүрэм
(Method)
12
Түгээмэлашиглагддагүзэгдлүүд
 Удирдлагахүлээнавах, алдахүеийнүзэгдлүүд
 OnEnter, OnActivate: Угкомпонентэдудирдлагашилжиж ирэх
үеийнүзэгдэл
 OnExit, OnDeActivate: Уг компонентоос удирдлага өөр
компонентэдшилжүүлэхүеийнүзэгдэлюм.
 Гарнытовчооргүйцэтгэхүзэгдлүүд
 OnkeyDown – гардээрээстовчдарахүеийнүзэгдэл
 OnKeyPress – Товчдарсанүеийнүзэгдэл
 OnKeyUp –Товчдараадавахүеийүзэгдэл
 OnChange – компонентдээрбичиглэлхийхүеийнүзэгдэл
 Хулганытовчдарахүеийнүзэгдлүүд
 OnClick – Компонентдээрхулганаардарахүеийнүзэгдэл(зүүн)
 OnDblClick – компонентдээрхоёрдарахүеийнүзэгдэл
 OnMouseDown – компонентдээрхулганы дарахүеийнүзэгдэл
(баруун/зүүн)
 OnMouseUp – хулганытовчдараадавахүеийнүзэгдэл
 Системийнүйлажиллагаандүүсдэгүзэгдлүүд
 OnCreate – компонентийнсанахойдүүсэхүеийнүзэгдэл
 OnPaint – компонентзурахүеийнүзэгдэл
 OnTimer – нэгжхугацааөнгөрөхөдхийхүйлдлийгтодорхойлно
Түгээмэлашиглагддагдүрмүүд
 Hide – тухайнкомпонентийгхарагдахгүйболгохдүрэм
 Show – тухайкомпонентийгхарагдуулахдүрэм
 Destroy – тухайнкомпонентийгсанахойгоосустгагчфункц
 ClientToScreen – client талбайгаасөгөгдсөн цэгийгдэлгэцний
кординатадхөрвүүлнэ.
 Free – компонентийнашигласансанахойгчөлөөлнө
 Perform – компонентруумэдээдамжуулдаг
 Repaint – угкомпонентийгдахиндуудна
ХамгийнөндөрхарайсанРобот
АНУ-ын Sandia лабораторийн бүтээсэн Hopper
робот нь2001 оны гуравдугаар сард 9метр харайсан
амжилтаарГиннесийнномондоржээ.
13
3-рбүлэг.
Түгээмэлашиглагддаг
компонентууд
14
Standart tabs
Standard Component Palette-дбидэнхэрэглэгдэхстандарттовчлуур,
хэрэглэлүүдбайдагбайна.
1. TFrame: Бүлэгтовлууруудыгүүсгэхэдзориулагдсанкомпонентюм. Түүнтэй
ажиллахньформтайажиллахтайерөнхийдөөтөстэй. Гэхдээформшигshow
үйлдлээр дуудах боломжгүй бөгөөд форм дээр Frame компонентийг
байрлууланхолболтхийндуудна.
2
13
4
5
6
7
8
10 9
11 12
Calculator-ийгframe
ашигланхийсэн
15
2. MainMenu: Прогармынменю-ыгхийдэгкомпононт. Меню-гхийх
a. MainMenu компонентийгформдээрбайрлуулна
b. ФормдээрбайрлахMainMenu компонентдээр2 дарна
c. Form1.MainMenu цонхондөөрийнменю-гхийхбаcaption шинжидmenu-
нийнэрийгзаажөгнө.
3. PopupMenu: ҮүнийгүүсгэхньMainMenu-тайадилхан. Бидхулганыбаруун
товчуурдээрдарвалPopupMenu гарчирэхээрхолбожөгдөг.
Програмыгажиллуулбалүрдүннь:
Caption
Menu үүссэн
PopupMenu
үүсгэх
PopupMenu-г
Form1-тайхолбож
байна
MainMen
u Copy
Paste
Cut
PopupMenu
16
4. Label: Форм дээртогтмолтекстмэдээллийгүзүүлэхэдашигладагвизуал
компонентюм. Label дээргарахтекстийгProperties-ийнcaption-дбичижөгнө.
5. Edit: Програм ажиллаж байхүедхэрэглэгчмэдээллийгбичиж оруулахад
зориулагдсанкомпонент. ХэрэглэгчийноруулсанбичлэгийгProperties-ийн
text-дхадгалсанбайдаг.
6. Memo: Edit-тай ижилхэн үүрэгтэй бөгөөд гэхдээ илүү урт, мөртэйгээр
бичлэгийгавдагбайна. Ашиглагдахголшинжүүднь:
a. Lines: String төрөлтөй хувьсагчбөгөөдMemo-d бичсэн техт-тэй
ажилладаг. Жишээлбэл: Memo1.Lines.Add(Edit1.text);
7. Button: ЭнэньDelphi програмынтовчлуурюм. Голшинжүүдбаүзэгдлүүд:
a. Caption-д тухайн товчлуур дээр гарах
бичиглэлийгхийдэг
b. OnClick үзэгдэлтухайнтовчлуурдээрдарахад
ямарүйлдэлхийхийгбичижөгнө. Жишээлбэл:
Procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Add(Edit1.Text);
end;
8. CheckBox, 9. RadioBox ньголүүрэгньсонголтыголгож
байдаг. Голүзэгдэлнь:
a. Checked: дүрэмюм. Энэдүрэмньfalse эсвэл
true гэсэнBoolean төрлийнутгыгөгдөг. ӨөрөөрхэлбэлСонгосон
(Checked=true), сонгоогүй(Checked=true) гэсэнутгыгөгдөг
10. Combobox, 11.ListBox компонентуудньцэсэндөгсөнутгуудаассонголтхийх
зориулалттайбайдаг. Ашиглагддагголшинжнь
a. Items: ЭнэньнэгталаарааMemo1.lines-тайадилүүрэгтэйбуюу
Combobox, ListBox-ынутгатайажиллахүүргийггүйцэтгэдэг.
12.GroupBox: Энэкомпонентньформдээркомпонентуудынбүлгийгүүсгэдэг.
Edit1.text-г
Memo1.lines-днэмсэн
Button
OnClick дээр2 дарж
кодыгбичнэ.
17
VCL графиккомпонентууд
TShape компонент
TShape компонентийг форм
дээрдүрсбуюудугуй, эллипс, тэгш
өнцөгт, квадратгэхмэтолондүрсийг
зурахадашигладаг.
ЭдээрдүрсдийгзурахболонTShape компонентийнзурахадтүгээмэлхэрэглэгддэг
дүрмнь:
Brush: Тухайндүрсийнbackground-ынөнгийгтодорхойлжөгнө.
Pen: Дүрсийг зурж буй үзэгний шинж чанарыг (өнгө, дүрс... гм)
тодорхойлно.
Shape: Ямардүрсзурахыгсонгоно.
stCircle – дугуй stRoundRect – үзүүрньдугарагтэгөнцөгт
stEllipse – эллипс stRectangle – тэгш өнцөгт гэх мэт олон
сонголттой.
TImage компонент
TImage компонентньформдээр
зурагоруулахзориулалттайкомпонент
юм. Бидний програмд зургийн
файлуудыгоруулжөгвөлпрограмын
дизайнмааньилүүгоёболохболно.
Энэ компонентод зургийг оруулж
өгөхголшинж ньobject inspector
цонхны Picture шинжийг сонгох
дарахадPicture Editor харилцахцонх
үүсэх ба load... талбарт зургийн
компьютерт байгаа газрыг зааж
өгөхөдтаны зурагхолбогдонтаны
формдгарчирнэ.
TShape
TImage
Picture
Load
18
TTime
TPaintBox компонент
TPaintBox компонентньформынтодорхойнэгхэсэг, талбайдзурагзурах
үедашиглагдана. PaintBox компонентийнхамгийнчухалфункцньболCanvas
функцюм. PaintBox дээрзурагзурахдааPaintBox-ынobject Inspector цонхны
event буюузүгдлүүдээсonpaint үзэгдэлдCanvas функцыгашигланзурна.
Жишээлбэл: PaintBox дээр
тэгш өнцөгтзуран, түүндээр
‘Rectangle’ гэжбичие.
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
Paintbox1.Canvas.Rectangle(10,10,80,80);
Paintbox1.Canvas.TextOut(15,15,'Rectangle');
end;
TTimer
ТTimer компонентньпрограмд
хугацааны тоолуурболгонвизуалбус
компонентюм. Timer ньдараахонцлог
шинжчанартай.
Enabled: хугацаанытоолууридэвхитэйбайхэсэхийгтодорхойлно.
Interval: Timer компонентийннэгжхугацаагтодорхойлно. Default утгань
1 секундбайдаг.
OnTimer: Энэүзэгдлээрtimer компонентнэгжхугацаандюугүйцэтгэхийг
тодорхойлно.
TPaintBox
19
Лабораторынажил
Сэдэв: User хэрэглэгчийнadmin
эрхийнцонх
20
Users цонхныерөнхийбүтэц, дүрзураг
Цонхныажиллахгорим:
Бидөдөрболгонмайлаашалгадаг. Энэцонхньтэгвэляагмайлшалгахтай
адилхан. Чихэрэглэгчийннэрталбартөөрийнпрограмдоруулжөгсөннэрийг,
паспортталбартньпрограмд оруулж өгсөн паспортаа оруулаад Sing in
товчлуурыгдарна. ХэрэвчизөворуулсанболЕ-Майлцонхнээгдэнэ. Хэрэв
бурууоруулбал‘ТаныоруулсанНэр, паспортбуруубайна’гэсэнбичлэггарч
ирнэ.
Цонхыгхийх
1. Form1 дээрStandart tabs-снэгbutton, хоёрEdit, гурванLabel авчтавин
байршуулна.
2. Label1-ийгсонгонObject Inspector цонхны Propeties талбарыгсонгоно.
ДарааньугталбарынCaption шинжид“Users” бичижөгөхбаFont->Size-д
30 хэмээнзаажөгнө.
3. Тэгвэл label2-ийн caption-нд ‘Xereglegchiin Ner’, label3-ийн caption-нд
‘Password’, button1-ийнcaption-нд‘Sing in’гэжтустусбичижөгнө.
4. Edit1, Edit2-ийнobject Inspector цонхныproperties->text-сбичгийгарилгах
баEdit2 – ийнproperties->PasswordChar шинжид*-ыгбичижөгнө. Энэчи
21
паспортыгоруулж байхад чамайг ямар паспорт оруулж байгаас үл
хамааранчинийпаспортыгнууцалж*-ынцуваагаарнүдэндхаруулдаг.
5. File/New/From хэмээнсонгожForm2- ийгүүсгэнэ.
6. Form2-ийнCaption-нд‘Е-Маil’гэжбичижөгөхбаForm2 дээрlabel, edit,
memo1-ийг тавьж харгалзах нэрийг нь солих бичгийг нь арилгах
үйлдлүүдийгхийнэ.
7. Button1 товчлуурдээрхоёрдарахадTForm1.Button1Click(Sender: TObject);
процедурүүсэхбадараахтомъёогбичижөгнө.
procedure TForm1.Button1Click(Sender:
TObject);
begin
if (edit1.Text='bayrbat') and
(edit2.Text='123456')
then
form2.Show
else
showmessage('Tanii oruulsan Ner,
Password buruu baina?');
end;
тайлбар: Бид програмыгажиллуулахад
харгалзахөгөгдлийгedit1, edit2-тбичижөгөхбаedit1- ньБаярбатгэжбичсэн
байнауу, Edit2 нь123456 гэжпаспортыгзөворуулсанбайнауугэжшалгана.
ХэрэвБаярбат, 123456 хэмээнөгөгдлийгзөворуулбалform2 ньshow буюу
харагдана(Нээгдэнэ) гэсэнүг. Харинөгөгдлийгямарнэгэнбайдлаарбуруу
оруулбал‘Tanii oruulsan Ner, Password Buruu Baina?’ гэсэнмсж-ийгбидэнд
харуулна. Showmessage – ньдэлгэцэндмэдээлэлхаруулдагпроцедурюм.
8. F9 товчлуурыгдарна
9. Үүсэх‘Yes, No, Cancel’ сонголттойцонхньForm1-ийгForm2-тойхолбох
уугэжасуужбайгаацонхтул‘Yes’ сонголтыгдарандахинF9 товчлуурыг
даранпрограмыгажиллуулна.
10. Нэмжхэлэхэд7-рүйлдэлдээрБаярбатгэсэннэрийнорондөөрийннэрийг,
123456 тооны орондөөрийнпаспортыгоруулж өгчдахинпрограмыг
ажиллуулжүзээрэйболно.
Label
Label
Labe
Edit1
Edit2 Button
Хамгийнихдархсанкомпьютерийнвирус
Гиннесийнномонддэлхийдаяартархаж, нийт 3,1
саякомпьютерт халдварласанамжилтаар2000 оны5-р
сарын1-ндI Love You вирусорсонбайна.
22
Лабораторынажил
Сэдэв: Calculator
23
Тоонымашиныбүтэц
“Calculator” гэсэн
нэроруулах
1, 2, 3, 4, 5 ..
тоонуудыгоруулах
Edit зэстүүндорших
Copy, Paste командууд
Формбуюу
тоонымашины
өнгийгөөрчлөх
+, -, *, / үйлдлүүдийг
тодорхойлохоруулах
Sin, Cos, Tg, Ctg,
Sqrt, Sqr... функцууд
Бодохбуюу“= “
үйлдэл-/+ тэмдэгсолих
үйлдэл
Бүхүйлдлийг
цуцлахСтовчлуур
Бичсэнзүйлийгнэг
нэгоронгоор
арилгах
Цэг“.”Тавин
тусгаарлах
24
Calculator хийхэдашиглагдаххувьсагчуудагзарлах.
a, b, c: real;
m: real;
i: byte;
str: string;
Тайлбар: Биднэмэхболонхасахүйлдлэлхийхийнтулднэмэхтовчлуурдарахаас
өмнөхбичсэнутгыг, нэмэхтэмдэгдарснаасхойш бичигдсэнутгуудыгнэмж
нэмэх үйлдлийггүйцэтгэнэ. Тэгвэл нэмэх тэмдэгдарахаасөмгөх утгыгa
хувьсагч, нэхэмэхтэмдэгдарсны дараахутгыгb гэсэнхувьсагчидхадгалах
үүднээсабаb хувьсагчийгоруужөгнө. Биднийбаснэгэнголхувьсагчболstr
хувьсагчюм. Яагаадтоободохёстойбайдаляагаамөртөрлийнхувьсагчавах
боловгэжнадаасасуужболохюм. Бидпрограмажиллажбайхүедбиднийбичсэн
тоомааньEdit1.text-дstring төрлийнхувьсагчболонхагалагдажбайдаг. Тиймээс
бидstr хувьсагчийнавсангэж хэлж болно. Харинбидбодолтхийхдээмөр
төрлийгбодиттоотөрөлрүү, бодиттоогмөртөрөлрүүшилжүүлэндэлгэцэнд
edit1- ийнтусламжтайгаархарна. Тэгэхлээрбидэндмөнмөртөрлийгбодиттоон
төрөлрүүStrToFloat(); болонбодиттоогмөртөрөлрүүFloatToStr(); хөрвүүлэх
функцуудхэрэгболно.
Calculator-гхийх
1. Form1-ийнProperties->Caption-нд‘Calculator’ хэмээнбичижөгнө.
2. Standard Tab-сMainMenu1 компонентийгавчтавьна.
3. MainMenu1 дээрхоёрдаржForm1. MainMenu цонхнондEdit (Edit дотроо
Copy, Paste, -, Exit), Color ( Black, Blue, Yellow..), Help ( About Calculator )
гэсэнзэсүүдийгүүсгэнэ.
4. Form1.Main цонхыг хаана. Form1 цонх дээр Edit, Button-нгуудыг
байрлуулан харгалзахнэрүүдийгөгнө. Edit1-нText-д0-ийг, Edit2-ийн
Хэрэглэгчийнзүгээс
хувьсагчзарлаххэсэг
Тайлбар: Програм ажиллахүедбидEdit1-дтоог
оруулжөгдөг. ТэгвэлEdit1-дбичсэнутганьString
төрөлтэй байдаг учир бодолтыг хялбар болгох
25
Properties->ReadOnly-ийгtrue болгоно. ЭнэньпрограмажиллахүедEdit2
дээрбичилтхийжболохгүйгэсэнүг.
Тайлбар: Edit2 ньтухайлбалхасахүйлдэлхийгдэхэдedit2 дээр‘–‘ тэмдэг
бичигдэнэ, Tg функцийгажиллуулахад‘Tg’гэсэнбичилтEdit2 дээргарна.
5. Code-ууд:
a. Form1 дээрбайрлахEdit->Copy товчлуурыгдарна. Тэгээддараах
кодыгбичнэ.
edit1.SelText;
edit1.CopyToClipboard;
Тайлбар: Edit1 дээрбичигдсэнбичлэгийнидэвхижүүлсэнхэсгийг
санахойдбуюуClipboardad нөөцөлнө.
b. Form1 дээрбайрлахEdit->Copy товчлуурыгдарна. Тэгээддараах
кодыгбичнэ.
edit1.PasteFromClipboard;
Тайлбар: Edit1-ийн бичлэгийг залгуулан ClipBoardad хадгалсан
бичлэгийгзалгууланбичнэ.
c. Form1 дээрбайрлахColor->Blue товчлуурыгдарна. Тэгээддараах
кодыгбичнэ.
form1.Color:=clBlack;
Тайлбар: ЭнэүйлдэлньForm1-ийнbackground-ийнөнгийгхарөнгөтэй
болгоногэсэнкод.
d. БусадөнгийгдээрСүйлдлийнадилоруулжөгнө.
e. Form1 дээрбайрлахHelp->About Calculator товчлуурыгдарна. Тэгээд
дараахкодыгбичнэ.
ShowMessage('Ene calculator-g Delphi 7.0 program deer bvteew');
f. Одоо1, 2, 3, 4, 5, 6, 7, 8, 9, 0 гэсэнтовчлууруудыгбид4-рүйлдэлдээр
үүсгэсэнбайгаа. ЭдгээрButton-нгууддээрдараадбичихкоднь
ерөнхийдөөижилхэн. Жишээболгож1 товчлуурдээрдарахад
str:=str+floattostr(1);
edit1.Text:=str;
Тэгвэл2 гэсэнтовчлууддээрдарахад
str:=str+floattostr(2);
edit1.Text:=str; гэхмэтцаашньбусадтовчлууруудыгбичижболно.
g. ‘.’-ыгмөндээрхийнадилбичижөгчболно.
str:=str+'.';
form1.Edit1.Text:=str;
h. Тэмдэгсолихбуюу+/- товчлуурынкоднь:
str:=floattostr(-1*strtofloat(form1.Edit1.Text));
edit1.Text:=str;
Тайлбартухайнтоог(-1)-рүржүүлбэлтухайнтоонытэмдэгньхялбар
солигдоно.
26
i. +, /, *, -, үйлдлүүдийгяажхийхвэ? Гэсэнасуултбиднийдараагийн
ажилболно. Кодбичилтнь:
edit2.Text:='+'; {Edit2 дээр+ тэмдэггарч+ үйлдэлхийгдлээгэжзаана}
a:=strtofloat(Edit1.Text); {Үлдэлхийгдэхээсөмнөхутгыгахувьсагчидолгоно.}
str:=''; { Үйлдэлхийгдэснийдараахувьсагчийнутгыгчөлөөлж дараагийнтоог
хадгалахадбэлэнболно}
Тайлбар: Бусад-, /, * үйлдэлньмөндээрхзарчмаарявагдана.
j. Одоотэгвэл‘=’ буюубодохүйлдэл.
var
i:integer;
j:real;
r:real;
begin j:=1;
b:=strtofloat(str); { +, -, *, / үйлдэлхийгдэснийдараахутгыгb хувьсагчдадхадгалжавах}
if edit2.Text='+' then begin c:=a+b; a:=c; end; {+ үйлдэлхийгсэнболхоёртоогнийлбэрийг}
if edit2.Text='-' then begin c:=a-b; a:=c; end; {- үйлдэлхийгсэнболхоёртооныялгаврыг}
if edit2.Text='*' then begin c:=a*b; a:=c; end; {* үйлдэл}
if edit2.Text='/' then begin c:=a/b; a:=c; end; {/ үйлдэл}
if edit2.Text='x^y' then begin
for i:=1 to round(b) do
j:=j*a;
c:=j;
a:=c;
end;
form1.Edit1.Text:=floattostr(c); бодогдосныдараахутгыгEdit1-дхэвлэн
гаргана.
k. Sin, Cos, Tg, Ctg функцууд. Кодбичилтнь
edit2.Text:='Sin(x)=';
a:=strtofloat(form1.Edit1.Text); {edit1-ийнутгыгбүхэлтооруушилжүүлэнхадгална}
c:=sin(a); {sin(x) функыгбодожутгыгньс-дхадгална}
edit1.Text:=floattostr(c); {edit1-дс-ийнутгыгstring төрөлдхөрвүүлэнхэвлэнэ}
str:='';
Талбар: Cos, Tg, Ctg функцуудньдээрхтэйадилханбөгөөдмэдээж
c:=tg(a) эсвэлc:=cos(а) гэхмэтээржааханлөөрчлөгдөнө.
l. BackSpace буюубичсэнзүйлийгнэгнэгорноорньарилгахүйлдэл.
var
i:integer;
begin str:='';
begin for i:=1 to length(edit1.Text)-1 do
str:=str+edit1.Text[i];
if str<>'' then edit1.Text:=str
else edit1.Text:='0';
end;
27
Tайлбар: length-ньмөртөрөлтэйхувьсагчийнуртыголдогфунктиймээс
length-ээс1-рхасчдэлгэцэндхэвлэжбайна. Мөнхэрэвбидтоогнэгнэг
орноорньхассаарбайгаадтоонньдуусчихвалавтоматаардэлгэцэнд0
гэжгарчирдэг. Тиймээсstr<>’ ’ нөхцөлбиелэхгүйбуюухоосонбайвал
Edit1.Text:=0 гэжөгнө.
m. Sqrt, Sqr функцууд. Sqrt - өгсөнтооноосязгууравахүйлдал. Мэдээж
сөрөртооноосязгууравчболохгүйучиртоогсөрөгтооэсэхийг
шалгаххэрэгтэй.
a:=strtofloat(str);
if a<0 then begin label1.Caption:='Tanii oruulsan ugugdul buruu bn';
edit1.Clear;
str:='';
end
else begin
edit1.Text:=floattostr(sqrt(strtofloat(edit1.Text)));
end;
ХаринSqr болөгсөнтоогквадратзэрэгтдэвшүүлдэгучирямарнэгэн
нөхцөлбайхгүй. Өгсөнedit1.text-ийнмөртөрлийнхувьсагчийгбодит
тоолуу хүрвүүлээд, хүрвүүлж гарсан бодит тоогоо квадрат зэрэг
дэвшүүлээдиргээгээдбодиттоогоомөртөрөлрүүшилжүүлэнedit1.text-
дбуцаажоноожөгнө.
edit1.Text:=floattostr(sqr(strtofloat(edit1.Text)));
n. БүхзүйлийгустгахСтовчлуур
Мэдээжбүхзүйлийгустгахтулсанасантоо, хийгдсэнүйлдлүүдцөм
цуцлагдана. Тиймээсдараахбичлэгтбиелэгдэнэ.
form1.Edit1.Text:='0'; { Дэлгэцэнд0 гэжхэвлэгдэнгарна}
str:=''; {санасантоогхоосонболгохбуюуустгана}
edit2.Text:='' {Хийгдсэнүйлдлүүдцуцлагдана}
o. F9 товчлуурыгдаржпрограмыгажиллуулна.
28
Лабораторынажил
ListBox, ComboBox ашиглахнь
29
Програмынбүтэц:
Програмынажиллахгорим:
 Edit1 талбартБанкнынэрийгоруулаадSelect Object талбараасEdit,
ListBox, ComboBox-ийгсонгоодAdd командыгидэвхижүүлжokey товчлуурыг
сонгоно. Энэүйлдлийнүрдүндсонгосонobject-дбанкнэрнэмэгдэнорно.
 Select Object талбараасobject-ийгсонгож идэвхижүүлээд Delete
командыгсонгоходсонгосонobject-ээсутгуудньнэгнэгээрхасагдахболно.
Програмыгхийхгорим:
1. ФормдээрEdit1, ComboBox1, Listbox болонGroupBox-схоёрыгавчтавин
байрлуулна.
2. GroupBox1-ийг идэвхижүүлэн GroupBox-д 3-н CheckBox-ийг авч тавин
холбогдохнэрүүдийгньолгоно.
3. GroupBox2-ийг идэвхижүүлэн GroupBox-д 2 RadioButton-ийгбайрлуулан
холбогдохнэрүүдийгөгнө.
4. Button1 дээрхоёрдарандараахкодыгбичнэ.
if CheckBox2.Checked and RadioButton1.Checked then Listbox1.Items.Add(edit1.Text);
if CheckBox3.Checked and RadioButton1.Checked then ComboBox1.Items.Add(Edit1.Text);
if CheckBox1.Checked and RadioButton2.Checked then Edit1.Clear;
if CheckBox2.Checked and RadioButton2.Checked then Listbox1.Items.Delete(strtoint(edit1.Text));
if CheckBox3.Checked and RadioButton2.Checked then ComboBox1.Items.Delete(Strtoint(Edit1.Text));
Тайлбар: Checked гэдэг нь тухайн CheckBox, RadioButton нь
сонгогдсан(чагтлагдсан) байнауугэдгийгшалгана.
5. F9 товчлуурыгдаранпрограмыгажиллуулна.
ComboBox
ListBox
Select Object
Add & Delete
30
Лабораторынажил
Сэдэв: Notepad
31
PrintDialog
NotePad програмнь.txt өргөтгөлтэйфайлтайажилладагбөгөөдtext
файлыгүүсгэх, засахүйлдлийггүйцэтгэжбайдагtext-ийнeditor юм.
Notepad програмыгбүтэц
Notepad хийгдэхэдашиглагдахнэмэлткомпонентууд
Dialog Tabs: Бидwindows үйлдлийнсистемийнзарим харилцахцонхбуюу
Dialog-ийнашиглажболно. Жишээлбэлбидхуудсыгпринтерлэхийнтулд
Print Dialog-тойажилладаг.
File
Edit
Format
View
Help
RichEdit StatusBar
DialogOpenDialog
SaveDialog
FontDialog
PrintDialog
FindDialog
ReplaceDialog
32
NotePad програмхийх:
1. Шинээрформыгүүсгэнэ.
2. Standard tabs-сMainMenu1, Win32 tabs-сRichEdit1 компонентийгформдээр
байрлуулна.
3. MainMenu1 компонентдээрхоёрдаранForm1.MainMenu1 харилцахцонхыг
нээж File, Edit, Format, View, Help зэснүүдийгболонтэдгээртхаргалзах
товчлууруудыгүүсгэжөгнө.
File зэсэндNew, Open, Save, Save As, Print,
Exit
Edit зэсэндUndo, Copy, Cut, Paste, Del, Find,
Select All, Time/Data
Format зэсэндFont
View зэсэндStatusBar
Help зэсэнд About Notepad зэрэг
товчлууруудыгүүсгэжөгнө.
4. RichEdit1-ийгсонгонидэвхижүүлжтүүнийproperties->Align шинжийгalClient
болгоно.
5. ОдооDialog tabs-сOpendialog, SaveDialog, Fontdialog, Printdialog, FindDialog
компонентуудыг форм дээр байрлуулна. Эдгээр компонентийн талаар
дэлгэрэнгүймэдээллийгавахыгхүсвэлтухайнкомпонентдээрдараадF1
товчлуурыгдаранhelp файлаасхаржболохюм.
6. File зэснийүйлдлүүдийгхийх:
a. File->New-ийгсонгоноүүсэхталбарт
RichEdit1.Clear;
b. File->Open-ийгсонгоноүүсэхталбарт
OpenDialog1.Filter := 'Text files (*.txt)|*.TXT';
if OpenDialog1.Execute then
RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName)
else
RichEdit1.Lines.Clear;
Тайлбар: 'Text files (*.txt)|*.TXT'; - ньбидзөвхөн компьютерээсээ.txt
өргөтгөлтэйфайлуудыгялганхаруулдаг. Учирньnotepad ньзөвхөн.txt
файлтайажилладаг. OpenDialog1.Execute- гэдэгньOpenDialog цонхнээгдэн
дэлгэцэндхарагдажбуйгшалгадагфункцхэрвээOpenDialog цонхнээгдсэн
болExecute-ньtrue утгыгавдагболно.
33
RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName) – ньRichEdit1-дтаны
openDialog-рсонгосонфайлыгнээнэ.
c. File->Save As
var filename:string;
begin
SaveDialog1.Filter := 'Text files (*.txt)|*.TXT';
if SaveDialog1.Execute then
begin
filename:=SaveDialog1.FileName+'.txt';
RichEdit1.Lines.SaveToFile(Filename);
Form1.Caption:=FileName;
end
else
RichEdit1.Lines.Clear;
Тайлбар: RichEdit1.Lines.SaveToFile(Filename); - ньSaveDialog-дтаныөгсөн
нэрээрфайлыгхадгална.
d. File -> Save
if filename = '' then
begin
SaveDialog1.Filter := 'Text files (*.txt)|*.TXT';
if SaveDialog1.Execute then
begin
filename:=SaveDialog1.FileName+'.txt';
RichEdit1.Lines.SaveToFile(Filename);
Form1.Caption:=FileName;
end
OpenDialog1.FileName
OpenDialog1.Filter := 'Text files (*.txt)|*.TXT';
34
else
RichEdit1.Lines.Clear;
end
else RichEdit1.Lines.SaveToFile(Filename);
Тайлбар: Save командньSave As командаасялгаатайталньтухайнфайлнь
өмнөньхадгалагдсанбайнауугэдгийгшалгаадхэрэвөмнөньхадгалцан
байвалтүүнддээрээснэмжхадгална. Харинөмнөньхадгалагдаагүйбайвал
Save As командыггүйцэтгэнэ. Тиймээсfilename=’’ хэмээннөхцөлтавьсан
байна.
e. File->Print
form1.PrintDialog1.Execute;
Тайлбар: энэньзөвхөнPrintDialog-ийгнээхүйлдэлбөгөөдбусадзүйлсийгнь
таhelp-схарнауу.
f. File->Exit
form1.Close;
7. Edit зэснийүйлдлүүдийгхийх:
a. Edit->Undo
RichEdit1.Undo;
b. Edit->Copy
RichEdit1.SelText;{Copy хийххэсгийгидэвхижүүлнэ}
RichEdit1.CopyToClipboard; {идэвхижүүлсэнхэсгийгхуулна}
c. Edit->Cut
RichEdit1.SelText;
RichEdit1.CutToClipboard;
d. Edit->Paste
RichEdit1.PasteFromClipboard;
e. Edit->Delete
RichEdit1.SelText;
RichEdit1.ClearSelection;
f. Edit->Find {бичлэгээгхайлтхийх}
FindDialog1.Position := Point(RichEdit1.Left + RichEdit1.Width, RichEdit1.Top);
FindDialog1.Execute;
Тайлбар: ЭнэүйлдэлньзөвхөнFind харилцахцонхыгнээхбахайлтхийхийн
тулдFindDialog –ийнObject Inspector цонхOnFind үзэгдэл(Event)-д
var
FoundAt: LongInt;
StartPos, ToEnd: Integer;
begin
with RichEdit1 do
begin
{ begin the search after the current selection if there is one }
{ otherwise, begin at the start of the text }
if SelLength <> 0 then
35
StartPos := SelStart + SelLength
else
StartPos := 0;
{ ToEnd is the length from StartPos to the end of the text in the rich edit control }
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
if FoundAt <> -1 then
begin
SetFocus;
SelStart := FoundAt;
SelLength := Length(FindDialog1.FindText);
end;
end;
кодыгбичижөгнө. Нэмэлттайлбарыгhelp-савнауу.
g. Edit->Select All
RichEdit1.SelectAll;
h. Edit->Time/Date {бичлэгттухайон,сар, өдөр, цаг, минутыгнэмэх}
var
SystemTime: TSystemTime;
begin GetLocalTime(SystemTime);
RichEdit1.Lines.Add(DateTimetostr(SystemTimeToDateTime(SystemTime)));
end;
Тайлбар: Тухайнмөчийнцагхугацааонсарөдрийгсистемийнцагаасавдаг.
тиймээсSystemTime функцыгхэрэглэсэн.
8. Format зэс
a. Format->Font
if form1.FontDialog1.Execute then
RichEdit1.Font:=form1.FontDialog1.Font;
Тайлбар: Фонддиалогоосбидний сонгосон фонд, үсгийн хэлбэрөнгийг
формийнфондодөгнө.
9. Help зэс
a. Help -> About NotePad
showmessage('ЛабораторынажилNotepad');
10. F9 товчлуурыгдаржпрограмыгажиллуулна.
36
4-рбүлэг.
График, мультимедиатай
ажиллах
37
TCanvas класс
Delphi програмдпормдээробьектийгзурахдааTCanvas классаасудамшсан
Canvas функцийгхэрэглэжбайдаг. Canvas шинжчанарыгrun-time үедлзөвхөн
ашиглахболомжтойobject Inspector цонхондүзэгддэггүйбайна. Голшинжчанар
нь:
Brush: Дүрсийгдүүргэжбудахөнгө, хэвзагварыгтодорхойлно.
Font: Canvas дээрбичигдэхтекстийнфондыголгоно.
Pen: Canvas дээрдүрсзурагүзэгнийөнгөболонөнгийгтодорхойлно.
Canvas-ийндүрсболонтекстийгзурахфункцууд
Canvas.Arc() – Canvas дээрнумзурна
Canvas.Ellipse() – Canvas дээрэллипсийгзурна
Canvas.Polygon() – ооролонөнцөгтийг
Canvas.RoundRec() – дугуйбулантайтэгшөнцөгтийг
Canvas.PolyLine() – олоншулууныгзурна
Canvas.TextOut(X,Y,'Your Text'); - өгсөнх,уцэгдээртекстийгбичнэ.
Canvas.TextRect(Rect,X,Y,'Your Text'); - өгсөнцэгдээртэгшөнцөгтзуран
түүндотроотекстийгбичнэ.
Мультимедиа
Delphi-ын VCL-д мультимедиа (Sound, video) файлыг тоглуулах
TAnimation, TMediaPlayer компонентболонAPI-ийнPlaySound функцыгөргөн
хэрэглэдэг.
PlaySound API-ынфункц
PlaySound API функцийгwave медиафайлуудыгтоглуулахадхэрэглэдэг.
Энэ функцыг ашиглахыг тулд формын interface хэсгийн uses модулийн
жагсаалтандmmSystem модулыгбичижөгчтодорхойлно. Энэфункцньдараах
бүтэцтэй
PlaySound(‘C:WinNtMediaChord.wav’, 0, SND_FILENAME );
‘C:WinNtMediaChordwav’ – тухайнтоглуулахгэжбайгаафайлыннэрбайршил
SND_FILENAME – дискнээсаудиофайлыгтоглуулахадашигладагфлаг. Мөн
зориулалтаасаа хамаарч энэ параметр нь SND_ASYNC, SND_SYNC,
SND_ALIAS, SND_NODEFAULT гэсэнутгуудыгавдаг.
38
TMediaPlayer
TAnimate компонент
TAnimate компонентийгwindows үйлдлийнсистемдашиглагддагжижиг
хэмжээнийavi видеогтоглуулахадхэрэглэдэг. Онцлогшинжүүдньгэвэл:
Active: true үедвидеофайлыгтоглуулжэхэлнэ.
commonAVI: энэшинж ньстандартaviFindFolder, aviFindFile, aviEmpty-
Recycle, aviFindComputer, aviCopyFiles, aviRecycleFile, aviDeleteFile утгуудтай
бөгөөднэрнээсньбарагямаранимашинхөдөлгөөнболохньтодорхойбайхаа.
FileName: avi видеофайлыгөөрөөгаднаасоруулжтоглуулахүеднэрийгнь
тодорхойлжөгнө.
Repitition: Видеохэдэнудаадавтагдахыгтодорхойлно.
startFrame, stopFrame: эдгээршинжчанаруудадтоглуулахвидеофайлын
эхлэл, төгсгөлийнфрэймийндугаарыголгоно.
Timers: frame-гцагашигланүзүүлэхэсэхийгтодорхойлно.
TMediaPlayer компонент
Энэкомпонентньmp3, cdi, wav,
mpg,dat.. форматтай файлуудыг
тоглуулахчадалтай. ПрограмдSound,
Video файлыгтоглуулахдааpanel авч
тавинTMediaPlayer-ийнControlBar-тайхолбожөгдөг. Онцлогшинжүүд:
AutoEnable: TMediaPlayer–ийн
open функцийг дуудах үед
автоматааридэвхитэйболохэсэхийг
тодорхойл.
AutoOpen: FileName шинж
чанартмедиафайлыголгосонүед
MediaPlayer-ын open функцыг
автоматаар дуудах эсэхийг
тодорхойлно.
AutoRewind: true үедфайлын
төгсгөлд ирхэд дахин эхнээс
тоглоно.
Devicetype: Мультимедиа
төхөөрөмжийнтөрлийгтодорхойлно.
Display: Видеофайлыггаргахwindow-гзаажөгнө.
DisplayRec: ВидеофайлыгүзүүлэхталбайгRect төрлөөртодорхойлжөгнө.
EnableButtons: MediaPlayer дээрүзэгдэхтовчнуудыгтодорхойлно.
TAnimate
Panel1
39
Endpos: Медиафайлынтөгсгөлийнбайрлал.
FileName: тоглуулахгэжбуйфайлыннэрийгзаажөгнө.
Mode: Төхөөрөмжийн төлөв байдлыг тодорхойлно. mpPlaying,
mpRecording, mpSeeking, mppaused, mpOpen, mpNotready, mpStopped гэсэн
утгуудыгавдаг.
Notify: гүйцэтгэсэнүйлдлийгмэдээлэхэсэхийгтодорхойлно.
NotifyValues: Хамгийнсүүлдмэдээлсэнүйлдлийнүрдүн
Position: Медиафайлынтухайнбайрлалыгтодорхойлдог.
TimeFormat: Тухайнтөрөөмжиндзориулж ашигладагцагийнформатыг
тодорхойлжөгнө.
Tracks: Медиафайлынагуулахtrack-ийнтоогтодорхойлно.
VisibleButtons: ControlBar дээрүзэгдэхMediaPlayer-нтовчийгтодорхойлж
өгнө.
Wait – Програмыгдуудахүедудирдлагыгбуцаахэсэхийгтодорхойлно.
40
Лабораторынажил
02  cbxax функцынграфик
41
Програмыгбүтэц
Графикийгзурах:
1. Form1-ийнobject inspector цонх(event)үзэгдлүүдээсOnPaint үзэгдэлдээрхоёр
дараахкодыгбичнэ.
form1.Canvas.Pen.Color:=clblack;
form1.Canvas.MoveTo(0,form1.ClientHeight div 2);
form1.Canvas.LineTo(form1.ClientWidth, ClientHeight div 2);
form1.Canvas.TextOut((Form1.ClientWidth div 2) + 5, 1, 'X');
form1.Canvas.TextOut(Form1.ClientWidth div 2 -3, -1 , '^');
form1.Canvas.MoveTo(form1.ClientWidth div 2 ,0);
form1.Canvas.LineTo(form1.ClientWidth div 2 ,ClientHeight);
form1.Canvas.TextOut(Form1.ClientWidth-15, Clientheight div 2+3 , 'Y');
form1.Canvas.TextOut(Form1.ClientWidth-5, Clientheight div 2-7 , '>');
end;
Тайлбар: ЭнэүйлдэлньформдээрХ, Утэнлэгийгзурна. Canvas.MoveTo() функц
ньзурахэхлэлийнцэгийгзаажөгнө. Canvas.LineTo() функцньэхлэлийнцэгээгуг
цэгхүртлэхшулууныгзурна.
2. Form дээрMainMenu компонентийгтавин Exit, Draw Graphi зэснүүдийг
үүсгэнэ.
3. Exit зэсэнддээрдарахад
Form1.close;
4. File зэснээсNew->Form командыгөгөхбуюушинэформыгүүсгэнэ.
5. Draw Graphi зэсийгсонгоход
Х,Утэнхлэг
a, b, c –ийн
утгыгоруулах
жижигцонх
42
Form2.show;
6. Form2 дээр3-нedit, 1 button тавьна.
Тайлбар: 3-нEdit-дбидa, b, c-ийнутгуудыгбичижөгнө.
7. Form2 дээрбайрлахbutton дээрхоёрдаран
var
a,b,c:integer;
i:integer;
begin
a:=strtoint(form2.Edit1.Text);
b:=strtoint(form2.Edit2.Text);
c:=strtoint(form2.Edit3.Text);
form1.Canvas.MoveTo(form1.ClientWidth div 2, form1.ClientHeight div 2);
for i:=-(form1.ClientWidth div 2) to form1.ClientWidth div 2 do
form1.Canvas.LineTo(i+form1.ClientWidth div 2, -a*i*i+b*i+c+form1.ClientHeight
div 2);
form2.Edit1.Clear;
form2.Edit2.Clear;
form2.Edit3.Clear;
form2.close;
end;
Тайлбар: form1.Canvas.LineTo(i+form1.ClientWidth div 2, -a*i*i+b*i+c+form1.ClientHeight div 2); - нь
y=ax2
+bx+c функцбичсэнболно.
8. F9 товчлуурыгдаржпрограмыгажиллуулна.
43
Лабораторынажил
Мультимедиа
44
Програмыгбүтэц
Програмыгхийх:
1. Form дээрStandard tabs-сPanel, MainMenu, Dialog tabs-сOpenDialog-ийг,
System tabs-сMediaPlayer компонентыгтустусбайрлуулна.
2. MainMenu компонентдээрхоёрдаранFile зэсийгүүсгэхбафайлзэсньдотроо
Open, Exit гэсэнталбартайбайна.
3. MediaPlayer компонентийнproperties(шинж)-ийнdisplay талбартPanel1-ийг
заажөгнө.
4. File зэснийкомандууд
a. File->Exit
Form1.close;
b. File->Open
if opendialog1.Execute then
begin
mediaplayer1.FileName:=opendialog1.FileName;
mediaplayer1.open;
mediaplayer1.DisplayRect:=Panel1.ClientRect;
end;
5. Таньд баярхүргьетаMediaPlayer програмыгзохиочихлоо. Таодоо F9
товчлуурдээрдаранпрограмыгажиллуулжүзнэүү.
File зэс Panel
MediaPlayer
45
Лабораторынажил
Минийсанасантоохэдвэ?
46
Програмынбүтэц
Програмыныажиллахгорим:
‘Xed xvrtel too sanah be?’ талбарттаөөрийндээдхязгаарыгбичиж
өгнө. Жишээлбэл: 2000 дарааньRandom товчлуурыгдарахадкомпьютер
санамсаргүйбайдлаар0-2000 хүртлэхтоонооснэгтоосанахбатэртоонь
хэдэноронтойболохыг‘oron’ талбараасхарж болно. Хэрэвтаахадхэцүү
байвал Help зэсийгсонгоххэрэгтэй. Тэгвэл ‘tsipr’ талбарт0-9 хүртлэх
цикрүүдхэдэнширхэгорсонньтоологдоодгараадирнэ. ‘Jishix too’ та энэ
талбарттаамаглажбуйтоогоохийгээд‘Jishih’ товчлуурдээрдараншалгаж
болно. Эцэстолохгүйбол‘Xevleh’ товчлуурдээрдаржкомпьютерямартоо
санасныгүзэжболно.
Ашиглагдаххувьсагчид
Number: real;
teg,neg,hoer,gur,dvr,tav,zur,dol,naim,es:integer;
str:string;
Тайлбар: Нэггэсэн цифр хэдэн ширхэгорсон байгаагтоогхадгалдаг
хувьсагчбол‘neg’ гэхмэтээрхувьсагчийгсонгонавсан.
Хийхдараалал:
1. Form дээрMainMenu-1, Edit-2, Groupbox-1, Button-3, Label-3 ширхэгийг
тавьна.
2. GroupBox-ийнидэвхижүүлээддээрнь20 ширхэгlabel ахиннэмжтавихба
тохирохнэрийгөгнө.
Цифр
цонх
Дээд
хязгаарHelp
Жиших
Хэвлэх
Орон
47
3. MainMenu компонентдээрхоёр даранFrom1.MainMenu1 харилцах
цонхондExit, Help зэсийгүүсгээдцонхыгхаана.
4. Random товчлуурдээрдарахадхийгдэхүйлдэл:
number:=Random(StrToint(Edit1.Text));
str:=FloatToStr(number);
label13.Caption:=IntToStr(length(str));
Тайлбар: Компьютер Random функцын тусламжтайгаар санамсаргүй
байдлаартоогсанахболно. ТэртоогооNumber хувьсагчидөгчхадгална.
5. Help зэсийгсонгоходхийгдэхүйлдэл.
var
i:integer;
begin teg:=0;neg:=0;hoer:=0;gur:=0;dvr:=0;tav:=0;zur:=0;dol:=0;naim:=0;es:=0;
For i:=1 to length(str) do
begin
if str[i]='0' then teg:=teg+1; {0 цифрхэдоржбайгаагтоолжбайна.}
if str[i]='1' then neg:=neg+1;
if str[i]='2' then hoer:=hoer+1;
if str[i]='3' then gur:=gur+1;
if str[i]='4' then dvr:=dvr+1;
if str[i]='5' then tav:=tav+1;
if str[i]='6' then zur:=zur+1;
if str[i]='7' then dol:=dol+1;
if str[i]='8' then naim:=naim+1;
if str[i]='9' then es:=es+1;
end;
label1.Caption:=inttostr(teg); { 0 цифр хэдэн ширхэгбайгаагlabel-ээр дамжуулан
дэлгэцэндхэвлэжбайна. }
label2.Caption:=inttostr(neg);label3.Caption:=inttostr(hoer);
label4.Caption:=inttostr(gur);label5.Caption:=inttostr(dvr);
label6.Caption:=inttostr(tav);label7.Caption:=inttostr(zur);
label8.Caption:=inttostr(dol);label9.Caption:=inttostr(naim);
label10.Caption:=inttostr(es);
end;
6. Jishih товчлуурыгдарахадхийгдэхүйлдэл:
if number=StrToFloat(Edit2.Text) then showmessage('you are win')
else showmessage('Tentsehgui baina');
Тайлбар: хэрвээтаныоруулсантоозөвбайвал‘you are win’ бичиггарахба
харинтаны оруулсантоотэнцэхгүйбайвал‘'Tentsehgui baina'’ гэж гарч
ирнэ.
7. ‘Xevleh’ товчлуурыгдарвал:
label12.Caption:=FloatToStr(number);
8. F9 товчлуурыгдаржпрограмыгажиллуулнауу?
48
5-рбүлэг.
Өгөгдлийнсантай
ажиллах
49
Мэдээллийнсангийнтухайойлголт
Хоорондоохолбообүхийхүснэгтүүдийннэгдлийгөгөгдлийнбаазгэнэ.
Хүснэгтийн баганыг талбар(Field), мөрийг бичлэг(record) гэж нэрлэдэг.
Мэдээллийнсанньтүүнийгудирдахсистемдээрүүсгэжболовсруулдаг.
Delphi програм нь өгөгдлийн баазын гурван өөр механизм дээр
тулгуурласан application боловсруулж чадна. Үүнээсбид зөвхөннэгийгнь
дэлгэрүүлжүзэхболно.
LocalDataBase – файлсуурьтай
1. User Interface Element:
Delphi програм
дээр өгөгдлийн
баазыгхэрэгэлчдэд
харуулах
боломжтой
компонентуудбайрлах бөгөөдэдгээрийгData aware компонентгэдэг.
ЭдгээркомпонентуудньData Control tab-дбайрладаг. BDGrid, DBEdit,
DBLocal, DBComboBox.. гэхмэт. ЭдгээркомпонентууддээрDatasource
гэсэншинжproperties-дбайдаг. Энэшинжидтухайнформдээртавигдсан
Datasource-дхолбожөгнө.
2. DataSource: энэньХэрэглэгчийнUser Interface Element-ийгBDE Data Set-д
холбожөгдөг.
3. BDE Data Set энэньSession-рдамжинөгөглийнбаазтайхолбогддог. Үүнд
Table, Query, StoredProc орно.
4. Sesson: BDE alias-гбүртгэхудирдахустгахүйлдлүүдийггүйцэтгэдэг.
Энэньхэрэглэжбуйтехнологиосхамаарчөөрөөрийнгэсэнонцлогшинжбүхий
компонентуудыгашигладаг. Үүнд:
BDE InterBase ADO dbExpress
TDataBase TIBDatabase TADOConnection TSQLConnection
TTable TIBTable TADOTable TSQLTbale
TQuery TIBQuery TADOQuery TSQLQuery
TStoredProc TIBStoredProc TADOStoredProc TSQLStoredProc
TIBDataset TADODataset TSQLDataset
User
Interface
Element
DataSource
DBE Dataset
Session
BDE Local
BDE
Application Control Panel
ODBC
Alias
50
Add
Driver do Microsoft
Access (*.mdb)
ODBC Alias үүсгэх
Alias гэдэгньтаныөгөгдлийнбаазыгкомпьютертхаанабайрлажбайгааг
програмдзаажөгөхбөгөөдпрограмтусзамындагуухандажөгөгдлийнбаазтай
харилцана. Тиймээсүнэнзөвалдаагүйбайххэрэгтэй
1. Access програм дээр өөрийн програмд ашиглагдах өгөгдлийн баазын
үүсгэнэ.
2. Start меню-> Control Panel -> Administrative Tools -> Data Sources (ODBC)-
ыгсонгожорно.
3. ҮүсэхODBC Data Sources Administrator цонхноосAdd командыгсонгоно.
4. Create New Data Source харилцахцонхнээгдэхбаDriver do Microsoft
Access(*.mdb) – сонгонидэвхижүүлжFinish товчлуурыгдарна.
5.
51
ТахэрвээүйлдлийнзөвгүйцэтгэсэнболODBC Microsoft Access Setup цонх
нээгдэнэ. ЭнэцонхныData Source Name талбарттаөөрийндуртайнэрийг
өгчболохбөгөөдэнэтаныalias-ийннэрболно.
6. Description талбартахэрвээшаардлагатайгэж үзэвэлтовчтайлбарыг
бичижболно. Бичихгүйбайсанчболно.
7. Database талбарынSelect товчлуурыгдаржүүсэхSelect Database цонхондта
өөрийн1-рүйлдэлдээрүүсгэсэнAccess-ийнбаазыгсонгоодok товчлуурыг
дарна.
8. ТадээрхүйлдлийгамжилттайгүйцэтгэсэнболиргээдODBC Microsoft
Access Setup цонхгарчирэхбадахиноктовчлуурыгсонгоно.
9. Та үйлдлүүдийг амжилттай гүйцэтгэлээ. Та дээрх үйлдлүүдийг зөв
гүйцэтгэсэнэсэхийгODBC Data Source Administrator цонхноосхаржболно.
ХэрэвтаныүйлдэлзөвалдаагүйхийгсэнболэнэцонхондData Source Name
талбартөгсөннэрбуюуalias-ийннэртусцонхонднэмэгсэнбайгаагхарж
болно.
10. октовчлуурыгдаржүйлдлийгдуусгана.
Select
Data Source Name
Таныбаазыннэр
Таныбаазын
байршил
52
Мэдээллийнсангийнкомпонентууд
TTable компонент
TTable компонент нь
мэдээллийн сангийн хүснэг
буюу table-тай богино
хугацаанд, хялбархолбогдож
ажилладагбаэнэхүснэгтээр
өгөгдлийн баазын хүснэгтийг програмаас удирдаж болно. Та TTable
компонентийг ашиглахын тулд DatabaseName, TableName, Active шинж
чанаруудадтохирохутгуудыголгоххэрэгтэй.
DatabaseName: ДээрүүсгэсэнAlias-ийннэрийгзаажөгнө.
TableName: Өгөгдлийнбаазаасхолбогдоххүснэгтийннэрийнзаажөгнө.
Active: Table-ийг идэвхижүүлэх үүргийг гүйцэтгэнэ. DatabaseName,
TableName талбаруудзаавалутгааавсанбайхёстойбөгөөдсонголтыгtrue
болно.
Table – шинжбуюуproperties-ууд
IndexDef: хүснэгтийн индек буюу түлхүүр талбаруудын тухай мэдээллийг
агуулна.
IndexFieldCount – тухайнхүснэгтэндхэдэнтүлхүүрталбарбайгаагтоолно
IndexFieldNames – түлхүүрталбаруудыннэр
Indexname – Хүснэгтдээрххоёрдогчтүлхүүрталбарыгтодорхойлно
MasterFields – Холбоохийнэ
ReadOnly – Хүснэгтийгзөвхөнуншихаарболгоно.
Индексийнтухай
Хүснэгтээсмэдээлэлхайх, хүснэгтийнмэдээллүүдийгэрэмбэлэхүүднээс
түлхүүлбуюуиндексталбарыгүүсгэдэг. Индексталбарыгүүсгэснээсхүснэгтээс
мэдээлэлхайх, өгөгдлийн эрэмбэлэх, эмх цэгцтэй хайхзэрэгүйлдлүүдийг
хялбаршуулжөгдөг.
MasterSource, MasterFiled шинжүүд
Биднийашилажбайгааөгөгдөлбуюухүснэгтүүдньхоорондоохолбоотой
байдаг. ЖишээлбэлБат, Дорж, Дондоггэдэг3 оюутантайангидАриунаабагш
хичээлордоггэжбодьё. ГэхдээАриунаабагш зөвхөнДоржболонДондогтл
хичээлзаадагтулхичээлийнэрхлэгчасуувалАриунаабагшбизөвхөнДондог,
ДоржхоёртлхичээлзаадагхэмээнэнэангиасбуюуэнэхүснэгтээсДорж, Дондог
хоёрыгялгажаваххэрэгтэйболдог. Өөрөөрхэлбэлшүүлтхийдэгхэмээнхэлж
болно. ЭнэдохиолдАриунаабагшнийгагуулсанхүснэгтньMasterTable болохба
Бат, Дорж, Дондогийгагуулсан хүснэгньDetail table буюуMasterTable-р
шүүгддэг.
TTable
TQuery
53
Table – компонентийнүндсэнфункцууд
AddIndex – Хүснэгтэндшинээриндексийгүүсгэдэг
Create table – шинээрхүснэгтийгүүсгэдэг
DeleteIndex – хоёрдогчиндексийгустгана.
DeleteTable – Хүснэгтийгустгана.
EditKey – хүснэгтийгdsSetkey төлөвторуулж түүнээсхайсанбичлэгүүдийг
засварлахболомжолгодог.
FindKey – Индекстэйталбараасбичлэгийгхайжолоодкурсорыгбайрлуулна.
GotoKey – Findkey-тэйижилүүргийггүйцэтгэнэ.
GotoNearestKey – Индекстэйижилбуюуойролцооутгатайбичлэгийгхайжолоод
курсорыгбайршуулна.
Setkey –ХүснэгтийгdsSetKey төлөвторуулна. GotoKey8 GotoNearest функцуудтэй
цугхэрэглэгдэнэ.
TQuery компонент
Delphi-ийнөгөгдлийнсангийнпрограмчлалдбидTQuery компонентийг
ашиглаж баазаас буюу хүснэтээс
мэдээллийгшүүж, ялгаж авчболдог.
TQuery-ийг баазтай холбож өгдөг
онцлогшинжүүдньболDatabaseName,
SQL, Active; шинж чанарууд юм.
DatabaseName болон Active шинжүүд
нь TTable-ийн DatabaseName болон
Active-тайадилханүүргийггүйцэтгэдэг
бөгөөдSQL шинжньонцгой. Учирнь
SQL шинжид бид SQL кодыг
бичилтийг хийж query-ийн хийх
үйлдлийгтодорхойлөгдөг. Жишээлбэл:
бидэнддарааххүснэгтөгөгджээ.
Сонирхол
Сурагчийннэр Хүйс Сонирходогхичээл
Бат Эр Маркетинг
Гэрлээ Эм Менежмент
Дорж Эр Монголынтүүх
Тэгвэлбиддээрххүснэгтээсзөвхөнэрэгтэйхүүхдүүдямархичээлсонирхдогийг
шүүжялганбичвэл
Active
DatabaseName
SQL
Params
54
Select сурагчийннэр, сонирходогхичээл
Form сонирхол
Where хүйс=p1
Тайлбар:
Select – Гэдэгньсонгосонталбаруудыгдэлгэцэндхэвлэдэгфункц
Form – Альхүснэгтээсдуудахыгзаана
Where – тухайннөхцлийгбичнэ
P1 – query – ийнпараметрбуюухувьсагчэнэжишээндээрэнэхувьсагчньэр
болонэмгэсэнхоёрлутгыгавахзориулалттай.
Хэрэвбидр1=эргэжутгаөгвөлхүснэгтмаань
Сурагчийннэр Сонирходогхичээл
Бат Маркетинг
Дорж Монголынтүүх
Харинбидр1=эмгэжутгаөгвөл
Сурагчийннэр Сонирходогхичээл
Гэрлээ Менежмент
Болно. БидSelect талбартзөвхөнСурагчийннэр, Сонирходогхичээлталбарыгл
бичижөгсөнучирзөвхөнэнэхоёрталбарыгхэвлэжХүйсталбарынхэвлэхгүй.
Магадгүйбидэндолонталбартайхүснэгтээсбүхталбарыгньдэлгэцэндхэвлэж
гаргахыгхүсвэлSelect * буюу‘*’ тэмдгийгтавьхадлхангалттай. ТэгвэлRun-
Time-ийнүедquery-ийнпараметртдараахбайдлаарутгаонооно.
Query1.Close;
Query1.ParamByName('p1').Value:=edit1.text;
Query1.Open;
(жич: таQuery ашиглахыгтулдSQL билтийн талааройлготтой байх
хэрэгтэй)
TField компонент
TField компонентньөгөгдлийнбаазынхүснэгтийннэгталбарыгтөлөөлж
байдаг. TField ашиглагталбарыншинжчанарыголгожболно. Design Time-ийн
үедTTable, TQuery хулганаархоёргтогшиходFields Editor цонхүүсдэг. Энэ
цонхондээрхулганыбаруунтовчыгдарахадүүсэхAdd Field командаарTField-
ийгүүсгэдэг. Fields Editor цонхдээрнэмсэнTField талбаруудааснэгийгсонгоход
түүнийшинжчанарObject inspector цонхдээрүзэгдэнэ. Тухайлбал: FieldName,
Fieldking, Index, Size... гэхмэт.
55
ТайланRave5.0
Rave тайланбэлтгэхпрограмньDelphi 7-сөмнөххувилбаруудадбайдаггүй.
Rave програм ньDelphi 7.0 програмыгсуулгахаддагаадсуудагболно. Rave
програмыгTools зэснийRave Designer
командаар ажиллуулна. Rave програм
дээрбэлтгэгдсэнтайлангRave tabs-ийн
компонентуудаарпрограмтайхолбогдож
ашигладаг. Жишээ болгож Rave-р
тайлангүүсгэжүзье.
1. Шинээрproject үүсгээдTable компонентийгформдээрбайрлуулна. Table
компонентийгөөрийнбаазтайгаахолбонActive шинжчанарыгtrue болгоно.
2. Rave tabs-сTRvDataSetConnection компонентийнформдээравчтавиадdatase
шинжчанартньtable1-ийголгоно.
3. Rave Visual Designer-ыгашигланRave project файлыгдараахбайдлаарүүсгэнэ.
a. Delphi-ийн Tools зэсний Rave Designer-ийгсонгож rave програмыг
ажиллуулна.
b. File зэснийNew data Object-ыгсонгоходData Connection харилцахцонх
үүснэ.
c. Data Object Type жагсаалтаасDirect Data View –гсонгоодnext товчийг
дарна.
d. Active Data Connection жагсаалтаасRVDataSetConnect1-ыгсонгоодfinish
товчдарна.
e. Tools зэснийReportWizardSample Table-ыгдарахадSimple Table wizard
цонхүүснэ.
f. DataView1-ыгсонгоодNext товчийгдарна.
g. ТайландүзүүлэхталбаруудыгсонгоодNext товчийгдарна.
h. Талбаруудыгүзүүлэхдараалал, Report Title болонReport margin, фонтыг
сонгохцонхнуудаасөөрийнсонголтоохийнэ.
i. Wizard хуудаснытөгсгөлдGenerator товчийгдарахадPage Designer цонх
дээртайлангийнинтерфэйсүзэгдэнэ.
j. F9 даржшалгаад, шаардлагатайгэвэлтайлангийнинтерфейсийгзас.
k. File зэснийSave As командаар*.rav прожектфайлыгDelphi дээрүүсгэсэн
прожектындиректордхадгална.
l. Delphi програмдбуцажорно.
4. Rave tabs-сTRvProject компонентийгформдээрбайрлуулна.
5. TRvProject-ынobject inspector цонхдээрүзэгдэхProjectFile шинжчанарт3-р
алхмаарүүсгэсэн.rav файлыгзаажөгнө.
6. Standars tabs-сButton авчтавиадonClick үзэгдлийгүүсгэ.
7. OnClick үзэгдэлдRvProject компонентийнExecute функцыгдуудаж байгаа
үйлдлийгтодорхойлно.
RvProject1.Execute;
8. F9 даржпрограмыгажиллуулаадтовчдээрдарахадтаныхүснэгтээрүүссэн
тайлангүзэхболно.
56
Лабораторынажил
Dictionary хийх
57
Тольбичигхийхдараалал:
Тольбичгээсхайлтхийх
1. Access програмдээрEnglish, Mongol гэсэнхоёрталбартайхүснэгтийгүүгэнэ.
2. ODBC alias-ийгүүсгэнэ.
3. Delphi 7.0 програмыгажиллуулжшинэproject файлүүсгэнэ.
4. Form дээрээ BDE tabs-с Table компонентийг авч танин Databasaname,
TableName-ийгзаажөгөөдactive-ийгtrue болгоно.
5. DataControls tabs-сDBGrid, Data Access tabs-сDataSource компонентийгавч
тавина.
6. DataSource1 компонентийнDataSet шинжчанартTable1-ийгзаажөгнө.
7. DBGrid1 компонентийгDataSource шинжидDataSource1 холбожөгнө.
8. Standard tabs-сEdit- компонентийгформдээравчбайруулна.
9. Edit1 компонентийнOnChange үзэгдэлдорондараахкодыгбичнэ.
Table1.Locate('English',Edit1.Text,[LoPartialKey]);
Тайлбар: хүснэгийнEnglish талбараасedit1.text дээрбичсэнбичлэгийгхайна.
Толчбичигтзасвароруулах
10.Form дээр2 Edit, 1 Button нэмжбайрлуулна. Button-нийcaption-д‘edit’ бичиж
оруулна.
11.Edit2 компонентийн caption шинжид ‘English word’, Edit3 компонентийн
Caption шинжид‘Mongol word’ хэмээнбичижөгнө.
12.DBGrid компонентдээр дарж идэвхижүүлээд object inspector цонхноос
OnDblClick Үзэгдэлдорондараахкодыгбичнэ.
Edit2.text:=DBGrid1.Fields[0].AsString;
Edit3.text:=DBGrid1.Fields[1].AsString;
Тайлбар: програмажиллажбайхүедзасахгэж буймөрөндээрхоёрдарахад
тухайнхүснэгтэндхарагдажбайсанутгуудEdit3 болонEdit4 дээргарна. Тэгээд
таөөрийнзасахгэсэнзүйлээзасна.
13.Button1-ийнOnClick үзэгдэлдорондараахбичилтийгхийнэ.
table1.Edit;
Table1.FieldByName('English').AsString:=Edit2.Text;
Table1.FieldByName('Mongol').AsString:=Edit3.Text;
Table1.Post;
Тайлбар: хүснэгтэндөөрчлөлторуулахынтулдзаавалхүснэгтийгEdit горимд
оруулахбахүснэгттэйажиллаждууссанболбазаавалpost хийжEdit горимоос
шилждэг. Энэтовчлуурдээрдарахадтаны 12-рүйлдэлддээрхийж заасан
өгөгдөлчиньбаазад, хүснэгтэндхадгалагдана.
Тольбичгэндүгнэмэх
14.Standard tabs-сButton-гавчформдээрбайрлуулна.
15.Button-нийcaption шинжид‘insert’ бичижоруулна.
16.Button-нийOnClick үзэгдэлднэвтрэнорондараахкодыгбичнэ.
58
table1.Edit;
Table1.Insert;
Table1.FieldByName('English').AsString:=Edit2.Text;
Table1.FieldByName('Mongol').AsString:=Edit3.Text;
Table1.Post;
Тайлбар: Table1.insert функньхүснэгтэндшинээрбичлэгнэмэхбаEdit2, Edit3 – р
бичигдсэнөгөгдлүүдбаазаднэмэгдэнэ. МагадгүйтахүсвэлEdit2, Edit3 өөр
компоненташигласанчболно.
17.F9 товчлуурыгдаранпрограмыгажиллууна.
59
1

Weitere ähnliche Inhalte

Andere mochten auch

2014 Best Sports Cars
2014 Best Sports Cars2014 Best Sports Cars
2014 Best Sports CarsEason Chan
 
Music video audience profile
Music video audience profileMusic video audience profile
Music video audience profileChloé
 
رهبری تیمهای نوآور
رهبری تیمهای نوآوررهبری تیمهای نوآور
رهبری تیمهای نوآورSina Bagherinezhad
 
9 einfache Ideen für individuelle Bildmotive
9 einfache Ideen für individuelle Bildmotive9 einfache Ideen für individuelle Bildmotive
9 einfache Ideen für individuelle BildmotiveWebdesign Journal
 
Artificial Intelligence 06.01 introduction bayesian_networks
Artificial Intelligence 06.01 introduction bayesian_networksArtificial Intelligence 06.01 introduction bayesian_networks
Artificial Intelligence 06.01 introduction bayesian_networksAndres Mendez-Vazquez
 
8.1 el franquismo-fundamentos ideológicos y evolución política-arturo y vicente
8.1 el franquismo-fundamentos ideológicos y evolución política-arturo y vicente8.1 el franquismo-fundamentos ideológicos y evolución política-arturo y vicente
8.1 el franquismo-fundamentos ideológicos y evolución política-arturo y vicentejjsg23
 

Andere mochten auch (11)

Lipinski Jmrc Lecture1 Nov2008
Lipinski Jmrc Lecture1 Nov2008Lipinski Jmrc Lecture1 Nov2008
Lipinski Jmrc Lecture1 Nov2008
 
2014 Best Sports Cars
2014 Best Sports Cars2014 Best Sports Cars
2014 Best Sports Cars
 
Music video audience profile
Music video audience profileMusic video audience profile
Music video audience profile
 
رهبری تیمهای نوآور
رهبری تیمهای نوآوررهبری تیمهای نوآور
رهبری تیمهای نوآور
 
How to Look at Art
How to Look at ArtHow to Look at Art
How to Look at Art
 
9 einfache Ideen für individuelle Bildmotive
9 einfache Ideen für individuelle Bildmotive9 einfache Ideen für individuelle Bildmotive
9 einfache Ideen für individuelle Bildmotive
 
Pn learning takmin
Pn learning takminPn learning takmin
Pn learning takmin
 
Artificial Intelligence 06.01 introduction bayesian_networks
Artificial Intelligence 06.01 introduction bayesian_networksArtificial Intelligence 06.01 introduction bayesian_networks
Artificial Intelligence 06.01 introduction bayesian_networks
 
ATA CP-MAT program highlights
ATA CP-MAT program highlightsATA CP-MAT program highlights
ATA CP-MAT program highlights
 
Jeff Krongaard - RAYTHEON
Jeff Krongaard - RAYTHEONJeff Krongaard - RAYTHEON
Jeff Krongaard - RAYTHEON
 
8.1 el franquismo-fundamentos ideológicos y evolución política-arturo y vicente
8.1 el franquismo-fundamentos ideológicos y evolución política-arturo y vicente8.1 el franquismo-fundamentos ideológicos y evolución política-arturo y vicente
8.1 el franquismo-fundamentos ideológicos y evolución política-arturo y vicente
 

Ähnlich wie Delphi7 oyutnii garin awlaga 2006 muis (20)

Ood lesson1
Ood lesson1Ood lesson1
Ood lesson1
 
Ood lesson1
Ood lesson1Ood lesson1
Ood lesson1
 
C++
C++C++
C++
 
Lecture1
Lecture1Lecture1
Lecture1
 
Java programchlal s.uuganbayr
Java programchlal s.uuganbayrJava programchlal s.uuganbayr
Java programchlal s.uuganbayr
 
Xp law
Xp lawXp law
Xp law
 
C# hicheelin lekts
C# hicheelin lektsC# hicheelin lekts
C# hicheelin lekts
 
lecture Maker NS
lecture Maker NSlecture Maker NS
lecture Maker NS
 
Gosexem asuult 09
Gosexem asuult 09Gosexem asuult 09
Gosexem asuult 09
 
Lecture1
Lecture1Lecture1
Lecture1
 
сорил
сорилсорил
сорил
 
Android
AndroidAndroid
Android
 
10 мэд зүй компьютер
10 мэд зүй компьютер10 мэд зүй компьютер
10 мэд зүй компьютер
 
Mt 9
Mt 9Mt 9
Mt 9
 
Mt 9
Mt 9Mt 9
Mt 9
 
Mt 9
Mt 9Mt 9
Mt 9
 
Delphi
DelphiDelphi
Delphi
 
8 r angi no4 medeelliig dursleh batatgal
8 r angi no4 medeelliig dursleh batatgal8 r angi no4 medeelliig dursleh batatgal
8 r angi no4 medeelliig dursleh batatgal
 
Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of python
 
Computer hereglee
Computer heregleeComputer hereglee
Computer hereglee
 

Mehr von E-Gazarchin Online University

Mehr von E-Gazarchin Online University (20)

ESON101-Хичээл 11 /20190325/
ESON101-Хичээл 11 /20190325/ESON101-Хичээл 11 /20190325/
ESON101-Хичээл 11 /20190325/
 
ECON302-хичээл 10 /20190319/
ECON302-хичээл 10 /20190319/ECON302-хичээл 10 /20190319/
ECON302-хичээл 10 /20190319/
 
ECON302-хичээл 9 /20190312/
ECON302-хичээл 9 /20190312/ECON302-хичээл 9 /20190312/
ECON302-хичээл 9 /20190312/
 
ESON101-Хичээл 8 /20190306/
ESON101-Хичээл 8 /20190306/ESON101-Хичээл 8 /20190306/
ESON101-Хичээл 8 /20190306/
 
ESON101-Хичээл 9 /20190313/
ESON101-Хичээл 9 /20190313/ESON101-Хичээл 9 /20190313/
ESON101-Хичээл 9 /20190313/
 
ECON303-Хичээл 9 /20190311/
ECON303-Хичээл 9 /20190311/ECON303-Хичээл 9 /20190311/
ECON303-Хичээл 9 /20190311/
 
ECON303-Хичээл 8 /20190304/
ECON303-Хичээл 8 /20190304/ECON303-Хичээл 8 /20190304/
ECON303-Хичээл 8 /20190304/
 
ECON303-Хичээл 6 /20190218/
ECON303-Хичээл 6 /20190218/ ECON303-Хичээл 6 /20190218/
ECON303-Хичээл 6 /20190218/
 
ECON303-Хичээл 10 /20190318/
ECON303-Хичээл 10 /20190318/ECON303-Хичээл 10 /20190318/
ECON303-Хичээл 10 /20190318/
 
ESON101-Хичээл 7 /20190227/
ESON101-Хичээл 7 /20190227/ESON101-Хичээл 7 /20190227/
ESON101-Хичээл 7 /20190227/
 
ESON101-Хичээл 6-1 /20190220/
 ESON101-Хичээл 6-1 /20190220/ ESON101-Хичээл 6-1 /20190220/
ESON101-Хичээл 6-1 /20190220/
 
ECON303-Хичээл 7 /20190225/
ECON303-Хичээл 7 /20190225/ECON303-Хичээл 7 /20190225/
ECON303-Хичээл 7 /20190225/
 
ESON101-Хичээл 5 /20190213/
ESON101-Хичээл 5 /20190213/ESON101-Хичээл 5 /20190213/
ESON101-Хичээл 5 /20190213/
 
KLON103-Хичээл-2 /20190125/
KLON103-Хичээл-2 /20190125/KLON103-Хичээл-2 /20190125/
KLON103-Хичээл-2 /20190125/
 
ECON302-хичээл 4 /20190129/
ECON302-хичээл 4 /20190129/ECON302-хичээл 4 /20190129/
ECON302-хичээл 4 /20190129/
 
ESON101-Хичээл 4 /20190130/
ESON101-Хичээл 4 /20190130/ESON101-Хичээл 4 /20190130/
ESON101-Хичээл 4 /20190130/
 
KLON102-Хичээл 3/20190122/
KLON102-Хичээл 3/20190122/KLON102-Хичээл 3/20190122/
KLON102-Хичээл 3/20190122/
 
ESON101-Хичээл 3 /20190123/
ESON101-Хичээл 3 /20190123/ ESON101-Хичээл 3 /20190123/
ESON101-Хичээл 3 /20190123/
 
CPON411-Хичээл-2-1 /20190122/
CPON411-Хичээл-2-1 /20190122/ CPON411-Хичээл-2-1 /20190122/
CPON411-Хичээл-2-1 /20190122/
 
KLON102-Хичээл 2 /2019015/
KLON102-Хичээл 2 /2019015/ KLON102-Хичээл 2 /2019015/
KLON102-Хичээл 2 /2019015/
 

Delphi7 oyutnii garin awlaga 2006 muis

  • 1. 1
  • 3. 3 Өмнөхүг Бид өнөөдөр програм бичнэ гэж бодвол их хүнд, болж бүтэхгүй, чадахгүй мэтээр төсөөлдөг. Мэдээж програм бичнэ, програмзохионогэдэгболхэнхүнссэнньхийгээдбайдагхялбар ажил, хялбарүйлдэлбиш бөгөөдтаниасбагагүймэдлэг, нүрих хөдөлмөр, сэтгэлгээшаарддагньнууцбишээ. Компьютертехнологи хөгжихийнхэрээрхүнбүхнээскомпьютер, програмжхангамжийн мэдлэгшаардахболсон. Өнөөдөрбиднийаав, ээж бигээдлхүн бүхэнлмашинжолоожодчаддаг. Өөрөөрхэлбэлбидбүгджолооч. Тэгвэлгаадаадынөндөрхөгжилтэйорнуудадпрограмистгэдэгбол энгийнхэрэглээ, хэрэгцээ, мэдлэгболсонньбидбүхэнмашинбарьж чаддагтайажилханхүнбүхнийзайлшгүйэзэмшсэнмэргэжилболсон байна. Гэхдээбидөнөөдөрмэдээжпрограмистхүмүүсшигөндөр түвшинд програм бичиж чадахгүй нь мэдээж. Тэгвэл визуал програмчлал нь бидэнд ийм боломжийг олгодог. Визуал програмчлалбэлэнкомпонент, хялбархэрэглээнийпрограмашиглан өөрийн хэрэгцээг хангасан програм бичих боломжийг бидэнд олгодог. Энэхүүномнь“Визуалпрограмчлал-1”хичээлийнпрограмын дагуу зохиогдсон бөгөөд семнарын ажиллуудаас үндэслэгдсэн болно. Анхлансурагч, мэргэжлийнбусангийноюутнуудадмөн бидний аав, ээж зэрэгкомпьютер ашигладагхүмүүсташиглах материал, зөвлөмж ховорбайдгыгхаргалзанүзэж энэхүүгарын авлагыгбүтээлээ. Биболоюутантиймээсүсүсгийналдаанаасавахуулаадолон зүйлдээрэндэж алдсанбайж болохтулэрхэмуншигчтагэгээн оюундаатунгаанболгооноуу. Нуулгүйхэлэхэдбиөөрийгөөзохиогч гэжхэлболохэсэхээчсайнмэдэхгүйлбайна. Зохиогч
  • 4. 4 Гарчиг 1-рбүлэг. Үндсэнойлголт 1.1. RAD (Rapid Application Development) 1.2. Компонент( Visual Component Library) 1.3. Delphi IDE (Integrated Development Environment) 1.4. Delphi- дашиглагддагфайлуудынтөрлүүд 1.5. Help ашиглах 2-рбүлэг. Түгээмэлашиглагддагшинж, үзэгдэл, дүрмүүд 2.1. Түгээмэлашиглагддагшинжүүд 2.2. Түгээмэлашиглагддагүзэгдлүүд 2.3. Түгээмэлашиглагддагдүрмүүд 3-рбүлэг. Түгээмэлашиглагддагкомпонентууд 3.1. Standart tabs 3.2. VCL графиккомпонентууд Лабораторынажил  User хэрэглэгчийнadmin эрхийнцонх  Тоонымашин  ListBox, ComboBox ашиглахнь  Notepad – гхийх 4-рбүлэг. График, мультимедиатайажиллах 4.1. TCanvas класс 4.2. Canvas дээрдүрсзурах 4.3. Canvas дээртекстзурах 4.4. PlaySound API функц 4.5. TAnimation компонент 4.6. TMediaplayer компонент Лаборатоынажил:  02  cbxax функцынграфик  MediaPlayer  Минийсанасантоохэдвэ? 5-рбүлэг. Өгөгдлийнсантайажиллах 5.1. Мэдээллийнсангийнтухайойлголт 5.2. ODBC Data source үүсгэх 5.3. Мэдээллийнсангийнкомпонентууд 5.4. ТайланRave5.0 Лабораторынажил:  Dictionary хийх  Банкныхадгаламжийнхүүгийнхарицуулдагпрограм
  • 6. 6 RAD (Rapid Application Development) Програмыгхялбараргаарболовсруулах Програмыг хялбар аргаар боловсруулах, олон цонхны горимд ажиллуулахыгтулдRAD технологихөгжижирсэн. RAD – ыгхөгжүүлэгчхэлнь визуал хэл юм. Уламжлалт буюу процедур хандалт Borland Pascal дээр тулгуурласанОХП буюуObject Pascal програм гарчирсэн. ТэгвэлBorland фирмньObject Pascal хэлдээртулгуурласанвизуалпрограмынDelphi хэл1994 онд анх гарсан. 2004 оны сүүлчээр Delphi 9.0 буюуDelphi 2005 програм гарсан. Delphi 7.0 нь2002 ондгарсанбайна. Delphi-г ашиглан windows орчны бүрэн хэмжээний програмбичихболомжтой. Delphi дээрпрограм бичихийнтулд 1. Бэлэн байгаа компонентуудыг угсрах (Design time) 2. Object Pascal хэл дээр кодыг бичих шаардлагатай. (Runtime) VCL (Visual Component Library) Компонент нь дизайн DesignTime-ийн үед удирдаж боловсруулах боломжтойвизуалобьектюм. КомпонентбүрньямарнэгэнTcomponent class-с удамшиж үүсдэг. Хэдийгээркомпонентбүрньклассболовчклассбүрнь компонентболжчадахгүйКомпонентийгRunTime-ийнүедхарагдахбайдлаарнь 1. Визуал 2. Визуалбишгэжангилдаг. DesignTime, RunTime-ийнүедальалиндньхарагдажбайдагкомпонентууднь визуал компонент болно. Delphi дээр програм бичихийн тулд VCL санд тодорхойлсонбэлэнкомпонентуудаасавчашиглана. VCL – доршитухайн компнентууд ньолон тооны үзэгдэл буюу Event, шинж буюуproperties, хувьсагчийнөнгөсолихдүрэмбуюуmethod-c бүрдэнэ.
  • 7. 7 Delphi IDE (Integrated Development Environment ) Delphi 7.0-ынIDE (Integrated Development Environment – програмыгбүрдү- үлэгч, үзэгдэхорчин) ньүдсэн6 цонхноосбүрддэг. 1. Component Palette 2. Design Windows 3. Code Window 4. Project Window 5. Projecties Object Inspector 6. Object TreeView 1. Component Palette: VCL-сашиглаж болохбэлэнкомпонентууд. (товчлуур, цонх, меню... гх) 2. Design Window: Компонентуудыгугсарч програмын харагдах байдал, дизайныгзохиохталбар 3. Code Window: Угсарсанкомпонентуудын цаанаямарүйлдэлгүйцэтгэхвэ? Гэдгийгобьектпаскалхэлбээрбичижөгөхталбар. 4. Project Window: Тухайнпрограмынproject-ынбүтцийгхаруулна. 1 2 3 4 5 6
  • 8. 8 5. Properties Object Inspector: Компонентийншинжчанар(Properties), үзэгдэлийг (Event) эндбайрлуулсанбайна. Delphi-дашиглагдахфайлынтөрлүүд Delphi програмдээрпрограмзохиоходхадгалах, хуулах, зөөххэрэггардаг. Delphi файлуудынтөрөлболонзориулалтыгөргөтгөлөөрньтаньжболно. Эдгээр файлынзориулалтыгдарааххүснэгтээрүзүүлэв. Өргөтгөл Тайлбар .pas Delphi, паскалпрогармынкодбичсэнфайл .dfm, xfm Формфайл. Формнэмэхэдүүсдэгфайл .dot, .kof ЭнэфайлньProject Options харилцахцонхондтодорхойлсон прожектийнхарицахсонголтуудыгхадгалжбайдаг .exe Програмыгcomplete хийснийүрдүндүүсэхпраграмыншууд ажиллуулахфайл .cfg Энэфайлньпрожектодхийсэнтохиргоогхадгалжүлддэг. .dcu Complete хийснийдарааүүсэхbinary обьектфайл .dpr Delphi програмыгбүрдүүлэгчпрожектфайл .bpg Энэфайлньхэдхэдэнпрожекфайлаарбүлэгүүсгэдэг .res, .dcr Энэфайлньпрограмдашиглажбайгааbipmap, icon зэрэг өгөгдлийгхадгалжбайдагфайл .dpk Програмынболонкомпонентынкодбичсэнмодульфайлуудыг нэгсэнфайл .bpl ЭнэфайлньDelphi-ийнонцлогшинжчанарыгагуулсанDLL файлюм. .dcp Пакежийнтолгойхэсэгболонdcu файлуудыннийлүүлж багцалсаннөөцфайл .ddp Компонентуудынхарьцаагүзүүлсэндиаграмфайл .dsk ЭнэфайлньDelphi-ийнIDE дээрүзэгдэжбайсанорчинхадгалж үлддэгфайл Хагийнжижигхэнгар АНУ-ын иргэн Дэвид Леви гэгч дэлхийн хамгийн жижигхэнгарыгбүтээж, 1997 оныгуравдугаарсарын18- нд Гиннесийн номондоржээ. Энэхүү гарнь7,62х3 см хэмжээтэйбөгөөдцагаантолгойнүсгүүдцифрболонбусад функциональ8 товчлууртай.
  • 9. 9 Help ашиглах Ихэнх програмд F1 эсвэл Help зэсний командыгдуудаж тухайн програмын тусламжийн файлыгажиллуудаг. Энэхүү файл нь тухайн програмыгбүтэц, хэрхэнажилдагболонпаскалкодийнжишээгчбас агуулсанбайхтултүүнийгтогтмолашиглажсураххэрэгтэй. ЖишээньEdit компонентийнталаартусламжхүсье. 1. ФормдээрбайрлахEdit1 компонентийгидэвхижүүлээдF1 товчлуур дарна. 2. ҮүсэхTopics Found цонхноосDisplay товчлуурыгдарна. 3. ҮүсэхVisual Component Library Reference Help харилцахцонхоонс өөрийнхүссэнмэдээллээавчболно. 4. Ногоонбичгэнүүддээрүргэлжлүүлэндаржцаашньилүүдэлгэрэнгүй мэдээлэл, жишээкодыгавахболомжтой. Edit ямар шинж чанартай Edit ямар үзэгдэлтэйг Edit юунд хэрэглэх Edit гэж юуболох талаар Хамгийнжижигхэнхулгана Дэлхийн хамгийн жижигхэн хулганыг 2000 онд Тайванд бүтээжээ. Ердийн хулганатай харицуулахад жижигбөмбөгмэт санагдахCatEyeFinRing гэгчэнэхүү бяцхан хулгана ердөө л 4,7 см хэмжээтэй. Дашрамд сонирхуулахадхулганыганх1968 онд ДугласЭнделбарт
  • 11. 11 Delphi 7.0 програмынVCL саннь420 гаруйкомпонентуудтайбайдагба компонентбүрнь20-25 шинж чанар, үзэгдэл, функцуудтай. Тиймболохоор эдгээркомпонентуудыгнэгбүрчлэнүзэхболомжгүй. ХаринүүнийорондVCL компонентуудаднийтлэгбайдагшинж чанар, үзэгдэлфункуудыгавчүздэг. Borland фирм Delphi програмыгжилбүрсайжрууланшинэхувилбаруудыг гаргахдаакомпонентуудыгнэмсэнбайдагбайна. Түгээмэлашиглагддагшинжүүд Сомпонентийншинжүүдньтухайнкомпонентийнбайрлалхэмжээ, өнгө, техт, фондгэхмэтмэдээллүүдийгхадгалжбайдаг. Шинжүүдийгдоторнь 1. DesignTime-ийнүедObject Inspector цонхондөөрчилжболдог 2. Зөвхөнпрограмдотроосөөрчилжболдог хэмээнхоёрангилна. Name – тухайнкомпонентийнпрограмдхарагдахнэр. Онцгойшаардлагагүйбол өөрчлөххэрэггүй. Anchors - Тухайн компонентформтойцугдагаж томорч, жижигрэхэсэх тохируулгахийнэ. Caption, Text – Тухайнкомпонентдээрбичигдэхбичгийгэндбичижөгнө. Color - Тухайнкомпонентийнөнгийнтодорхойлно. BorderStyle – Тухайнкомпонентийнхүрээнийхэлбэрийгтодорхойлно. Fond – тухайнкомпонентдээрбичигдэхүсгийнфондыгтодорхойлно. Height - компонентийнөндөр Width – компонентийнөргөн TabOrder – tab дарахтовчлууруудындарааллийгзаажөгнө. Cursor – тухайнкомпонентдээрхулганызаагчямархэлбэртэйболохыгзааж өгнө. DragCursor – компонентийгчирэхүедкурсорямархэлбэртэйболохыгзаажөгнө. PopupMenu – тухайнкомпонентдээрхулганыбаруунтовчлуурдээрдарахүед үүсэхзэстэйхолбоно. Visible – компонентийгүзэгдэхэсэхийгтодорхойлно. Hint – компонентдээр хулганы заагчийгбайрлуулахадүзэгдэхмэдээллийг тодорхойлно. Компонент Шинж (properties) Үзэгдэл (Event) Дүрэм (Method)
  • 12. 12 Түгээмэлашиглагддагүзэгдлүүд  Удирдлагахүлээнавах, алдахүеийнүзэгдлүүд  OnEnter, OnActivate: Угкомпонентэдудирдлагашилжиж ирэх үеийнүзэгдэл  OnExit, OnDeActivate: Уг компонентоос удирдлага өөр компонентэдшилжүүлэхүеийнүзэгдэлюм.  Гарнытовчооргүйцэтгэхүзэгдлүүд  OnkeyDown – гардээрээстовчдарахүеийнүзэгдэл  OnKeyPress – Товчдарсанүеийнүзэгдэл  OnKeyUp –Товчдараадавахүеийүзэгдэл  OnChange – компонентдээрбичиглэлхийхүеийнүзэгдэл  Хулганытовчдарахүеийнүзэгдлүүд  OnClick – Компонентдээрхулганаардарахүеийнүзэгдэл(зүүн)  OnDblClick – компонентдээрхоёрдарахүеийнүзэгдэл  OnMouseDown – компонентдээрхулганы дарахүеийнүзэгдэл (баруун/зүүн)  OnMouseUp – хулганытовчдараадавахүеийнүзэгдэл  Системийнүйлажиллагаандүүсдэгүзэгдлүүд  OnCreate – компонентийнсанахойдүүсэхүеийнүзэгдэл  OnPaint – компонентзурахүеийнүзэгдэл  OnTimer – нэгжхугацааөнгөрөхөдхийхүйлдлийгтодорхойлно Түгээмэлашиглагддагдүрмүүд  Hide – тухайнкомпонентийгхарагдахгүйболгохдүрэм  Show – тухайкомпонентийгхарагдуулахдүрэм  Destroy – тухайнкомпонентийгсанахойгоосустгагчфункц  ClientToScreen – client талбайгаасөгөгдсөн цэгийгдэлгэцний кординатадхөрвүүлнэ.  Free – компонентийнашигласансанахойгчөлөөлнө  Perform – компонентруумэдээдамжуулдаг  Repaint – угкомпонентийгдахиндуудна ХамгийнөндөрхарайсанРобот АНУ-ын Sandia лабораторийн бүтээсэн Hopper робот нь2001 оны гуравдугаар сард 9метр харайсан амжилтаарГиннесийнномондоржээ.
  • 14. 14 Standart tabs Standard Component Palette-дбидэнхэрэглэгдэхстандарттовчлуур, хэрэглэлүүдбайдагбайна. 1. TFrame: Бүлэгтовлууруудыгүүсгэхэдзориулагдсанкомпонентюм. Түүнтэй ажиллахньформтайажиллахтайерөнхийдөөтөстэй. Гэхдээформшигshow үйлдлээр дуудах боломжгүй бөгөөд форм дээр Frame компонентийг байрлууланхолболтхийндуудна. 2 13 4 5 6 7 8 10 9 11 12 Calculator-ийгframe ашигланхийсэн
  • 15. 15 2. MainMenu: Прогармынменю-ыгхийдэгкомпононт. Меню-гхийх a. MainMenu компонентийгформдээрбайрлуулна b. ФормдээрбайрлахMainMenu компонентдээр2 дарна c. Form1.MainMenu цонхондөөрийнменю-гхийхбаcaption шинжидmenu- нийнэрийгзаажөгнө. 3. PopupMenu: ҮүнийгүүсгэхньMainMenu-тайадилхан. Бидхулганыбаруун товчуурдээрдарвалPopupMenu гарчирэхээрхолбожөгдөг. Програмыгажиллуулбалүрдүннь: Caption Menu үүссэн PopupMenu үүсгэх PopupMenu-г Form1-тайхолбож байна MainMen u Copy Paste Cut PopupMenu
  • 16. 16 4. Label: Форм дээртогтмолтекстмэдээллийгүзүүлэхэдашигладагвизуал компонентюм. Label дээргарахтекстийгProperties-ийнcaption-дбичижөгнө. 5. Edit: Програм ажиллаж байхүедхэрэглэгчмэдээллийгбичиж оруулахад зориулагдсанкомпонент. ХэрэглэгчийноруулсанбичлэгийгProperties-ийн text-дхадгалсанбайдаг. 6. Memo: Edit-тай ижилхэн үүрэгтэй бөгөөд гэхдээ илүү урт, мөртэйгээр бичлэгийгавдагбайна. Ашиглагдахголшинжүүднь: a. Lines: String төрөлтөй хувьсагчбөгөөдMemo-d бичсэн техт-тэй ажилладаг. Жишээлбэл: Memo1.Lines.Add(Edit1.text); 7. Button: ЭнэньDelphi програмынтовчлуурюм. Голшинжүүдбаүзэгдлүүд: a. Caption-д тухайн товчлуур дээр гарах бичиглэлийгхийдэг b. OnClick үзэгдэлтухайнтовчлуурдээрдарахад ямарүйлдэлхийхийгбичижөгнө. Жишээлбэл: Procedure TForm1.Button1Click(Sender: TObject); begin Memo1.Lines.Add(Edit1.Text); end; 8. CheckBox, 9. RadioBox ньголүүрэгньсонголтыголгож байдаг. Голүзэгдэлнь: a. Checked: дүрэмюм. Энэдүрэмньfalse эсвэл true гэсэнBoolean төрлийнутгыгөгдөг. ӨөрөөрхэлбэлСонгосон (Checked=true), сонгоогүй(Checked=true) гэсэнутгыгөгдөг 10. Combobox, 11.ListBox компонентуудньцэсэндөгсөнутгуудаассонголтхийх зориулалттайбайдаг. Ашиглагддагголшинжнь a. Items: ЭнэньнэгталаарааMemo1.lines-тайадилүүрэгтэйбуюу Combobox, ListBox-ынутгатайажиллахүүргийггүйцэтгэдэг. 12.GroupBox: Энэкомпонентньформдээркомпонентуудынбүлгийгүүсгэдэг. Edit1.text-г Memo1.lines-днэмсэн Button OnClick дээр2 дарж кодыгбичнэ.
  • 17. 17 VCL графиккомпонентууд TShape компонент TShape компонентийг форм дээрдүрсбуюудугуй, эллипс, тэгш өнцөгт, квадратгэхмэтолондүрсийг зурахадашигладаг. ЭдээрдүрсдийгзурахболонTShape компонентийнзурахадтүгээмэлхэрэглэгддэг дүрмнь: Brush: Тухайндүрсийнbackground-ынөнгийгтодорхойлжөгнө. Pen: Дүрсийг зурж буй үзэгний шинж чанарыг (өнгө, дүрс... гм) тодорхойлно. Shape: Ямардүрсзурахыгсонгоно. stCircle – дугуй stRoundRect – үзүүрньдугарагтэгөнцөгт stEllipse – эллипс stRectangle – тэгш өнцөгт гэх мэт олон сонголттой. TImage компонент TImage компонентньформдээр зурагоруулахзориулалттайкомпонент юм. Бидний програмд зургийн файлуудыгоруулжөгвөлпрограмын дизайнмааньилүүгоёболохболно. Энэ компонентод зургийг оруулж өгөхголшинж ньobject inspector цонхны Picture шинжийг сонгох дарахадPicture Editor харилцахцонх үүсэх ба load... талбарт зургийн компьютерт байгаа газрыг зааж өгөхөдтаны зурагхолбогдонтаны формдгарчирнэ. TShape TImage Picture Load
  • 18. 18 TTime TPaintBox компонент TPaintBox компонентньформынтодорхойнэгхэсэг, талбайдзурагзурах үедашиглагдана. PaintBox компонентийнхамгийнчухалфункцньболCanvas функцюм. PaintBox дээрзурагзурахдааPaintBox-ынobject Inspector цонхны event буюузүгдлүүдээсonpaint үзэгдэлдCanvas функцыгашигланзурна. Жишээлбэл: PaintBox дээр тэгш өнцөгтзуран, түүндээр ‘Rectangle’ гэжбичие. procedure TForm1.PaintBox1Paint(Sender: TObject); begin Paintbox1.Canvas.Rectangle(10,10,80,80); Paintbox1.Canvas.TextOut(15,15,'Rectangle'); end; TTimer ТTimer компонентньпрограмд хугацааны тоолуурболгонвизуалбус компонентюм. Timer ньдараахонцлог шинжчанартай. Enabled: хугацаанытоолууридэвхитэйбайхэсэхийгтодорхойлно. Interval: Timer компонентийннэгжхугацаагтодорхойлно. Default утгань 1 секундбайдаг. OnTimer: Энэүзэгдлээрtimer компонентнэгжхугацаандюугүйцэтгэхийг тодорхойлно. TPaintBox
  • 20. 20 Users цонхныерөнхийбүтэц, дүрзураг Цонхныажиллахгорим: Бидөдөрболгонмайлаашалгадаг. Энэцонхньтэгвэляагмайлшалгахтай адилхан. Чихэрэглэгчийннэрталбартөөрийнпрограмдоруулжөгсөннэрийг, паспортталбартньпрограмд оруулж өгсөн паспортаа оруулаад Sing in товчлуурыгдарна. ХэрэвчизөворуулсанболЕ-Майлцонхнээгдэнэ. Хэрэв бурууоруулбал‘ТаныоруулсанНэр, паспортбуруубайна’гэсэнбичлэггарч ирнэ. Цонхыгхийх 1. Form1 дээрStandart tabs-снэгbutton, хоёрEdit, гурванLabel авчтавин байршуулна. 2. Label1-ийгсонгонObject Inspector цонхны Propeties талбарыгсонгоно. ДарааньугталбарынCaption шинжид“Users” бичижөгөхбаFont->Size-д 30 хэмээнзаажөгнө. 3. Тэгвэл label2-ийн caption-нд ‘Xereglegchiin Ner’, label3-ийн caption-нд ‘Password’, button1-ийнcaption-нд‘Sing in’гэжтустусбичижөгнө. 4. Edit1, Edit2-ийнobject Inspector цонхныproperties->text-сбичгийгарилгах баEdit2 – ийнproperties->PasswordChar шинжид*-ыгбичижөгнө. Энэчи
  • 21. 21 паспортыгоруулж байхад чамайг ямар паспорт оруулж байгаас үл хамааранчинийпаспортыгнууцалж*-ынцуваагаарнүдэндхаруулдаг. 5. File/New/From хэмээнсонгожForm2- ийгүүсгэнэ. 6. Form2-ийнCaption-нд‘Е-Маil’гэжбичижөгөхбаForm2 дээрlabel, edit, memo1-ийг тавьж харгалзах нэрийг нь солих бичгийг нь арилгах үйлдлүүдийгхийнэ. 7. Button1 товчлуурдээрхоёрдарахадTForm1.Button1Click(Sender: TObject); процедурүүсэхбадараахтомъёогбичижөгнө. procedure TForm1.Button1Click(Sender: TObject); begin if (edit1.Text='bayrbat') and (edit2.Text='123456') then form2.Show else showmessage('Tanii oruulsan Ner, Password buruu baina?'); end; тайлбар: Бид програмыгажиллуулахад харгалзахөгөгдлийгedit1, edit2-тбичижөгөхбаedit1- ньБаярбатгэжбичсэн байнауу, Edit2 нь123456 гэжпаспортыгзөворуулсанбайнауугэжшалгана. ХэрэвБаярбат, 123456 хэмээнөгөгдлийгзөворуулбалform2 ньshow буюу харагдана(Нээгдэнэ) гэсэнүг. Харинөгөгдлийгямарнэгэнбайдлаарбуруу оруулбал‘Tanii oruulsan Ner, Password Buruu Baina?’ гэсэнмсж-ийгбидэнд харуулна. Showmessage – ньдэлгэцэндмэдээлэлхаруулдагпроцедурюм. 8. F9 товчлуурыгдарна 9. Үүсэх‘Yes, No, Cancel’ сонголттойцонхньForm1-ийгForm2-тойхолбох уугэжасуужбайгаацонхтул‘Yes’ сонголтыгдарандахинF9 товчлуурыг даранпрограмыгажиллуулна. 10. Нэмжхэлэхэд7-рүйлдэлдээрБаярбатгэсэннэрийнорондөөрийннэрийг, 123456 тооны орондөөрийнпаспортыгоруулж өгчдахинпрограмыг ажиллуулжүзээрэйболно. Label Label Labe Edit1 Edit2 Button Хамгийнихдархсанкомпьютерийнвирус Гиннесийнномонддэлхийдаяартархаж, нийт 3,1 саякомпьютерт халдварласанамжилтаар2000 оны5-р сарын1-ндI Love You вирусорсонбайна.
  • 23. 23 Тоонымашиныбүтэц “Calculator” гэсэн нэроруулах 1, 2, 3, 4, 5 .. тоонуудыгоруулах Edit зэстүүндорших Copy, Paste командууд Формбуюу тоонымашины өнгийгөөрчлөх +, -, *, / үйлдлүүдийг тодорхойлохоруулах Sin, Cos, Tg, Ctg, Sqrt, Sqr... функцууд Бодохбуюу“= “ үйлдэл-/+ тэмдэгсолих үйлдэл Бүхүйлдлийг цуцлахСтовчлуур Бичсэнзүйлийгнэг нэгоронгоор арилгах Цэг“.”Тавин тусгаарлах
  • 24. 24 Calculator хийхэдашиглагдаххувьсагчуудагзарлах. a, b, c: real; m: real; i: byte; str: string; Тайлбар: Биднэмэхболонхасахүйлдлэлхийхийнтулднэмэхтовчлуурдарахаас өмнөхбичсэнутгыг, нэмэхтэмдэгдарснаасхойш бичигдсэнутгуудыгнэмж нэмэх үйлдлийггүйцэтгэнэ. Тэгвэл нэмэх тэмдэгдарахаасөмгөх утгыгa хувьсагч, нэхэмэхтэмдэгдарсны дараахутгыгb гэсэнхувьсагчидхадгалах үүднээсабаb хувьсагчийгоруужөгнө. Биднийбаснэгэнголхувьсагчболstr хувьсагчюм. Яагаадтоободохёстойбайдаляагаамөртөрлийнхувьсагчавах боловгэжнадаасасуужболохюм. Бидпрограмажиллажбайхүедбиднийбичсэн тоомааньEdit1.text-дstring төрлийнхувьсагчболонхагалагдажбайдаг. Тиймээс бидstr хувьсагчийнавсангэж хэлж болно. Харинбидбодолтхийхдээмөр төрлийгбодиттоотөрөлрүү, бодиттоогмөртөрөлрүүшилжүүлэндэлгэцэнд edit1- ийнтусламжтайгаархарна. Тэгэхлээрбидэндмөнмөртөрлийгбодиттоон төрөлрүүStrToFloat(); болонбодиттоогмөртөрөлрүүFloatToStr(); хөрвүүлэх функцуудхэрэгболно. Calculator-гхийх 1. Form1-ийнProperties->Caption-нд‘Calculator’ хэмээнбичижөгнө. 2. Standard Tab-сMainMenu1 компонентийгавчтавьна. 3. MainMenu1 дээрхоёрдаржForm1. MainMenu цонхнондEdit (Edit дотроо Copy, Paste, -, Exit), Color ( Black, Blue, Yellow..), Help ( About Calculator ) гэсэнзэсүүдийгүүсгэнэ. 4. Form1.Main цонхыг хаана. Form1 цонх дээр Edit, Button-нгуудыг байрлуулан харгалзахнэрүүдийгөгнө. Edit1-нText-д0-ийг, Edit2-ийн Хэрэглэгчийнзүгээс хувьсагчзарлаххэсэг Тайлбар: Програм ажиллахүедбидEdit1-дтоог оруулжөгдөг. ТэгвэлEdit1-дбичсэнутганьString төрөлтэй байдаг учир бодолтыг хялбар болгох
  • 25. 25 Properties->ReadOnly-ийгtrue болгоно. ЭнэньпрограмажиллахүедEdit2 дээрбичилтхийжболохгүйгэсэнүг. Тайлбар: Edit2 ньтухайлбалхасахүйлдэлхийгдэхэдedit2 дээр‘–‘ тэмдэг бичигдэнэ, Tg функцийгажиллуулахад‘Tg’гэсэнбичилтEdit2 дээргарна. 5. Code-ууд: a. Form1 дээрбайрлахEdit->Copy товчлуурыгдарна. Тэгээддараах кодыгбичнэ. edit1.SelText; edit1.CopyToClipboard; Тайлбар: Edit1 дээрбичигдсэнбичлэгийнидэвхижүүлсэнхэсгийг санахойдбуюуClipboardad нөөцөлнө. b. Form1 дээрбайрлахEdit->Copy товчлуурыгдарна. Тэгээддараах кодыгбичнэ. edit1.PasteFromClipboard; Тайлбар: Edit1-ийн бичлэгийг залгуулан ClipBoardad хадгалсан бичлэгийгзалгууланбичнэ. c. Form1 дээрбайрлахColor->Blue товчлуурыгдарна. Тэгээддараах кодыгбичнэ. form1.Color:=clBlack; Тайлбар: ЭнэүйлдэлньForm1-ийнbackground-ийнөнгийгхарөнгөтэй болгоногэсэнкод. d. БусадөнгийгдээрСүйлдлийнадилоруулжөгнө. e. Form1 дээрбайрлахHelp->About Calculator товчлуурыгдарна. Тэгээд дараахкодыгбичнэ. ShowMessage('Ene calculator-g Delphi 7.0 program deer bvteew'); f. Одоо1, 2, 3, 4, 5, 6, 7, 8, 9, 0 гэсэнтовчлууруудыгбид4-рүйлдэлдээр үүсгэсэнбайгаа. ЭдгээрButton-нгууддээрдараадбичихкоднь ерөнхийдөөижилхэн. Жишээболгож1 товчлуурдээрдарахад str:=str+floattostr(1); edit1.Text:=str; Тэгвэл2 гэсэнтовчлууддээрдарахад str:=str+floattostr(2); edit1.Text:=str; гэхмэтцаашньбусадтовчлууруудыгбичижболно. g. ‘.’-ыгмөндээрхийнадилбичижөгчболно. str:=str+'.'; form1.Edit1.Text:=str; h. Тэмдэгсолихбуюу+/- товчлуурынкоднь: str:=floattostr(-1*strtofloat(form1.Edit1.Text)); edit1.Text:=str; Тайлбартухайнтоог(-1)-рүржүүлбэлтухайнтоонытэмдэгньхялбар солигдоно.
  • 26. 26 i. +, /, *, -, үйлдлүүдийгяажхийхвэ? Гэсэнасуултбиднийдараагийн ажилболно. Кодбичилтнь: edit2.Text:='+'; {Edit2 дээр+ тэмдэггарч+ үйлдэлхийгдлээгэжзаана} a:=strtofloat(Edit1.Text); {Үлдэлхийгдэхээсөмнөхутгыгахувьсагчидолгоно.} str:=''; { Үйлдэлхийгдэснийдараахувьсагчийнутгыгчөлөөлж дараагийнтоог хадгалахадбэлэнболно} Тайлбар: Бусад-, /, * үйлдэлньмөндээрхзарчмаарявагдана. j. Одоотэгвэл‘=’ буюубодохүйлдэл. var i:integer; j:real; r:real; begin j:=1; b:=strtofloat(str); { +, -, *, / үйлдэлхийгдэснийдараахутгыгb хувьсагчдадхадгалжавах} if edit2.Text='+' then begin c:=a+b; a:=c; end; {+ үйлдэлхийгсэнболхоёртоогнийлбэрийг} if edit2.Text='-' then begin c:=a-b; a:=c; end; {- үйлдэлхийгсэнболхоёртооныялгаврыг} if edit2.Text='*' then begin c:=a*b; a:=c; end; {* үйлдэл} if edit2.Text='/' then begin c:=a/b; a:=c; end; {/ үйлдэл} if edit2.Text='x^y' then begin for i:=1 to round(b) do j:=j*a; c:=j; a:=c; end; form1.Edit1.Text:=floattostr(c); бодогдосныдараахутгыгEdit1-дхэвлэн гаргана. k. Sin, Cos, Tg, Ctg функцууд. Кодбичилтнь edit2.Text:='Sin(x)='; a:=strtofloat(form1.Edit1.Text); {edit1-ийнутгыгбүхэлтооруушилжүүлэнхадгална} c:=sin(a); {sin(x) функыгбодожутгыгньс-дхадгална} edit1.Text:=floattostr(c); {edit1-дс-ийнутгыгstring төрөлдхөрвүүлэнхэвлэнэ} str:=''; Талбар: Cos, Tg, Ctg функцуудньдээрхтэйадилханбөгөөдмэдээж c:=tg(a) эсвэлc:=cos(а) гэхмэтээржааханлөөрчлөгдөнө. l. BackSpace буюубичсэнзүйлийгнэгнэгорноорньарилгахүйлдэл. var i:integer; begin str:=''; begin for i:=1 to length(edit1.Text)-1 do str:=str+edit1.Text[i]; if str<>'' then edit1.Text:=str else edit1.Text:='0'; end;
  • 27. 27 Tайлбар: length-ньмөртөрөлтэйхувьсагчийнуртыголдогфунктиймээс length-ээс1-рхасчдэлгэцэндхэвлэжбайна. Мөнхэрэвбидтоогнэгнэг орноорньхассаарбайгаадтоонньдуусчихвалавтоматаардэлгэцэнд0 гэжгарчирдэг. Тиймээсstr<>’ ’ нөхцөлбиелэхгүйбуюухоосонбайвал Edit1.Text:=0 гэжөгнө. m. Sqrt, Sqr функцууд. Sqrt - өгсөнтооноосязгууравахүйлдал. Мэдээж сөрөртооноосязгууравчболохгүйучиртоогсөрөгтооэсэхийг шалгаххэрэгтэй. a:=strtofloat(str); if a<0 then begin label1.Caption:='Tanii oruulsan ugugdul buruu bn'; edit1.Clear; str:=''; end else begin edit1.Text:=floattostr(sqrt(strtofloat(edit1.Text))); end; ХаринSqr болөгсөнтоогквадратзэрэгтдэвшүүлдэгучирямарнэгэн нөхцөлбайхгүй. Өгсөнedit1.text-ийнмөртөрлийнхувьсагчийгбодит тоолуу хүрвүүлээд, хүрвүүлж гарсан бодит тоогоо квадрат зэрэг дэвшүүлээдиргээгээдбодиттоогоомөртөрөлрүүшилжүүлэнedit1.text- дбуцаажоноожөгнө. edit1.Text:=floattostr(sqr(strtofloat(edit1.Text))); n. БүхзүйлийгустгахСтовчлуур Мэдээжбүхзүйлийгустгахтулсанасантоо, хийгдсэнүйлдлүүдцөм цуцлагдана. Тиймээсдараахбичлэгтбиелэгдэнэ. form1.Edit1.Text:='0'; { Дэлгэцэнд0 гэжхэвлэгдэнгарна} str:=''; {санасантоогхоосонболгохбуюуустгана} edit2.Text:='' {Хийгдсэнүйлдлүүдцуцлагдана} o. F9 товчлуурыгдаржпрограмыгажиллуулна.
  • 29. 29 Програмынбүтэц: Програмынажиллахгорим:  Edit1 талбартБанкнынэрийгоруулаадSelect Object талбараасEdit, ListBox, ComboBox-ийгсонгоодAdd командыгидэвхижүүлжokey товчлуурыг сонгоно. Энэүйлдлийнүрдүндсонгосонobject-дбанкнэрнэмэгдэнорно.  Select Object талбараасobject-ийгсонгож идэвхижүүлээд Delete командыгсонгоходсонгосонobject-ээсутгуудньнэгнэгээрхасагдахболно. Програмыгхийхгорим: 1. ФормдээрEdit1, ComboBox1, Listbox болонGroupBox-схоёрыгавчтавин байрлуулна. 2. GroupBox1-ийг идэвхижүүлэн GroupBox-д 3-н CheckBox-ийг авч тавин холбогдохнэрүүдийгньолгоно. 3. GroupBox2-ийг идэвхижүүлэн GroupBox-д 2 RadioButton-ийгбайрлуулан холбогдохнэрүүдийгөгнө. 4. Button1 дээрхоёрдарандараахкодыгбичнэ. if CheckBox2.Checked and RadioButton1.Checked then Listbox1.Items.Add(edit1.Text); if CheckBox3.Checked and RadioButton1.Checked then ComboBox1.Items.Add(Edit1.Text); if CheckBox1.Checked and RadioButton2.Checked then Edit1.Clear; if CheckBox2.Checked and RadioButton2.Checked then Listbox1.Items.Delete(strtoint(edit1.Text)); if CheckBox3.Checked and RadioButton2.Checked then ComboBox1.Items.Delete(Strtoint(Edit1.Text)); Тайлбар: Checked гэдэг нь тухайн CheckBox, RadioButton нь сонгогдсан(чагтлагдсан) байнауугэдгийгшалгана. 5. F9 товчлуурыгдаранпрограмыгажиллуулна. ComboBox ListBox Select Object Add & Delete
  • 31. 31 PrintDialog NotePad програмнь.txt өргөтгөлтэйфайлтайажилладагбөгөөдtext файлыгүүсгэх, засахүйлдлийггүйцэтгэжбайдагtext-ийнeditor юм. Notepad програмыгбүтэц Notepad хийгдэхэдашиглагдахнэмэлткомпонентууд Dialog Tabs: Бидwindows үйлдлийнсистемийнзарим харилцахцонхбуюу Dialog-ийнашиглажболно. Жишээлбэлбидхуудсыгпринтерлэхийнтулд Print Dialog-тойажилладаг. File Edit Format View Help RichEdit StatusBar DialogOpenDialog SaveDialog FontDialog PrintDialog FindDialog ReplaceDialog
  • 32. 32 NotePad програмхийх: 1. Шинээрформыгүүсгэнэ. 2. Standard tabs-сMainMenu1, Win32 tabs-сRichEdit1 компонентийгформдээр байрлуулна. 3. MainMenu1 компонентдээрхоёрдаранForm1.MainMenu1 харилцахцонхыг нээж File, Edit, Format, View, Help зэснүүдийгболонтэдгээртхаргалзах товчлууруудыгүүсгэжөгнө. File зэсэндNew, Open, Save, Save As, Print, Exit Edit зэсэндUndo, Copy, Cut, Paste, Del, Find, Select All, Time/Data Format зэсэндFont View зэсэндStatusBar Help зэсэнд About Notepad зэрэг товчлууруудыгүүсгэжөгнө. 4. RichEdit1-ийгсонгонидэвхижүүлжтүүнийproperties->Align шинжийгalClient болгоно. 5. ОдооDialog tabs-сOpendialog, SaveDialog, Fontdialog, Printdialog, FindDialog компонентуудыг форм дээр байрлуулна. Эдгээр компонентийн талаар дэлгэрэнгүймэдээллийгавахыгхүсвэлтухайнкомпонентдээрдараадF1 товчлуурыгдаранhelp файлаасхаржболохюм. 6. File зэснийүйлдлүүдийгхийх: a. File->New-ийгсонгоноүүсэхталбарт RichEdit1.Clear; b. File->Open-ийгсонгоноүүсэхталбарт OpenDialog1.Filter := 'Text files (*.txt)|*.TXT'; if OpenDialog1.Execute then RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName) else RichEdit1.Lines.Clear; Тайлбар: 'Text files (*.txt)|*.TXT'; - ньбидзөвхөн компьютерээсээ.txt өргөтгөлтэйфайлуудыгялганхаруулдаг. Учирньnotepad ньзөвхөн.txt файлтайажилладаг. OpenDialog1.Execute- гэдэгньOpenDialog цонхнээгдэн дэлгэцэндхарагдажбуйгшалгадагфункцхэрвээOpenDialog цонхнээгдсэн болExecute-ньtrue утгыгавдагболно.
  • 33. 33 RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName) – ньRichEdit1-дтаны openDialog-рсонгосонфайлыгнээнэ. c. File->Save As var filename:string; begin SaveDialog1.Filter := 'Text files (*.txt)|*.TXT'; if SaveDialog1.Execute then begin filename:=SaveDialog1.FileName+'.txt'; RichEdit1.Lines.SaveToFile(Filename); Form1.Caption:=FileName; end else RichEdit1.Lines.Clear; Тайлбар: RichEdit1.Lines.SaveToFile(Filename); - ньSaveDialog-дтаныөгсөн нэрээрфайлыгхадгална. d. File -> Save if filename = '' then begin SaveDialog1.Filter := 'Text files (*.txt)|*.TXT'; if SaveDialog1.Execute then begin filename:=SaveDialog1.FileName+'.txt'; RichEdit1.Lines.SaveToFile(Filename); Form1.Caption:=FileName; end OpenDialog1.FileName OpenDialog1.Filter := 'Text files (*.txt)|*.TXT';
  • 34. 34 else RichEdit1.Lines.Clear; end else RichEdit1.Lines.SaveToFile(Filename); Тайлбар: Save командньSave As командаасялгаатайталньтухайнфайлнь өмнөньхадгалагдсанбайнауугэдгийгшалгаадхэрэвөмнөньхадгалцан байвалтүүнддээрээснэмжхадгална. Харинөмнөньхадгалагдаагүйбайвал Save As командыггүйцэтгэнэ. Тиймээсfilename=’’ хэмээннөхцөлтавьсан байна. e. File->Print form1.PrintDialog1.Execute; Тайлбар: энэньзөвхөнPrintDialog-ийгнээхүйлдэлбөгөөдбусадзүйлсийгнь таhelp-схарнауу. f. File->Exit form1.Close; 7. Edit зэснийүйлдлүүдийгхийх: a. Edit->Undo RichEdit1.Undo; b. Edit->Copy RichEdit1.SelText;{Copy хийххэсгийгидэвхижүүлнэ} RichEdit1.CopyToClipboard; {идэвхижүүлсэнхэсгийгхуулна} c. Edit->Cut RichEdit1.SelText; RichEdit1.CutToClipboard; d. Edit->Paste RichEdit1.PasteFromClipboard; e. Edit->Delete RichEdit1.SelText; RichEdit1.ClearSelection; f. Edit->Find {бичлэгээгхайлтхийх} FindDialog1.Position := Point(RichEdit1.Left + RichEdit1.Width, RichEdit1.Top); FindDialog1.Execute; Тайлбар: ЭнэүйлдэлньзөвхөнFind харилцахцонхыгнээхбахайлтхийхийн тулдFindDialog –ийнObject Inspector цонхOnFind үзэгдэл(Event)-д var FoundAt: LongInt; StartPos, ToEnd: Integer; begin with RichEdit1 do begin { begin the search after the current selection if there is one } { otherwise, begin at the start of the text } if SelLength <> 0 then
  • 35. 35 StartPos := SelStart + SelLength else StartPos := 0; { ToEnd is the length from StartPos to the end of the text in the rich edit control } ToEnd := Length(Text) - StartPos; FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]); if FoundAt <> -1 then begin SetFocus; SelStart := FoundAt; SelLength := Length(FindDialog1.FindText); end; end; кодыгбичижөгнө. Нэмэлттайлбарыгhelp-савнауу. g. Edit->Select All RichEdit1.SelectAll; h. Edit->Time/Date {бичлэгттухайон,сар, өдөр, цаг, минутыгнэмэх} var SystemTime: TSystemTime; begin GetLocalTime(SystemTime); RichEdit1.Lines.Add(DateTimetostr(SystemTimeToDateTime(SystemTime))); end; Тайлбар: Тухайнмөчийнцагхугацааонсарөдрийгсистемийнцагаасавдаг. тиймээсSystemTime функцыгхэрэглэсэн. 8. Format зэс a. Format->Font if form1.FontDialog1.Execute then RichEdit1.Font:=form1.FontDialog1.Font; Тайлбар: Фонддиалогоосбидний сонгосон фонд, үсгийн хэлбэрөнгийг формийнфондодөгнө. 9. Help зэс a. Help -> About NotePad showmessage('ЛабораторынажилNotepad'); 10. F9 товчлуурыгдаржпрограмыгажиллуулна.
  • 37. 37 TCanvas класс Delphi програмдпормдээробьектийгзурахдааTCanvas классаасудамшсан Canvas функцийгхэрэглэжбайдаг. Canvas шинжчанарыгrun-time үедлзөвхөн ашиглахболомжтойobject Inspector цонхондүзэгддэггүйбайна. Голшинжчанар нь: Brush: Дүрсийгдүүргэжбудахөнгө, хэвзагварыгтодорхойлно. Font: Canvas дээрбичигдэхтекстийнфондыголгоно. Pen: Canvas дээрдүрсзурагүзэгнийөнгөболонөнгийгтодорхойлно. Canvas-ийндүрсболонтекстийгзурахфункцууд Canvas.Arc() – Canvas дээрнумзурна Canvas.Ellipse() – Canvas дээрэллипсийгзурна Canvas.Polygon() – ооролонөнцөгтийг Canvas.RoundRec() – дугуйбулантайтэгшөнцөгтийг Canvas.PolyLine() – олоншулууныгзурна Canvas.TextOut(X,Y,'Your Text'); - өгсөнх,уцэгдээртекстийгбичнэ. Canvas.TextRect(Rect,X,Y,'Your Text'); - өгсөнцэгдээртэгшөнцөгтзуран түүндотроотекстийгбичнэ. Мультимедиа Delphi-ын VCL-д мультимедиа (Sound, video) файлыг тоглуулах TAnimation, TMediaPlayer компонентболонAPI-ийнPlaySound функцыгөргөн хэрэглэдэг. PlaySound API-ынфункц PlaySound API функцийгwave медиафайлуудыгтоглуулахадхэрэглэдэг. Энэ функцыг ашиглахыг тулд формын interface хэсгийн uses модулийн жагсаалтандmmSystem модулыгбичижөгчтодорхойлно. Энэфункцньдараах бүтэцтэй PlaySound(‘C:WinNtMediaChord.wav’, 0, SND_FILENAME ); ‘C:WinNtMediaChordwav’ – тухайнтоглуулахгэжбайгаафайлыннэрбайршил SND_FILENAME – дискнээсаудиофайлыгтоглуулахадашигладагфлаг. Мөн зориулалтаасаа хамаарч энэ параметр нь SND_ASYNC, SND_SYNC, SND_ALIAS, SND_NODEFAULT гэсэнутгуудыгавдаг.
  • 38. 38 TMediaPlayer TAnimate компонент TAnimate компонентийгwindows үйлдлийнсистемдашиглагддагжижиг хэмжээнийavi видеогтоглуулахадхэрэглэдэг. Онцлогшинжүүдньгэвэл: Active: true үедвидеофайлыгтоглуулжэхэлнэ. commonAVI: энэшинж ньстандартaviFindFolder, aviFindFile, aviEmpty- Recycle, aviFindComputer, aviCopyFiles, aviRecycleFile, aviDeleteFile утгуудтай бөгөөднэрнээсньбарагямаранимашинхөдөлгөөнболохньтодорхойбайхаа. FileName: avi видеофайлыгөөрөөгаднаасоруулжтоглуулахүеднэрийгнь тодорхойлжөгнө. Repitition: Видеохэдэнудаадавтагдахыгтодорхойлно. startFrame, stopFrame: эдгээршинжчанаруудадтоглуулахвидеофайлын эхлэл, төгсгөлийнфрэймийндугаарыголгоно. Timers: frame-гцагашигланүзүүлэхэсэхийгтодорхойлно. TMediaPlayer компонент Энэкомпонентньmp3, cdi, wav, mpg,dat.. форматтай файлуудыг тоглуулахчадалтай. ПрограмдSound, Video файлыгтоглуулахдааpanel авч тавинTMediaPlayer-ийнControlBar-тайхолбожөгдөг. Онцлогшинжүүд: AutoEnable: TMediaPlayer–ийн open функцийг дуудах үед автоматааридэвхитэйболохэсэхийг тодорхойл. AutoOpen: FileName шинж чанартмедиафайлыголгосонүед MediaPlayer-ын open функцыг автоматаар дуудах эсэхийг тодорхойлно. AutoRewind: true үедфайлын төгсгөлд ирхэд дахин эхнээс тоглоно. Devicetype: Мультимедиа төхөөрөмжийнтөрлийгтодорхойлно. Display: Видеофайлыггаргахwindow-гзаажөгнө. DisplayRec: ВидеофайлыгүзүүлэхталбайгRect төрлөөртодорхойлжөгнө. EnableButtons: MediaPlayer дээрүзэгдэхтовчнуудыгтодорхойлно. TAnimate Panel1
  • 39. 39 Endpos: Медиафайлынтөгсгөлийнбайрлал. FileName: тоглуулахгэжбуйфайлыннэрийгзаажөгнө. Mode: Төхөөрөмжийн төлөв байдлыг тодорхойлно. mpPlaying, mpRecording, mpSeeking, mppaused, mpOpen, mpNotready, mpStopped гэсэн утгуудыгавдаг. Notify: гүйцэтгэсэнүйлдлийгмэдээлэхэсэхийгтодорхойлно. NotifyValues: Хамгийнсүүлдмэдээлсэнүйлдлийнүрдүн Position: Медиафайлынтухайнбайрлалыгтодорхойлдог. TimeFormat: Тухайнтөрөөмжиндзориулж ашигладагцагийнформатыг тодорхойлжөгнө. Tracks: Медиафайлынагуулахtrack-ийнтоогтодорхойлно. VisibleButtons: ControlBar дээрүзэгдэхMediaPlayer-нтовчийгтодорхойлж өгнө. Wait – Програмыгдуудахүедудирдлагыгбуцаахэсэхийгтодорхойлно.
  • 41. 41 Програмыгбүтэц Графикийгзурах: 1. Form1-ийнobject inspector цонх(event)үзэгдлүүдээсOnPaint үзэгдэлдээрхоёр дараахкодыгбичнэ. form1.Canvas.Pen.Color:=clblack; form1.Canvas.MoveTo(0,form1.ClientHeight div 2); form1.Canvas.LineTo(form1.ClientWidth, ClientHeight div 2); form1.Canvas.TextOut((Form1.ClientWidth div 2) + 5, 1, 'X'); form1.Canvas.TextOut(Form1.ClientWidth div 2 -3, -1 , '^'); form1.Canvas.MoveTo(form1.ClientWidth div 2 ,0); form1.Canvas.LineTo(form1.ClientWidth div 2 ,ClientHeight); form1.Canvas.TextOut(Form1.ClientWidth-15, Clientheight div 2+3 , 'Y'); form1.Canvas.TextOut(Form1.ClientWidth-5, Clientheight div 2-7 , '>'); end; Тайлбар: ЭнэүйлдэлньформдээрХ, Утэнлэгийгзурна. Canvas.MoveTo() функц ньзурахэхлэлийнцэгийгзаажөгнө. Canvas.LineTo() функцньэхлэлийнцэгээгуг цэгхүртлэхшулууныгзурна. 2. Form дээрMainMenu компонентийгтавин Exit, Draw Graphi зэснүүдийг үүсгэнэ. 3. Exit зэсэнддээрдарахад Form1.close; 4. File зэснээсNew->Form командыгөгөхбуюушинэформыгүүсгэнэ. 5. Draw Graphi зэсийгсонгоход Х,Утэнхлэг a, b, c –ийн утгыгоруулах жижигцонх
  • 42. 42 Form2.show; 6. Form2 дээр3-нedit, 1 button тавьна. Тайлбар: 3-нEdit-дбидa, b, c-ийнутгуудыгбичижөгнө. 7. Form2 дээрбайрлахbutton дээрхоёрдаран var a,b,c:integer; i:integer; begin a:=strtoint(form2.Edit1.Text); b:=strtoint(form2.Edit2.Text); c:=strtoint(form2.Edit3.Text); form1.Canvas.MoveTo(form1.ClientWidth div 2, form1.ClientHeight div 2); for i:=-(form1.ClientWidth div 2) to form1.ClientWidth div 2 do form1.Canvas.LineTo(i+form1.ClientWidth div 2, -a*i*i+b*i+c+form1.ClientHeight div 2); form2.Edit1.Clear; form2.Edit2.Clear; form2.Edit3.Clear; form2.close; end; Тайлбар: form1.Canvas.LineTo(i+form1.ClientWidth div 2, -a*i*i+b*i+c+form1.ClientHeight div 2); - нь y=ax2 +bx+c функцбичсэнболно. 8. F9 товчлуурыгдаржпрограмыгажиллуулна.
  • 44. 44 Програмыгбүтэц Програмыгхийх: 1. Form дээрStandard tabs-сPanel, MainMenu, Dialog tabs-сOpenDialog-ийг, System tabs-сMediaPlayer компонентыгтустусбайрлуулна. 2. MainMenu компонентдээрхоёрдаранFile зэсийгүүсгэхбафайлзэсньдотроо Open, Exit гэсэнталбартайбайна. 3. MediaPlayer компонентийнproperties(шинж)-ийнdisplay талбартPanel1-ийг заажөгнө. 4. File зэснийкомандууд a. File->Exit Form1.close; b. File->Open if opendialog1.Execute then begin mediaplayer1.FileName:=opendialog1.FileName; mediaplayer1.open; mediaplayer1.DisplayRect:=Panel1.ClientRect; end; 5. Таньд баярхүргьетаMediaPlayer програмыгзохиочихлоо. Таодоо F9 товчлуурдээрдаранпрограмыгажиллуулжүзнэүү. File зэс Panel MediaPlayer
  • 46. 46 Програмынбүтэц Програмыныажиллахгорим: ‘Xed xvrtel too sanah be?’ талбарттаөөрийндээдхязгаарыгбичиж өгнө. Жишээлбэл: 2000 дарааньRandom товчлуурыгдарахадкомпьютер санамсаргүйбайдлаар0-2000 хүртлэхтоонооснэгтоосанахбатэртоонь хэдэноронтойболохыг‘oron’ талбараасхарж болно. Хэрэвтаахадхэцүү байвал Help зэсийгсонгоххэрэгтэй. Тэгвэл ‘tsipr’ талбарт0-9 хүртлэх цикрүүдхэдэнширхэгорсонньтоологдоодгараадирнэ. ‘Jishix too’ та энэ талбарттаамаглажбуйтоогоохийгээд‘Jishih’ товчлуурдээрдараншалгаж болно. Эцэстолохгүйбол‘Xevleh’ товчлуурдээрдаржкомпьютерямартоо санасныгүзэжболно. Ашиглагдаххувьсагчид Number: real; teg,neg,hoer,gur,dvr,tav,zur,dol,naim,es:integer; str:string; Тайлбар: Нэггэсэн цифр хэдэн ширхэгорсон байгаагтоогхадгалдаг хувьсагчбол‘neg’ гэхмэтээрхувьсагчийгсонгонавсан. Хийхдараалал: 1. Form дээрMainMenu-1, Edit-2, Groupbox-1, Button-3, Label-3 ширхэгийг тавьна. 2. GroupBox-ийнидэвхижүүлээддээрнь20 ширхэгlabel ахиннэмжтавихба тохирохнэрийгөгнө. Цифр цонх Дээд хязгаарHelp Жиших Хэвлэх Орон
  • 47. 47 3. MainMenu компонентдээрхоёр даранFrom1.MainMenu1 харилцах цонхондExit, Help зэсийгүүсгээдцонхыгхаана. 4. Random товчлуурдээрдарахадхийгдэхүйлдэл: number:=Random(StrToint(Edit1.Text)); str:=FloatToStr(number); label13.Caption:=IntToStr(length(str)); Тайлбар: Компьютер Random функцын тусламжтайгаар санамсаргүй байдлаартоогсанахболно. ТэртоогооNumber хувьсагчидөгчхадгална. 5. Help зэсийгсонгоходхийгдэхүйлдэл. var i:integer; begin teg:=0;neg:=0;hoer:=0;gur:=0;dvr:=0;tav:=0;zur:=0;dol:=0;naim:=0;es:=0; For i:=1 to length(str) do begin if str[i]='0' then teg:=teg+1; {0 цифрхэдоржбайгаагтоолжбайна.} if str[i]='1' then neg:=neg+1; if str[i]='2' then hoer:=hoer+1; if str[i]='3' then gur:=gur+1; if str[i]='4' then dvr:=dvr+1; if str[i]='5' then tav:=tav+1; if str[i]='6' then zur:=zur+1; if str[i]='7' then dol:=dol+1; if str[i]='8' then naim:=naim+1; if str[i]='9' then es:=es+1; end; label1.Caption:=inttostr(teg); { 0 цифр хэдэн ширхэгбайгаагlabel-ээр дамжуулан дэлгэцэндхэвлэжбайна. } label2.Caption:=inttostr(neg);label3.Caption:=inttostr(hoer); label4.Caption:=inttostr(gur);label5.Caption:=inttostr(dvr); label6.Caption:=inttostr(tav);label7.Caption:=inttostr(zur); label8.Caption:=inttostr(dol);label9.Caption:=inttostr(naim); label10.Caption:=inttostr(es); end; 6. Jishih товчлуурыгдарахадхийгдэхүйлдэл: if number=StrToFloat(Edit2.Text) then showmessage('you are win') else showmessage('Tentsehgui baina'); Тайлбар: хэрвээтаныоруулсантоозөвбайвал‘you are win’ бичиггарахба харинтаны оруулсантоотэнцэхгүйбайвал‘'Tentsehgui baina'’ гэж гарч ирнэ. 7. ‘Xevleh’ товчлуурыгдарвал: label12.Caption:=FloatToStr(number); 8. F9 товчлуурыгдаржпрограмыгажиллуулнауу?
  • 49. 49 Мэдээллийнсангийнтухайойлголт Хоорондоохолбообүхийхүснэгтүүдийннэгдлийгөгөгдлийнбаазгэнэ. Хүснэгтийн баганыг талбар(Field), мөрийг бичлэг(record) гэж нэрлэдэг. Мэдээллийнсанньтүүнийгудирдахсистемдээрүүсгэжболовсруулдаг. Delphi програм нь өгөгдлийн баазын гурван өөр механизм дээр тулгуурласан application боловсруулж чадна. Үүнээсбид зөвхөннэгийгнь дэлгэрүүлжүзэхболно. LocalDataBase – файлсуурьтай 1. User Interface Element: Delphi програм дээр өгөгдлийн баазыгхэрэгэлчдэд харуулах боломжтой компонентуудбайрлах бөгөөдэдгээрийгData aware компонентгэдэг. ЭдгээркомпонентуудньData Control tab-дбайрладаг. BDGrid, DBEdit, DBLocal, DBComboBox.. гэхмэт. ЭдгээркомпонентууддээрDatasource гэсэншинжproperties-дбайдаг. Энэшинжидтухайнформдээртавигдсан Datasource-дхолбожөгнө. 2. DataSource: энэньХэрэглэгчийнUser Interface Element-ийгBDE Data Set-д холбожөгдөг. 3. BDE Data Set энэньSession-рдамжинөгөглийнбаазтайхолбогддог. Үүнд Table, Query, StoredProc орно. 4. Sesson: BDE alias-гбүртгэхудирдахустгахүйлдлүүдийггүйцэтгэдэг. Энэньхэрэглэжбуйтехнологиосхамаарчөөрөөрийнгэсэнонцлогшинжбүхий компонентуудыгашигладаг. Үүнд: BDE InterBase ADO dbExpress TDataBase TIBDatabase TADOConnection TSQLConnection TTable TIBTable TADOTable TSQLTbale TQuery TIBQuery TADOQuery TSQLQuery TStoredProc TIBStoredProc TADOStoredProc TSQLStoredProc TIBDataset TADODataset TSQLDataset User Interface Element DataSource DBE Dataset Session BDE Local BDE Application Control Panel ODBC Alias
  • 50. 50 Add Driver do Microsoft Access (*.mdb) ODBC Alias үүсгэх Alias гэдэгньтаныөгөгдлийнбаазыгкомпьютертхаанабайрлажбайгааг програмдзаажөгөхбөгөөдпрограмтусзамындагуухандажөгөгдлийнбаазтай харилцана. Тиймээсүнэнзөвалдаагүйбайххэрэгтэй 1. Access програм дээр өөрийн програмд ашиглагдах өгөгдлийн баазын үүсгэнэ. 2. Start меню-> Control Panel -> Administrative Tools -> Data Sources (ODBC)- ыгсонгожорно. 3. ҮүсэхODBC Data Sources Administrator цонхноосAdd командыгсонгоно. 4. Create New Data Source харилцахцонхнээгдэхбаDriver do Microsoft Access(*.mdb) – сонгонидэвхижүүлжFinish товчлуурыгдарна. 5.
  • 51. 51 ТахэрвээүйлдлийнзөвгүйцэтгэсэнболODBC Microsoft Access Setup цонх нээгдэнэ. ЭнэцонхныData Source Name талбарттаөөрийндуртайнэрийг өгчболохбөгөөдэнэтаныalias-ийннэрболно. 6. Description талбартахэрвээшаардлагатайгэж үзэвэлтовчтайлбарыг бичижболно. Бичихгүйбайсанчболно. 7. Database талбарынSelect товчлуурыгдаржүүсэхSelect Database цонхондта өөрийн1-рүйлдэлдээрүүсгэсэнAccess-ийнбаазыгсонгоодok товчлуурыг дарна. 8. ТадээрхүйлдлийгамжилттайгүйцэтгэсэнболиргээдODBC Microsoft Access Setup цонхгарчирэхбадахиноктовчлуурыгсонгоно. 9. Та үйлдлүүдийг амжилттай гүйцэтгэлээ. Та дээрх үйлдлүүдийг зөв гүйцэтгэсэнэсэхийгODBC Data Source Administrator цонхноосхаржболно. ХэрэвтаныүйлдэлзөвалдаагүйхийгсэнболэнэцонхондData Source Name талбартөгсөннэрбуюуalias-ийннэртусцонхонднэмэгсэнбайгаагхарж болно. 10. октовчлуурыгдаржүйлдлийгдуусгана. Select Data Source Name Таныбаазыннэр Таныбаазын байршил
  • 52. 52 Мэдээллийнсангийнкомпонентууд TTable компонент TTable компонент нь мэдээллийн сангийн хүснэг буюу table-тай богино хугацаанд, хялбархолбогдож ажилладагбаэнэхүснэгтээр өгөгдлийн баазын хүснэгтийг програмаас удирдаж болно. Та TTable компонентийг ашиглахын тулд DatabaseName, TableName, Active шинж чанаруудадтохирохутгуудыголгоххэрэгтэй. DatabaseName: ДээрүүсгэсэнAlias-ийннэрийгзаажөгнө. TableName: Өгөгдлийнбаазаасхолбогдоххүснэгтийннэрийнзаажөгнө. Active: Table-ийг идэвхижүүлэх үүргийг гүйцэтгэнэ. DatabaseName, TableName талбаруудзаавалутгааавсанбайхёстойбөгөөдсонголтыгtrue болно. Table – шинжбуюуproperties-ууд IndexDef: хүснэгтийн индек буюу түлхүүр талбаруудын тухай мэдээллийг агуулна. IndexFieldCount – тухайнхүснэгтэндхэдэнтүлхүүрталбарбайгаагтоолно IndexFieldNames – түлхүүрталбаруудыннэр Indexname – Хүснэгтдээрххоёрдогчтүлхүүрталбарыгтодорхойлно MasterFields – Холбоохийнэ ReadOnly – Хүснэгтийгзөвхөнуншихаарболгоно. Индексийнтухай Хүснэгтээсмэдээлэлхайх, хүснэгтийнмэдээллүүдийгэрэмбэлэхүүднээс түлхүүлбуюуиндексталбарыгүүсгэдэг. Индексталбарыгүүсгэснээсхүснэгтээс мэдээлэлхайх, өгөгдлийн эрэмбэлэх, эмх цэгцтэй хайхзэрэгүйлдлүүдийг хялбаршуулжөгдөг. MasterSource, MasterFiled шинжүүд Биднийашилажбайгааөгөгдөлбуюухүснэгтүүдньхоорондоохолбоотой байдаг. ЖишээлбэлБат, Дорж, Дондоггэдэг3 оюутантайангидАриунаабагш хичээлордоггэжбодьё. ГэхдээАриунаабагш зөвхөнДоржболонДондогтл хичээлзаадагтулхичээлийнэрхлэгчасуувалАриунаабагшбизөвхөнДондог, ДоржхоёртлхичээлзаадагхэмээнэнэангиасбуюуэнэхүснэгтээсДорж, Дондог хоёрыгялгажаваххэрэгтэйболдог. Өөрөөрхэлбэлшүүлтхийдэгхэмээнхэлж болно. ЭнэдохиолдАриунаабагшнийгагуулсанхүснэгтньMasterTable болохба Бат, Дорж, Дондогийгагуулсан хүснэгньDetail table буюуMasterTable-р шүүгддэг. TTable TQuery
  • 53. 53 Table – компонентийнүндсэнфункцууд AddIndex – Хүснэгтэндшинээриндексийгүүсгэдэг Create table – шинээрхүснэгтийгүүсгэдэг DeleteIndex – хоёрдогчиндексийгустгана. DeleteTable – Хүснэгтийгустгана. EditKey – хүснэгтийгdsSetkey төлөвторуулж түүнээсхайсанбичлэгүүдийг засварлахболомжолгодог. FindKey – Индекстэйталбараасбичлэгийгхайжолоодкурсорыгбайрлуулна. GotoKey – Findkey-тэйижилүүргийггүйцэтгэнэ. GotoNearestKey – Индекстэйижилбуюуойролцооутгатайбичлэгийгхайжолоод курсорыгбайршуулна. Setkey –ХүснэгтийгdsSetKey төлөвторуулна. GotoKey8 GotoNearest функцуудтэй цугхэрэглэгдэнэ. TQuery компонент Delphi-ийнөгөгдлийнсангийнпрограмчлалдбидTQuery компонентийг ашиглаж баазаас буюу хүснэтээс мэдээллийгшүүж, ялгаж авчболдог. TQuery-ийг баазтай холбож өгдөг онцлогшинжүүдньболDatabaseName, SQL, Active; шинж чанарууд юм. DatabaseName болон Active шинжүүд нь TTable-ийн DatabaseName болон Active-тайадилханүүргийггүйцэтгэдэг бөгөөдSQL шинжньонцгой. Учирнь SQL шинжид бид SQL кодыг бичилтийг хийж query-ийн хийх үйлдлийгтодорхойлөгдөг. Жишээлбэл: бидэнддарааххүснэгтөгөгджээ. Сонирхол Сурагчийннэр Хүйс Сонирходогхичээл Бат Эр Маркетинг Гэрлээ Эм Менежмент Дорж Эр Монголынтүүх Тэгвэлбиддээрххүснэгтээсзөвхөнэрэгтэйхүүхдүүдямархичээлсонирхдогийг шүүжялганбичвэл Active DatabaseName SQL Params
  • 54. 54 Select сурагчийннэр, сонирходогхичээл Form сонирхол Where хүйс=p1 Тайлбар: Select – Гэдэгньсонгосонталбаруудыгдэлгэцэндхэвлэдэгфункц Form – Альхүснэгтээсдуудахыгзаана Where – тухайннөхцлийгбичнэ P1 – query – ийнпараметрбуюухувьсагчэнэжишээндээрэнэхувьсагчньэр болонэмгэсэнхоёрлутгыгавахзориулалттай. Хэрэвбидр1=эргэжутгаөгвөлхүснэгтмаань Сурагчийннэр Сонирходогхичээл Бат Маркетинг Дорж Монголынтүүх Харинбидр1=эмгэжутгаөгвөл Сурагчийннэр Сонирходогхичээл Гэрлээ Менежмент Болно. БидSelect талбартзөвхөнСурагчийннэр, Сонирходогхичээлталбарыгл бичижөгсөнучирзөвхөнэнэхоёрталбарыгхэвлэжХүйсталбарынхэвлэхгүй. Магадгүйбидэндолонталбартайхүснэгтээсбүхталбарыгньдэлгэцэндхэвлэж гаргахыгхүсвэлSelect * буюу‘*’ тэмдгийгтавьхадлхангалттай. ТэгвэлRun- Time-ийнүедquery-ийнпараметртдараахбайдлаарутгаонооно. Query1.Close; Query1.ParamByName('p1').Value:=edit1.text; Query1.Open; (жич: таQuery ашиглахыгтулдSQL билтийн талааройлготтой байх хэрэгтэй) TField компонент TField компонентньөгөгдлийнбаазынхүснэгтийннэгталбарыгтөлөөлж байдаг. TField ашиглагталбарыншинжчанарыголгожболно. Design Time-ийн үедTTable, TQuery хулганаархоёргтогшиходFields Editor цонхүүсдэг. Энэ цонхондээрхулганыбаруунтовчыгдарахадүүсэхAdd Field командаарTField- ийгүүсгэдэг. Fields Editor цонхдээрнэмсэнTField талбаруудааснэгийгсонгоход түүнийшинжчанарObject inspector цонхдээрүзэгдэнэ. Тухайлбал: FieldName, Fieldking, Index, Size... гэхмэт.
  • 55. 55 ТайланRave5.0 Rave тайланбэлтгэхпрограмньDelphi 7-сөмнөххувилбаруудадбайдаггүй. Rave програм ньDelphi 7.0 програмыгсуулгахаддагаадсуудагболно. Rave програмыгTools зэснийRave Designer командаар ажиллуулна. Rave програм дээрбэлтгэгдсэнтайлангRave tabs-ийн компонентуудаарпрограмтайхолбогдож ашигладаг. Жишээ болгож Rave-р тайлангүүсгэжүзье. 1. Шинээрproject үүсгээдTable компонентийгформдээрбайрлуулна. Table компонентийгөөрийнбаазтайгаахолбонActive шинжчанарыгtrue болгоно. 2. Rave tabs-сTRvDataSetConnection компонентийнформдээравчтавиадdatase шинжчанартньtable1-ийголгоно. 3. Rave Visual Designer-ыгашигланRave project файлыгдараахбайдлаарүүсгэнэ. a. Delphi-ийн Tools зэсний Rave Designer-ийгсонгож rave програмыг ажиллуулна. b. File зэснийNew data Object-ыгсонгоходData Connection харилцахцонх үүснэ. c. Data Object Type жагсаалтаасDirect Data View –гсонгоодnext товчийг дарна. d. Active Data Connection жагсаалтаасRVDataSetConnect1-ыгсонгоодfinish товчдарна. e. Tools зэснийReportWizardSample Table-ыгдарахадSimple Table wizard цонхүүснэ. f. DataView1-ыгсонгоодNext товчийгдарна. g. ТайландүзүүлэхталбаруудыгсонгоодNext товчийгдарна. h. Талбаруудыгүзүүлэхдараалал, Report Title болонReport margin, фонтыг сонгохцонхнуудаасөөрийнсонголтоохийнэ. i. Wizard хуудаснытөгсгөлдGenerator товчийгдарахадPage Designer цонх дээртайлангийнинтерфэйсүзэгдэнэ. j. F9 даржшалгаад, шаардлагатайгэвэлтайлангийнинтерфейсийгзас. k. File зэснийSave As командаар*.rav прожектфайлыгDelphi дээрүүсгэсэн прожектындиректордхадгална. l. Delphi програмдбуцажорно. 4. Rave tabs-сTRvProject компонентийгформдээрбайрлуулна. 5. TRvProject-ынobject inspector цонхдээрүзэгдэхProjectFile шинжчанарт3-р алхмаарүүсгэсэн.rav файлыгзаажөгнө. 6. Standars tabs-сButton авчтавиадonClick үзэгдлийгүүсгэ. 7. OnClick үзэгдэлдRvProject компонентийнExecute функцыгдуудаж байгаа үйлдлийгтодорхойлно. RvProject1.Execute; 8. F9 даржпрограмыгажиллуулаадтовчдээрдарахадтаныхүснэгтээрүүссэн тайлангүзэхболно.
  • 57. 57 Тольбичигхийхдараалал: Тольбичгээсхайлтхийх 1. Access програмдээрEnglish, Mongol гэсэнхоёрталбартайхүснэгтийгүүгэнэ. 2. ODBC alias-ийгүүсгэнэ. 3. Delphi 7.0 програмыгажиллуулжшинэproject файлүүсгэнэ. 4. Form дээрээ BDE tabs-с Table компонентийг авч танин Databasaname, TableName-ийгзаажөгөөдactive-ийгtrue болгоно. 5. DataControls tabs-сDBGrid, Data Access tabs-сDataSource компонентийгавч тавина. 6. DataSource1 компонентийнDataSet шинжчанартTable1-ийгзаажөгнө. 7. DBGrid1 компонентийгDataSource шинжидDataSource1 холбожөгнө. 8. Standard tabs-сEdit- компонентийгформдээравчбайруулна. 9. Edit1 компонентийнOnChange үзэгдэлдорондараахкодыгбичнэ. Table1.Locate('English',Edit1.Text,[LoPartialKey]); Тайлбар: хүснэгийнEnglish талбараасedit1.text дээрбичсэнбичлэгийгхайна. Толчбичигтзасвароруулах 10.Form дээр2 Edit, 1 Button нэмжбайрлуулна. Button-нийcaption-д‘edit’ бичиж оруулна. 11.Edit2 компонентийн caption шинжид ‘English word’, Edit3 компонентийн Caption шинжид‘Mongol word’ хэмээнбичижөгнө. 12.DBGrid компонентдээр дарж идэвхижүүлээд object inspector цонхноос OnDblClick Үзэгдэлдорондараахкодыгбичнэ. Edit2.text:=DBGrid1.Fields[0].AsString; Edit3.text:=DBGrid1.Fields[1].AsString; Тайлбар: програмажиллажбайхүедзасахгэж буймөрөндээрхоёрдарахад тухайнхүснэгтэндхарагдажбайсанутгуудEdit3 болонEdit4 дээргарна. Тэгээд таөөрийнзасахгэсэнзүйлээзасна. 13.Button1-ийнOnClick үзэгдэлдорондараахбичилтийгхийнэ. table1.Edit; Table1.FieldByName('English').AsString:=Edit2.Text; Table1.FieldByName('Mongol').AsString:=Edit3.Text; Table1.Post; Тайлбар: хүснэгтэндөөрчлөлторуулахынтулдзаавалхүснэгтийгEdit горимд оруулахбахүснэгттэйажиллаждууссанболбазаавалpost хийжEdit горимоос шилждэг. Энэтовчлуурдээрдарахадтаны 12-рүйлдэлддээрхийж заасан өгөгдөлчиньбаазад, хүснэгтэндхадгалагдана. Тольбичгэндүгнэмэх 14.Standard tabs-сButton-гавчформдээрбайрлуулна. 15.Button-нийcaption шинжид‘insert’ бичижоруулна. 16.Button-нийOnClick үзэгдэлднэвтрэнорондараахкодыгбичнэ.
  • 58. 58 table1.Edit; Table1.Insert; Table1.FieldByName('English').AsString:=Edit2.Text; Table1.FieldByName('Mongol').AsString:=Edit3.Text; Table1.Post; Тайлбар: Table1.insert функньхүснэгтэндшинээрбичлэгнэмэхбаEdit2, Edit3 – р бичигдсэнөгөгдлүүдбаазаднэмэгдэнэ. МагадгүйтахүсвэлEdit2, Edit3 өөр компоненташигласанчболно. 17.F9 товчлуурыгдаранпрограмыгажиллууна.
  • 59. 59 1