II. BOB TEST DASTURINI YARATISH ALGORITMI VA DASTUINI LOYIHALASH
KO’P ISHLATILADIGAN KOMPONENTLAR BILAN TANISHISH.
Quyida ko’rib chiqiladigan komponentlar orqali umumiy holatda Windows va OSX operatsion tizimlari hamda iOS va Android Paltformalari uchun dasturiy mahsulotlar yaratish uchun ishlatiladi.
– TrackBar komponenti yordamida butun tipli o’zgaruvchilar qiymatlarini asta-sekinlik bilan surish orqali o’zgartirish mumkin. Bu turdagi elementdan asosan multimedia mahsulotlarida ko’p foydalaniladi. Jumladan,
AudioPlayerlarda ovozni ko’tarish va pasaytirish hamda yangrayotgan kuyni orqaga qaytarish va oldinga siljitish va boshqalar.
– ProgressBar komponenti vaqtga bo’glangan holda jarayonlarni bajarilishini tasvirlovchi element hisoblanadi. ProgressBar va TrackBar komponentlarini qysidir ma’noda bir xil vazifada ishlatsa bo’ladi, faqatgina TrackBar komponentining Slider (Surgich)ini o’chirib qo’yish kerak bo’ladi.
– UpDown komponenti yordamida o’zgaruvchilar va ayrim komponentlar qiymatlarini ortirish va kamaytirish mumkin. Bu component asosan butun tipli qiymatlar bilan ishlaydi lekin, haqiqiy sonli, sana va vaqt tipidagi ma’lumotlar bilan ishlashga qobiliyati mavjud.
– RichEdit komponenti ishlash prinsipi va foydalanilishi bo’yicha Standart komponentlar palitrasidagi Memo komponentiga teng kuchli element hisoblanadi. Biroq, uning yordamida bajariladigan vazifalar va imkoniyatlar bo’yicha esa RichEdit komponentining afzalliklari ko’proqdir.
– ImageList komponenti rasmlar ro’yxati hisoblanadi. Undan asosan ilova menyulari uchun bir xil hajmdagi rasmlarni yuklash va saqlash uchun foydalaniladi.
– DateTimePicker komponenti ilovalarga turli formatdagi sana va
vaqtlarni visual rejimda kiritish imkoniyati yaratadi.
– MonthCalendar komponenti esa kalendar bilan bog’liq har qanday
operatsiyalarni bajarish uchun xizmat qiluvchi element hisoblanadi.
– StatusBar komponenti yordamida har qanday dastur uchun holat satrini yaratish mumkin. Odatda, holat satri ilova oynasining quyi qismiga o’rnashadi.
– ToolBar komponenti yordamida piktogrammali uskunalar panelini
yaratish mumkin. Uskunalar paneli elementlarini yaratish uchun odatda ActionList komponentidan foydalaniladi.
– CoolBar komponenti yordamida turli uskunalar panellari yaratish va
uning elementlarini boshqarish mumkin bo’lgan imkoniyat yaratiladi.
– MainMenu o’z dasturingizga bosh menyu qo’shish imkonini beradi. TmainMenuni formaga qo’ygan vaqtda u kichkina belgi ko’rinishini oladi. Bunday belgilarni "ko’rinmas komponent" deb atash qabul qilingan. Chunki, dastur bajarilash vaqtida ular ekranda ko’rinmaydi. Menyuni yaratish uch qadamdan iborat: 1-TMainMenuni formaga o’rnatish, 2-ob’ektlar inspektorining Items xususiyati yordamida Menyu dizaynerini chaqirish, 3-Menyu Dizaynerida menyu qismlarini kiritish.
PopupMenu – asosiy menyuga analog holdagi menyu bo’lib, u
bog’langan sohalar uchun ishlaydi. Mazkur menyu bir ustunda joylashgan bo’ladi hamda faqat kontekst menyu ko’rinishidagina ishlaydi.
Label matnlarni ekranda namoyish qilish uchun qo’llanadi. Agar
ob’ektlar inspektorining Font xususiyatiga sichqonchaning chap tugmasini ikki marta bosilsa Labelning shrifti, rangi, harflar rangi va o’lchamlarini o’zgartishingiz mumkin.
Edit – Satr tipidagi ma’lumotlarni kiritish imkonini beruvchi maydon
bo’lib, har qanday interaktiv ilovalarni yaratish juda foydali komponent hisoblanadi.
Button – dastur bajarilash vaqtida tugma bosilishi bilan biror amal
bajarilishini ko’zda tutadi. C++ Builderda hamma narsa oddiy. Buttonni formga ko’yib, unga ikki marta sichqoncha tugmasini bosilsa, dastur matni muharririda tugma bosilish holatiga dastur tuzish mumkin bo’lgan oyna ochiladi.
ComboBox – Ushbu component ListBox bilan bir hil ishlaydi. Lekin, uning farqi shundaki, bu component sichqoncha bilan bosilganda buyruqlar ro’yhati keyin oqib tushuvchi menyu ko’rinishida tasvirlanadi.
Panel – formani turli maqsadlarda bo’lish va dizayn berish imkonini
beruvchi component hisoblanadi.
MASALANI BAJARILISH BOSQICHLARI
Tuzilayotgan dasturimizning komponentalarini joylashtirib chiqqanimiz va keraklicha nomlari o’zgartirib olganimizdan keyin dasturimizga tuzgan bazamizni quyidagicha bog’lab olamiz:
C++ Builder dasturlash tilini ma’lumotlar ombori bilan bog’lash turlari ko’p bo’lib ulardan biz ADO kompanentalar to’plamiga tegishli bo’lgan ADOConnection, ADOTable va DataAccses kompanentalar to’plamiga tegishli bo’lgan DataSource kompanentalaridan foydalanamiz.
Bu kompanentlarni Delphi dasturlash tilining proekt oynasiga ya’ni formaga o’rnatamiz. Kompanentlardan ADOConnectionni tanlab Object Inspector oynasidagi Properties (xususiyat) bo’limidagi ConnectionString bandini tanlaymiz. Bu banddagi tugmani chertamiz. Shunda quyidagi oyna xosil bo’ladi.(2.1– rasm)
2.1-rasm. Bazani C++ dasturlash tili bilan bog’lash oynasi
Bu oynadagi Build… tugmasini chertamiz. Shunda quyidagi oyna xosil bo’ladi.
2.2-rasm. Bazani C++ Builder dasturlash tili bilan bog’lash uchun turini ko’rsatish oynasi
Bu oynadagi Microsoft Jet 4.0 OLE DB Provider ni tanlaymiz va quyidagicha oyna hosil bo’ladi:
Bu oynadan bandini tanlab bizga kerakli bo’lgan baza tanlanadi.
Va Открыть va ОК tugmasini bosamiz. Shundan so’ng ADOTable kompanentini aktivlashtiramiz. Uning xususiyatlar oynasidan Connection xususiyatini tanlab kompanentani ADOConnection kompanentasi bilan bog’laymiz. DataSource kompanentasi xususiyatlar oynasidan DataSet xususiyatini tanlaymiz va ADOTable kompanentasini bir-biriga bog’laymiz. Va dasturimizni ko’rinishi quyidagicha ko’rinishga ega bo’ladi:
XULOSA
Hammamizga ma’lumki, XXI asr “Axborot texnologiyalari asri” hisoblanadi. Bu asrda dasturlash sohasida misli ko’rilmagan o’zgarishlar bo’lmoqda. Yuqorida yaratilgan dastur ham foydalanuvchi bilimini tekshirish uchun qulayliklar yaratib beradi. Men dastur tuzish davomida Embarcadero Delphida keng imkoniyatlar yaratilganligini tushundim va undan tashqari MS Access dasturida ham bazalar tuzish haqida ma’lumotlarga ega bo’ldim. Men ish haqqini hisoblovchi dasturimni yanada takomillashtirish va ommaga tadbiq etish uchun harakat qilaman. Xulosa qilib shuni aytishim kerakki Embarcadero Delphi dasturlash tili imkoniyatlari kengligi komponentalar bilan ishlash imkoniyati borligi bilan qo’yilgan vazifalarni yechish boshqa dasturlash tiliga nisbatan oson bajarildi
FOYDALANILGAN ADABIYOTLAR RO’YXATI
Кнут Д. “Исскуство программирования” 1-т. М.: Мир, 1976 г.
Арипов М.М. “Информатика ва ахборот технологиялари”. Тошкент, “Ўқитувчи”, 2002 й.
Интернет. Delphi для начинающих. Delphi Beginner.chm.
”С++ dasturlash ”fanidan ma’ruza matn.
C++ uslubiy qo’llanma.
Сайфиев Ж.Ф. C++ tiliga kirish. Uslubiy qo’llanma. Бухоро -2005 й
C++ Qudrat Abdurahimov qo’llanma.
C++ tilida programmalash asoslari. Madraximov.Sh.F Toshkent 2009
ILOVA
----------------------------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOTable1.Open;
ADOTable1.Insert;
ADOTable1.Fields[0].AsString:=Edit6.Text;
ADOTable1.Fields[1].AsInteger:=StrtoInt(Edit1.Text);
ADOTable1.Fields[2].AsInteger:=StrtoInt(Edit2.Text);
ADOTable1.Fields[3].AsInteger:=StrtoInt(Edit3.Text);
ADOTable1.Fields[4].AsInteger:=StrtoInt(Edit4.Text);
ADOTable1.Fields[5].AsInteger:=StrtoInt(Edit5.Text);
ADOTable1.Fields[6].AsInteger:=StrtoInt(Edit5.Text)+StrtoInt(Edit4.Text)+StrtoInt(Edit3.Text)+StrtoInt(Edit2.Text)+StrtoInt(Edit1.Text);
ADOTable1.Fields[7].AsInteger:=StrtoInt(Edit7.Text);
ADOTable1.Fields[8].AsInteger:=ADOTable1.Fields[6].AsInteger*ADOTable1.Fields[7].AsInteger;
ADOTable1.Fields[9].AsFloat:=ADOTable1.Fields[8].AsInteger*StrtoInt(Edit8.Text)/100;
ADOTable1.Fields[10].AsInteger:=ADOTable1.Fields[8].AsInteger+ADOTable1.Fields[9].AsInteger;
ADOTable1.Fields[11].AsFloat:=ADOTable1.Fields[10].AsInteger*StrtoInt(Edit9.Text)/100;
ADOTable1.Fields[12].AsFloat:=ADOTable1.Fields[10].AsInteger*StrtoInt(Edit10.Text)/100;
ADOTable1.Fields[13].AsFloat:=ADOTable1.Fields[10].AsInteger*StrtoInt(Edit11.Text)/100;
ADOTable1.Fields[14].AsFloat:=ADOTable1.Fields[10].AsInteger-ADOTable1.Fields[11].AsInteger-ADOTable1.Fields[12].AsInteger-ADOTable1.Fields[13].AsInteger;
ADOTable1.Post;
end;
end.
Do'stlaringiz bilan baham: |