Sohaga oid strukturaviy toifadagi masalalarni Borland C++Builder 6 da amalga oshirish. Dasturlarga strukturaviy yondashgan xolda murakkab dasturlar yaratish uslubiyatini amalga oshirish (protseduradan foydalanish). Ishdаn mаqsаd



Download 1,16 Mb.
bet41/41
Sana04.02.2022
Hajmi1,16 Mb.
#428241
1   ...   33   34   35   36   37   38   39   40   41
Bog'liq
Sohaga oid strukturaviy toifadagi masalalarni Borland C Builder 6 da amalga oshirish. Dasturlarga strukturaviy yondashgan xolda murakkab dasturlar yaratish uslubiyatini amalga oshirish (protseduradan foydalanish).

;
bu yerda:
- chizma chiziladigan joy,
- chizilayotgan grafik tasvir.
Masalan,
Form1.Canvas.Rectangle(10,10,100,100);

Natijada Formada to‘g‘ri to‘rtburchak hosil bo‘ladi.


Dasturchi chizish uchun qalam va mo‘yqalamdan foydalanishi mumkin. Qalam yordamida geometrik figura, nuqtalarni chizish mumkin. Qalamning xususiyatlari:
Color - chiziq rangi;
Width – chiziq qalinligi;
Style – chiziq turi.
Qalamning Color xususiyatida ishlatiladigan ranglar quyidagi jadvalda keltirilgan:



Konstanta

Rang

Konstanta

Rang

clBlack

Qora

clSilver

Kumush

clMaroon

Kashtan

clRed

Qizil

clOlive

Olivka

clBlue

Ko‘k

clNavy

To‘q -ko‘k

clFuchsia

To‘q-pushti

clPurple

Pushti

clAqua

Moviy

clTeal

Och-ko‘k

clWhite

Oq

clGray

Kul







Mo‘yqalam (Canvas.Brush) geometrik figuralarni bo‘yash uchun ishlatiladi. Mo‘yqalam ikkita xususiyatga ega:


1. Color – bo‘yaladigan rang;
2. Style – bo‘yash turi.



Konstanta

Bo‘yash turi

bsSolid

yahlit bo‘yash

bsClear

soxa bo‘yalmaydi

bsHorizontal

gorizantal shtixlash

bsVertical

vertical shtixlash

bsFDiagonal

Oldinga egilish bilan dioganal shtrixlash

bsBDiagonal

Orqaga egilish bilan dioganal shtrixlash

bsCross

gorizantal-vertikal shtrixlash, to‘r ko‘rinishida

bsDiagCross

dioganal shtrixlash, to‘r ko‘rinishida

Bo‘yash turining ko‘rinishi quyidagi rasmda ko‘rsatilgan (11-rasm):





Bo‘yash turining ko‘rinishi

Chizmaga matn kiritish uchun TextOut usulidan foydalaniladi. TextOut usulining to‘liq ko‘rinish quyidagicha:




Obekt. Canvas. TextOut(x,y,matn);
bu yerda:
Obekt – matn chiqariladigan obektning nomi;
x,y- matnni yozilishi boshlanadigan koordinata nuqtalari;
matn - matnli, sonli va simvolli o‘zgaruvchi, kiritilishi lozim bo‘lgan matn.
Sxemalar, chizmalar va rasmlarni hosil qilish uchun bir nechta figuralar majmuidan foydalanishga to‘g‘ri keladi. Bunday figuralarga: nuqta, to‘g‘ri chiziq, to‘rtburchak, aylana, yoylar va h.k. kiradi.
Ekranda chizma hosil qilish uchun, dastur shu chizmani tashkil etuvchi sodda grafiklarni birlashtirib chiqishi kerak. Grafik chizmalarni chizish uchun Canvas komponentasining usullaridan foydalaniladi.
Quyida shu metodlarni ko‘rib chiqimiz:
1. Component.Canvas.lineTo(x,y) – to‘g‘ri chiziq chizish uchun ishlatiladi.
2. Obekt.Canvas.Ellipse(x1,y1, х2,у2) – berilgan parametrlar bo‘yicha ellips va aylana chizadi.
3. Obekt.Canvas.Arc(x1,y1,х2,у2,х3,у3,х4,у4)- yoy chizish uchun ishlatiladi.
4. Obekt.Canvas.Rectangle(x1, y1,x2, y2) – to‘g‘ri to‘rt burchak chizadi.
5. Form1.Canvas.Pixels[10,10]:=clRed – Nuqta chizish uchun ishlatiladi.

Yuqorida ko‘rib chiqilgan usullardan foydalanib dastur yaratamiz (12-rasm).


1-misol: Soxalarni to‘lditish usullsridan foydalangan holda uycha chizamiz.
#include
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//----------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//----------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Canvas->TextOut(135,70,"WELCOME");
Canvas->MoveTo(80,90);
Canvas->LineTo(250,90);
Canvas->LineTo(150,40);
Canvas->LineTo(80,90);
Canvas->MoveTo(220,75);
Canvas->LineTo(220,50);
Canvas->LineTo(240,50);
Canvas->LineTo(240,81);
Canvas->Brush->Color=clMaroon;
Canvas->Brush->Style=bsCross;
Canvas->TextOut(240,65,"GOOD BYE");
Canvas->Rectangle(80,90,250,300);
Canvas->Brush->Color=clGreen;
Canvas->Rectangle(120,140,200,200);
}
//----------------------------------------------------------

Dastur natisaida olinadigan tasvir
2-misol: O‘zbekiston respublikasining davlat bayrog‘ini chizish.
Formaga Button1 komponentasini o‘rnatib, uni «Chizish» deb nomlaymiz va Button2 komponentasini o‘rnatib, uni «Chiqish» deb nomlaymiz. Bu komponentalar uchun dastur kodini quyidagi ko‘rinishda yozamiz:


#include
#pragma hdrstop
#include "Unit1.h"
//------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//--------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Canvas->Pen->Color = clBlue;
Canvas->Brush->Color = clBlue;
Canvas->Rectangle(70,50,600,150);
// oy chizish
Canvas->Pen->Color = clBlue;
Canvas->Brush->Color = clWhite;
Canvas->Ellipse(80,55,170,145);
Canvas->Pen->Color = clBlue;
Canvas->Brush->Color = clBlue;
Canvas->Ellipse(105,55,195,145);
//yulduz chizish
Canvas->Font->Name = "Monotype Corsiva";
Canvas->Font->Color = clWhite;
Canvas->Font->Size = 28;
Canvas->TextOut(180,60," ***");
Canvas->TextOut(180,85,"****");
Canvas->TextOut(180,110,"*****");
Canvas->Pen->Color = clRed;
Canvas->Brush->Color = clRed;
Canvas->Rectangle(70,150,600,160);
Canvas->Pen->Color = clWhite;
Canvas->Brush->Color = clWhite;
Canvas->Rectangle(70,160,600,260);
Canvas->Pen->Color = clRed;
Canvas->Brush->Color = clRed;
Canvas->Rectangle(70,260,600,270);
Canvas->Pen->Color = clGreen;
Canvas->Brush->Color = clGreen;
Canvas->Rectangle(70,270,600,370);
}
//-------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form1->Close(); }

Natijada quyidagi tasvirni olamiz :





Dastur bajarilishi natijasida olingan tasvir




Sinоv sаvоllаri:

  1. Borland С++ da tasvirlar bilan ishlash uchun qanday sinflardan foydalaniladi?

  2. C++ tili qanday grafik imkoniyatlarga ega?

  3. Ekranda chizmalarni hosil qilish uchun qanday metodlarni bilasiz?

  4. Qanday bo‘yash turlari mavjud?

Tajriba ishini bajarish uchun topshiriq variantlari:

1. Borland С++ ning Canvas xossasining usullaridan foydalanib ixtiyoriy grafik tasvir yarating.


2. Image komponentasidan foydalanib formaga rasmlarni o‘rnating va uning xossalarini o‘zgartiring.


18-LABORATORIYA ISHI.
Texnik tizimida yaratilgan ma’lumot bazasini Borland C++ Builder 6da qayta ishlash.
Ishdan maqsad:
1. Ma‘lumotlar bazasiga qo‘yiladigan talablar bilan tanishish.
2. C++da ma‘lumotlar bazasi bilan ishlovchi komponеntlarni o‘rganish.
3. Ma‘lumotlar bazasiga murojaat qiluvchi komponentalar bilan ishlash.

Bu darsda biz C++ Builder 6 muhitida ma‘lumotlar bazasi bilan ishlash asoslarini ko‘rib o‘tamiz. Ma‘lumotlar bazasining maqsadi ma‘lum strukturada kiritilgan, ma‘noga ega bo‘lgan ma‘lumotlarni bir yoki bir nеchta joyda ortiqcha sarflarsiz (xotira va zaxiralarni iqtisod qilib) saqlashdir. Ma‘lumotlar bazasi ikkita asosiy maqsadlarni ko‘zda tutadi: ma‘lumotlarni yo‘qolishdan saqlash va ularning ishonchliligini oshirish.


Ma‘lumotlar bazasiga qo‘yiladigan talablar. Yaxshi loyihalangan ma‘lumotlar bazasi:
– foydalanuvchilarning ma‘lumotlar bazasiga bo‘lgan barcha talablarini qondiradi. Shuning uchun ma‘lumotlar bazasini loyihalashdan oldin foydalanuvchilarning ma‘lumotlar bazasiga bo‘lgan talablarini kеng miqyosda o‘rganib chiqish zarur.
Ma‘lumotlarning mosligi va ishonchliligini kafolatlaydi. Jadvallarni tuzishda foydalanuvchi tomonidan mumkin bo‘lmagan ma‘lumotlar kiritilishining oldini olish uchun ma‘lum shartlarni kiritish kеrak.
C++ Builder6 muhutida ma‘lumotlar bazasini yaratish uchun bir qancha usullardan foydalanish mumkin:
– ma‘lumotlat bazasini yaratish va qayta ishlash uchun mo‘ljallangan tizimlarda ma‘lumotlar bazasini yaratib, C++ Builder vositalari yordamida ularni qayta ishlash, masalan, ma‘lumotlar bazasining maydonlari ustida amallar bajarish, ma‘lumotlarni yangilash va hokazo;
– C++ Builder 6 muhutining vositalari yordamida MB yaratish va qayta ishlash.
Amaliy qism
C++da ma‘lumotlar bazasi bilan ishlash:
C++ da ma‘lumotlar bazasi bilan ishlaganda dastlab Alias hosil qilinadi.Alias ma‘lum bir guruhga tegishli bo‘lgan jadvallarni qaysi toifaga tegishliligini (jadval hosil qiladigan drayverni), jadvallarni yo‘lini o‘zida saqlaydi. C++ da Alias hosil qilishning bir nechta usullari mavjud.

  1. Menyuning DataBase bo‘limidan SQLExplorer tanlanadi.

  2. Object -->New… [Ctrl+N] tanlanadi yoki SQLExplorer darchasining o‘ng qismida shichqonchaning o‘ng qismi bosiladi va New tanlanadi.(9.1-rasm)







  1. Yuqoridagi darchadan drayver tanlanadi. Standart holatda Paradox tanlanadi

  2. Path bo‘limidan jadvallar saqlanadigan catalog ko‘rsatiladi.

  3. Hosil qilingan Aliasni saqlash uchun sichqonchaning o‘ng tugmasi bosiladi va Apply [Ctrl+A] tanlanadi.

Jadvallar hosil qilish uchun quyidagi amallar ketma-ketligi bajariladi:

  1. C++ menyusining Tools bo‘limidan DatabaseDesktop tanlanadi;

  2. DatabaseDesktop dan FileNewTable tanlanadi



  1. Jadval toifasi tanlanadi;







  1. Field Name – jadval maydoni nomi; Type – maydon toifas; Size – hajmi; Key – kalit maydonnini bildiradi .

  2. Jadval maydonlari kiritilgandan so‘ng Save As… tugmasi bosiladi;

  3. Alias bo‘limidan o‘zimiz hosil qilgan alias nomi tanlanadi;

  4. Jadvalga nom beriladi;




  1. Options bo‘limida Display Tablega bayroqcha o‘rnatib Сохранить tugmasi bosiladi. Ekranda Database Desktop da jadval ochiladi..



Maydonlar haqida ma‘lumot
Maydon nomi 25 ta simvoldan iborat bo‘lishi mumkin. Maydon nomini yozishda probel, apostrovdan foydalanmagan ma‘qul. Chunki SQL so‘rovlaridan foydalanganda muammo chiqishi mumkin(Zarurat bo‘lsa Shift minus “_” belgisidan foydalanish maqsadga muvofiq).
Maydon toifasini tanlash uchun Type maydoniga o‘tib, sichqonchanaing o‘ng tugmasi bosiladi. Paradox uchun maydon toifalari quyidagicha bo‘lishi mumkin:
1. A 1-255 Alpa satrli maydon. ASCII kodini barcha simvollarda qabul qiladi.
2. N number – 1-10308 butun son.
3. $ money- pul birligini bildiradi.
4. S short 1…32767 oralig/idagi butun sonlar.
5. I long integer- 1… 2147483648
6. # 0-32 BCD Binary Coded Decival formatdagi son.
7. D date- sanani bildiruvchi son.
8. T time- vaqt.
9. @ Time Stamp- vaqt va sanani bildituvchi maydon.
10. M 1-240 Memo cheklanmagan satr ma‘lumotlarini saqlashga mo‘ljallangan.
11. G grafik tasvir ma‘lumotlarni saqlash.
12. O OLE- tasvir, ovoz, xujjat va xokazolarni saqlash.
13. L logical- mantiqiy maydon.
14. + Autoincrement- avtomat ravishda yozuvni bittaga oshirib boradi. Yozuvlar o‘chirilsa oldindagilar o‘zgarishsiz qoladi.
Amaliy qism.

Yuqorida yaratilgan jadvalni C++Builder bilan bog‘laymiz. Bu ish quyidagi ketma-ketlikda bajariladi:



  1. File->New->Application tanlanadi;

  2. Komponentalarning BDE bo‘limidan Table komponentasi formaga qo‘yiladi;

  3. Table komponentasining DatabaseName hususiyatida Alias ko‘rsatiladi;

  4. TableName xususiyatida jadval nomi keltiriladi;

  5. Active xususiyati True ga o‘zgartiriladi;

  6. Komponentalarning DataAccess bo‘limidan DataSource komponentasi formaga qo‘yiladi;

  7. DataSet xususiyatida Table1 belgilanadi;

  8. Komponetalarning DataControls bo‘limidan DBNavigator komponentasi formaga qo‘yiladi;

  9. DataSource xususiyatida DataSource1 belgilanadi;

  10. Komponetalarning DataControls bo‘limidan DBGrid komponentasi formaga qo‘yiladi;

  11. DataSource xususiyatida DataSource1 belgilanadi;

  12. Dastur kodi ishga tushiriladi va jadvalga kerakli ma]lumotlar kiritiladi, taxrirlanadi, saqlanadi.



Topshiriq:

  1. C++ tizimida baza bilan ishlovchi komponentalardan foydalangan holda yo‘nalishingizga oid ma‘lumotlarni kiritish va tahrirlash imkoniga ega bo‘lgan baza yarating.



Nazorat savollari:

  1. Ma‘lumotlar bazasi nima?

  2. C++ Builder 6 muhitida ma‘lumotlar bazasi bilan ishlovchi qanday komponеntalarni bilasiz?

  3. AdoConnection komponentasining vazifasi?

  4. DBNavigator komponentasining vazifasi?

Download 1,16 Mb.

Do'stlaringiz bilan baham:
1   ...   33   34   35   36   37   38   39   40   41




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish