Fakultet o‘qituvchilari haqida ma'lumotlarni, hujjatlarini saqlash imkoniyatini beruvchi dasturiy ilova hosil qilish

O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA-MAXSUS TA’LIM
VAZIRLIGI SHAROF RASHIDOV NOMIDAGI 
SAMARQAND DAVLAT UNIVERSITETI
 INTELLEKTUAL TIZIMLAR VA KOMPYUTER TEXNOLOGIYALARI
FAKULTETI
DASTURIY INJINIRING YO’NALISHI
305-guruh talabasi
Radjabova Maxliyoning
DASTURLASH ASOSLARI FANIDAN 
“ Fakultet o'qituvchilari haqida ma'lumotlarni, hujjatlarini saqlash imkoniyatini
beruvchi dasturiy ilova hosil qilish ”  
mavzusida
KURS ISHI
Tekshirdi: Urunbayev J.
SAMARQAND – 2023
1 Mundarija:
Kirish ........................................................................................................................................................ 3
I.Nazariy qism .......................................................................................................................................... 6
1.1.Vizual dasturlash haqida asosiy tushunchalar. ................................................................................... 6
1.2.Vizual muhit komponentlari .............................................................................................................. 7
1.3.Ma’lumotlarni formada tasvirlash va kiritish komponentalari. .......................................................... 9
II.Asosiy qism ......................................................................................................................................... 14
2.1.Visual studioda forma yaratish va visual ko’rinishni xosil qilish ....................................................... 14
2.2.Fakultet O’qituvchilariga jadvalini hosil qilish , o’qituvchilar ma`lumotlarni urganib chiqish. ......... 15
2.3.Funksiyadan qaytgan qiymatni visual ko’rinishda chiqarish va dizayn qismini mukammallashtirish.
............................................................................................................................................................... 16
Xulosa .................................................................................................................................................... 21
2 Kirish
Bu   kurs   ishimda   “Fakultet   o'qituvchilari   haqida   ma'lumotlarni,   hujjatlarini
saqlash   imkoniyatini   beruvchi  dasturiy  ilova  hosil   qilish”   mavzusini  yoritib berar
ekanman   nazariy   qismida   Visual   studio   tarixi,   dinamik   dasturlash   tamoyili
mavzulariga   to’xtalib   ketamiz.   Amaliy   qismida   esa   electron   kutubxonada
muammolar   yechim   topishi,   electron   kutubxona   mavzusini   visual   studio   tilida
ifodalanishi   kabi   misollarni   ishlab   ketamiz.   Xulosa   qismini   hamma   ishlarni
bajarganimizdan   keyin   yozamiz.Inson   va   ma’lumotlarga   ishlov   berish   o’rtasidagi
aloqa kompyuter dasturlari orqali boshqariladi. Markaziy protsessor (CRI) belgilari
to’plami   ikkita   belgigacha   “0”   va   “1”   yoki   “yoqilgan”   va   “o’chirilgan”   bilan
chegeralangan.   Inson   harflardan,   raqamlardan,   tasvirlardan   foydalanadi.   Inson   va
mashina   o’rtasidagi   interfeysni   (muloqotni),   (kodlashtirish)ni   dasturiy   ta’minot
tartibga   solib   turadi.   Bu   vazifadan   tashqari   kompyuter   dasturi   operatsion   tizimi
ko’rinishida   kompyuterni   butun   apparat   qismini   boshqarilishini   tartibga   soladi.
Shunday qilib dasturiy ta’minot ikki qismga bo’linadi: 
 tizimli dastur ko’rinishidagi apparat qismining boshqarilishi   
 muammolarning yechilishiga qaratilgan amaliy dasturlar 
Bu bilan bir qatorda tizimli va amaliy dasturlar ishlab chiqish va kompyuter
xizmatini   yengillashtirish   uchun   bir   qator   dasturlash   tillari   va   qo’llash   servisi
mavjud.
Tizimli   dastur   shu   bilan   birga,   kompyuter   va   unga  tegishli   periferiyalardan
foydalanishga imkon beradi. Tizimli dasturlarga foydalanuvchining ma’lumotlarga
ishlov berish tizimining ishlash tamoyillari bo’yicha keyingi texnik belgilarga ega
bo’lishini   talab   qilmasdan,   masalani   kiritish   va   chiqarish   boshqaruvini
tayyorlaydigan operatsion tizimlarini o’z ichiga oladi.
3 Xizmat   uchun   belgilangan   va   yordamchi   dasturlar   ham   tizimli   dasturlarga
oid bo’lib, masalan formatlash va nusxalashda axborot tashuvchilar bilan muomala
qilish singari operatsion tizimlar bilan munosabatni yengillashtiradi. Windows XP,
Windows   2003   mijozserver   arxitekturali   Novell,   UNIX   va   LINUXning   har   xil
variantlari mashhur operatsiya tizimlaridandir.
Professional   va   kundalik   masalalar   qo’yilishini   hal   qilish   uchun   iqtisodiy,
texnik   va   ilmiy   sohadan     amaliy   dasturlar   foydalaniladi   yoki   ishlab   chiqiladi.
Foydalanuvchilar   va   qo’llanish   miqdoriga  ko’ra   soni   va   ushbu   amaliy  dasturlarni
yana bo’laklarga bo’lib chiqish mumkin.   
Standart   dasturiy   ta’minot   quyidagicha   ko’rinishda   deyarli   har   qanday
masala qo’yilishi uchun amal qiladi, masalan: 
 Matnga ishlov berish (masalan, MS Word) 
 Elektron jadvallar bilan ishlash (masalan, MS Excel) 
 Ma’lumotlar bazalari (masalan, MS Access, Oracle) 
 Grafiklar (masalan, Visio, CorelDraw) 
 Nashriy   tizimlar   (Desktop   Publishing)   (mas.   Adobe   Pagemaker,
QuarkXPress) 
 Loyihalash (masalan, MS Project)
Standart   dasturiy   ta’minot   foydalanuvchilarning   keng   doirasi   talablarini
hisobga   olgan   holda   ishlab   chiqilgan   va   bu   bilan   eng   ko’p   umumiy   vazifalarni
namoyon qilgan bir paytda, soliq idorasi, arxitektorlar, mebel tayyorlovchilar kabi
muayyan   kasbiy   guruhlar   tegishli   talablarga   muvofiqlashtirilgan   tayyor   xizmatlar
ko’lamiga   ega   bo’lgan   amaliy   dasturlarning   tarmoq   paketlari   deb   ataluvchi
dasturlardan foydalanadilar, ya’ni bunday dasturlarga talabgor bo’ladilar.
Agar   xizmatlarning   bunday   o’ziga   xos   tarmoq   ko’lami   alohida   tashkilot
muammolarini   hal   qilish   uchun   baribir   haddan   tashqari   umumiy   bo’lib   chiqsa,
unda   bir   yoki   bir   nechta   tashkilotlar   talablariga   moslashuvchi   alohida   dasturiy
4 ta’minot   ishlab   chiqish   imkoniyatigina   qoladi   xolos.   Bu   yerda   misol   sifatida   bir
yoki   bir   nechta   tashkilotlar   tomonidan   foydalaniladigan   mutlaqo   o’zgacha   ishlab
chiqarish   mashinalarini   boshqarish   uchun   qo’llanuvchi   ishlab   chiqarishni
rejalashtirish tizimini tasavvur qilish mumkin. 
Yuqorida   bayon   qilingan   fikr-mulohazalarga   muvofiq   texnik   yoki   iqtisodiy
sohalaridagi   muammolarni   ma’lumotlarga   ishlov   berish   texnikasi   va
texnalogiyalari   yordamida   yechish   uchun   turlicha   alternativalar   (yondoshuvlar)
mavjud: 
 Mavjud dasturiy ta’minotdan foydalanish yoki uni qo’lga kiritish. 
 Yangi standart, tarmoq yoki alohida dasturiy ta’minotni ishlab chiqish. 
Bu   orqali   o’z   kuchlari   bilan   yoki   ishlab   chiqish   haqidagi   yoki   chetdan   taklif
qilingan   mutaxassislar   tomonidan   ishlab   chiqish   haqidagi   masalaga   bevosita
bog’liq   bo’lib,   u   har   doim   ham   tashkilotning   ichki   «Nou-Xau»si   tomonidan
aniqlanavermaydi.   AT   tashkilotiga   dasturiy   mahsulot   ishlab   chiqishni   topshirish
foydalimi yoki bunday dasturiy loyihani o’z tashkilotida amalga oshirish foydalimi
degan savolga javob beradi va mohiyatiga ko’ra ishlab chiqarish iqtisodiy tabiatini
namoyon qiladi (xarajatlar, foydalar, tahlil).
5 I.Nazariy qism
1.1.Vizual dasturlash haqida asosiy tushunchalar.
Microsoft   Visual   Studio   –   Microsoft   mahsuloti   bo’lib,   dasturiy   ta’minot
yaratish   uchun   integrallashgan   muhitni   va   boshqa   instrumentlar   qatorini   taqdim
etadi.   Ushbu   mahsulot   konsolli   ilovalar,   grafik   intefeys   bilan   ishlovchi   ilovalar
yaratish imkoniyatini beradi, Windows Forms texnologiyasi qo’llagan holda web-
saytlar,  web-ilovalar,  web-xizmatlar,  turli  xil  platformalar  kodlarini   boshqaruvchi
Windows,   Windows   Mobile,   Windows   CE,   .NET   Framework,   Xbox,   Windows
Phone, .NET Compact Framework va Silverlightlarni qo’llaydi.
Komponentlari.  Visual Studio quyidagi bitta yoki bir qancha komponentlarni
qo’llaydi:  
 Visual C++   (Bu Visual Studio 2010 dan boshlab ishlatiladi).
 Malumotlar bazasi (Mysql,MSSqlServer)
BIRINCHI LOYIHANI YARATISH 
Visual   Studio   2013   muhitida   C++   tili   yordamida   Windows   formalarni
yaratish   haqida   suhbatlashamiz.   Avvalo   shuni   aytishimiz   kerakki,   VS   2012
muhitida mavjud bo’lgan Windows Forms ilovasi yangi muhitdan olib tashlangan.
Yangi   muhitda   bu   ilova   C#   tili   tarkibiga   kiritilgan,   lekin   biz   bu   ishni   C++   bilan
bajarishimiz   kerak.   Ro’yxatda   Windows   Forms   yo’q   bo’lsada,   biz   buni   qanday
yaratishni o’rganamiz.
Birinchi loyihani ishga  tushirish:
6 Файл → Создать → Проект
Пустой проект CLR punkti
Имя   –   qismiga   loyiha   nomi   yoziladi   (masalan   „Loyiha_nomi“);
Расположение   –   qismiga   loyihamiz   saqlanadigan   manzil   ko’rsatiladi.   (Обзор
tugmasi   yordamida)     Решение   –   qismiga,   agar   yangi   loyiha   yaratmoqchi
bo’lsangiz   Создать   новое   решение,   agar   eski   loyihangizga   loyiha   qo’shmoqchi
bo’lsangiz   Добавить   в   решение,   agar   oldin   yaratilgan   loyihaning   xossalarini
saqlagan   holda   undan   nusxa   olmoqchi   bo’lsangiz   Создать   в   новом   экземпляре
punktlaridan   birini   tanlashingiz   kerak   bo’ladi.   (Biz   Создать   новое   решение   ni
tanlaymiz.)     Имя   решение   –qismiga   esa   loyihangizning   barcha   fayllari
saqlanadigana   asosiy   katalog   nomini   kiritiladi   (Biz   Asosiy   katalog   deb   nom
beraylik.)  OK tugmasini bosamiz.
1.2.Vizual muhit komponentlari
Ushbu   komponenta   komponentalarning   Стандартные   элементы   управления
bo’limida   joylashgan.   Bu   komponentada   formada   sichqoncha   tugmasi   yordamida
7 bosiladigan   “tugma”   vazifasini   bajaradi.   Button   komponentasi   bir   qancha
xossalarga ega.
Ma’lumotlarga ishlov berish komponentasi. button komponentasi .
Bu   yerdagi   ko’plab   xossalar   bilan   biz   “Formaning   xossalari”   mavzusida
allaqachon tanishib ulgurdik. 
Bizga tanish bo’lmagan xossalardan ba’zilarini ko’rib chiqamiz: 
Anchor  – komponentaning pozitsiyani mustahkamlashni aniqlaydi. Agar siz
formada shu ko’rinishida shakllantirgan bo’lsangiz, ilovadan foydalanish rejimida
foydalanuvchi   formaning   o’lchamlarini   o’zgartirganda,   komponenta   ham   sizning
formangizda   o’z   pozitsiyasini   o’zgartirgan   holda   paydo   bo’ladi.   Anchor   xossasi
o’zaro AutoSize ta’sirida yuzaga keladi.
AutoEllipsis  – komponentaning o’lchami kichik bo’lib, unga yozilgan matn
esa  uzun  bo’lsa,  u  oxirida  ko’p nuqta  shaklida  komponenta  ustida  paydo bo’ladi.
Mana shu holatlarda (ilovadan foydalanish rejimida) komponenta nomining to’liq
ko’rinishi   haqidagi   ma’lumotni   foydalanuvchi   yetkazish   uchun   ushbu   xossa
qo’llaniladi.   Agar   uning   true   va   AutoSize   xossasining   qiymati   false   bo’lsa,   bu
haqida xabar yetkazish mumkin. Buni quyidagi rasmda to’liqroq ko’rish mumkin.
DialogResult  – modal rejimida ochilgan formani yopishni ta’minlash uchun
xizmat   qiladi.   Uning   qiymatlari   berilgan   ro’yxatdan   tanlanadi   (q.   1-bo’lim,
“Formaning metodlari”) 
Dock   – komponentani formaning turli tomonlari bo’yicha, yoki butun sathi
bo’yicha   burchak   yoki   markaz   tarafiga   joylashtirish.   Agar   bunda   boshqa
komponentalar   ham   mavjud   bo’lsa,   u   holda   bu   komponentalar   uning   ustiga
joylashib   qoladi.   Bu   xossaning   qiymatini   tanlash   uchun,   komponenta   belgilanib,
ro’yxatdagi to’g’ri to’rtburchaklardan biri tanlanadi. Agar (none) qiymati tanlansa,
komponenta   qanday   joylashtirilgan   bo’lsa,   shu   holatda   qoladi.   Uning   qiymatlari
natijalarini ko’rishimiz mumkin.
8 FlatAppearance   –   bu   xossadan   foydalanish   uchun,   FlatStyle   xossasining
qiymatini Flat deb belgilash kerak. Bu xossa o’zining bir qancha ichki xossalar ega
bo’lib, ularning barchasini tugmani bezash uchun ranglar bilan ishlashni anglatadi.
Ular quyidagilar: 
BorderColor – komponentaning chegara rangini aniqlaydi 
BorderSize – komponentaning chegarasi qalinligini aniqlaydi 
MouseDownBackColor   -   komponentaning   sichqoncha   kursori   bosilmagan
holati 
MouseOverBackColor – komponentaning sichqoncha kursori bosilgan holati
ImageAlign   –   joylashtirilgan   rasmning   tugmachaning   qaysi   tarafida
joylashishi   aniqlash   uchun   ishlatiladi.   Keltirilgan   qiymatlar   ro’yxatida   bir   qancha
to’g’ri   to’rtburchak   shakllari   bo’lib,   ular   birini   tanlash   orqali   rasmning   o’rnini
aniqlash mumkin.
Ma’lumotlarga ishlov berish komponentasi. button komponentasi
Ulardan   ko’pchiligi   forma   hodisalari   bilan   analogik   hisoblanadi.   Ulardan
ba’zilarini ko’rib chiqamiz:
Click – Sichqoncha tugmasining bosilish hodisasi
Enter   –   tugmaning   kiritish   fokusini   olish,   ya’ni   uni   aktivlashtirish   (uni
bosish
mumkin)
MouseHover – Tugmacha ustida joylashgan sichqoncha kursori holati.
Shuning uchun bu hodisa tugma xossalarini o’zgartiradi. (Ushbu tugmaning
ustiga sichqoncha kursori turganligini bildiradi).
MouseLeave – sichqoncha kursori olinganda yuz beradi.
1.3.Ma’lumotlarni formada tasvirlash va kiritish
komponentalari.
LABEL KOMPONENTASI
9 Label   (Nishon)   komponentasi   ham   Стандартные   элементы   управления
bo’limida   joylashgan.   Bu   komponenta   o’zining   maydonida   matnlar   va   tasvirlar
joylashtirish   imkoniyatini   beradi,   bu   matnni   ilovadan   foydalanish   rejimida
o’zgartirib bo’lmaydi.
TEXTBOX XOSSALARI
Ulardan ba’zilarini ko’rib chiqaylik: 
AcceptsReturn   –   <Enter>   tugmasini   bosilishi   natijasida   kopsatrli   rejimda
komponentada   yangi   satrli   qator   hosil   qilish   (true   qiymatini   qabul   qilgan   holda)
yoki formada jimlik bo’yicha tugmani aktivlashtirish (false) vazifasini bajaradi. 
10 Agar   ushbu   xossa   false   (jimlik   bo’yicha)   qiymatini   qabul   qilsa,   ko’psatrli
rejimda kiritishni tashkil qilish uchun <Ctrl>+<Enter> klavishlar kombinatsiyadan
foydalanishi kerak. 
Agar   forma   uchun   tugmacha   ahamiyatsiz   bo’lsa,   AcceptsReturn
xossasining   qiymatidan   qat’i   nazar,   <Enter>   klavishasi   bosilishi   har   doim   yangi
satrli qator qo’shishni bildiradi. 
Tugmachada   jimlik   bo’yicha   Свойства   oynasida   ko’rsatilmagan
AcceptButton   xossasi o’rnatilgan bo’ladi. Bu xossa tugmacha avtomatik ravishda
<Enter>   tugmasining   ishlashini   ta’minlaydi.   Jimlik   bo’yicha   bu   xossa   mavjud
bo’ladi. Agar bu xossa aniqlanmasa, yuqoridagi qoida amal qiladi:  AcceptsReturn
xossasining   qiymatidan   qat’I   nazar,   <Enter>   klavishasi   bosilishi   har   doim   yangi
satrli qator qo’shishni bildiradi.
AcceptsTab   –   Yuqoridagi   mavzularda   keltirib   o’tilgan   TabIndex   xossasini
eslang. Bunda biz tugmasini bosganimizda birin-ketin komponentalar navbati bilan
faollashardi.   Agar   komponentaning   ushbu   xossasiga   False   qiymatini   bersak,
tugmasi   bosilganda   ushbu   jarayon   bajariladi.   Aks   holda   true   qiymatini   qabul
qilganda   ushbu   tugma   bosilganda,   xuddi   matn   muharrirlarida   bo’lgani   kabi   bir
nechta belgili joy tashlaydi (tabulyatsiya vazifasini bajaradi). 
AutoCompleteCustomSource   –   ushbu   komponentaning   vazifasiga
to’xtalishdan   avval   bir   misolni   keltiraylik.   Aytaylik,   siz   Brouzerlardan   birining
manzil qatorida biror saytning manzilini yozmoqchisiz, masalan, ziyonet.uz. Agar
siz   ushbu   saytga   oldin   ham   tashrif   buyurgan   bo’lsangiz   ‘z’   harfini   yozishingiz
bilanoq   pastda   ziyonet.uz   va   boshqa   ‘z’   harfi   bilan   boshlanuvchi   saytlar   ketma-
ketligi hosil bo’ladi. Xo’sh, bu qanday sodir bo’ladi? Aynan mana shu xossa, shu
savolga   javob   beradi   Bu   xossaga   qiymatlar   berishdan   avval,   AutoCompleteMode
va AutoCompleteSource xossalariga qiymat berish lozim. Ulardan birinchisi taklif
turini   aniqlasa,   ikkinchisi   qiymat   turini   aniqlaydi.   Qiymat   turlari:   URL   adreslari,
fayl nomlari, komandalar, kompyuterdagi manzillar. Shuni aytib o’tish kerakki, bu
faqat bir qatorli ma’lumotlar uchun o’rinlidir.
11 AutoCompleteCus
tomSource xossasining ishlashi kodi:
#include "stdafx.h"
#include <msclr/marshal.h>
using namespace System;
using namespace System::Windows::Forms;
ref class MyForm : public Form {
public:
    MyForm() {
        InitializeComponent();
        // TextBox yaratamiz
        TextBox^ textBox1 = gcnew TextBox();
        textBox1->AutoCompleteMode = AutoCompleteMode::Suggest;
                textBox1->AutoCompleteSource   =
AutoCompleteSource::CustomSource;
        // Custom source uchun AutoCompleteCollection yaratamiz
                AutoCompleteStringCollection^   sourceCollection   =   gcnew
AutoCompleteStringCollection();
        // Malumotlar ro'yxatini to'ldiramiz
12         sourceCollection->Add("C++");
        sourceCollection->Add("C#");
        sourceCollection->Add("Java");
        sourceCollection->Add("Python");
        sourceCollection->Add("Ruby");
        sourceCollection->Add("JavaScript");
        // TextBoxga malumotlar ro'yxatini ulaymiz
        textBox1->AutoCompleteCustomSource = sourceCollection;
        // Formaga TextBoxni qo'shamiz
        this->Controls->Add(textBox1);
    }
protected:
    ~MyForm() {
        if (components) {
            delete components;
        }
    }
private:
    System::ComponentModel::Container^ components;
#pragma region Windows Form Designer generated code
    void InitializeComponent(void) {
        this->components = gcnew System::ComponentModel::Container();
        this->Size = System::Drawing::Size(300, 200);
        this->Text = L"MyForm";
    }
13 #pragma endregion
};
[STAThread]
int main(array<String^>^ args) {
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    Application::Run(gcnew MyForm());
    return 0;
} 
II.Asosiy qism
2.1.Visual studioda forma yaratish va visual ko’rinishni xosil
qilish
Ishni boshlashdan aval 1-qadamda windows form yaratib olaman 
Windows Formni yaratib olgandan so’ng barcha kerakli komponentlarni sozlab 
chiqish kerak bo’ladi.
14 2.2.Fakultet O’qituvchilariga jadvalini hosil qilish ,
o’qituvchilar ma`lumotlarni urganib chiqish.
 Ushbu winformga
Barcha mavjud bo’lgan malumotlarni ko’rstish uchun DataGrid hosil qilamiz va 
barcha kerakli columnlarni qo’yib chiqamiz.
15 Barcha kerakli sozlab olgandan keyin, har bir webform uchun kod yozish 
jarayoniga o’tiladi.
2.3.Funksiyadan qaytgan qiymatni visual ko’rinishda
chiqarish va dizayn qismini mukammallashtirish.
Button click hosasiga ko’ra O’qituvchi qo’shish tugmasi bosilganda ushbu 
funksiya ishga tushib:   private void button_Click(object sender, EventArgs e)
{
    // Yangi formani yaratish
    Form2 secondForm = new Form2();
    // Yangi formani ochish
    secondForm.Show();
}
16 Ushbu   webform   ochiladi   va   bu   yerda   kerekli   malumotlarni   to’ldirib   bo’lgach
Jo’natish   tugmasi   bosiladi   va   formadagi   malumtlar   malumotlar   bazasiga   borib
tushadi. Bosh bo’limdagi malumotlar 1 taga ko’payib boradi. Malumotlarni saqlash
uchun quydagi formadan foydalanildi:
#include <iostream>
#include <database_header.h>
using namespace std;
void saveFormToDatabase(/* Form data, image data */) {
  try {
    database_connection_object conn("teachers_server", " teachers_name", 
"username", "password");
    conn.open();
    string sql = "INSERT INTO your_table (field1, field2, image_field) VALUES 
(?, ?, ?)";
    database_command_object cmd(conn, sql);
    cmd.bind_parameter(1, form_data1);
    cmd.bind_parameter(2, form_data2);
17     cmd.bind_parameter(3, image_data);
    cmd.execute();
    cout << "Form data saved successfully." << endl;
  } catch (database_error& e) {
    cerr << "Error saving form data: " << e.what() << endl;
  }
  conn.close();
}
void onSaveButtonClick() {
  string form_data1 = getTextboxValue();
  string form_data2 = getComboboxValue();
  vector<char> image_data = getImageData();
  saveFormToDatabase(form_data1, form_data2, image_data);
}
18 Bu yerga qo’yilgan select shu jadval ichidan biror odamni izlash uchun kerak 
bo’ladi fakultet kesimida. 
1. Visual Studio-dagi Proyekt Tuzilishi:
 Visual Studio ni ochib olamiz.
 Yangi proyekt yaratish uchun " File " menyusidagi " New " va " Project " ni 
tanlang.
 " Create a new project " oynasida,  "Windows Forms App (.NET Core)"  
yoki " Windows Forms App (.NET Framework) " loyihalaridan birini 
tanlaymiz.
2. UI (User Interface) Dizayni:
 Form ni tanlab, ekranga chiqaramiz.
 "Toolbox" panelida, kerakli komponentlarni (TextBox, Label, Button kabi) 
qo'shing va o'qituvchilarning ma'lumotlarini kiritish uchun joylashtiring.
19  Komponentlarni joylashtirganingizdan so'ng, har bir komponentni properties
oynasi orqali nom va xususiyatlarni sozlaymiz.
3. Dasturning Kodlashi:
 "Solution Explorer" panelida, "Form1.cs" (yoki boshqa nom bo'lishi 
mumkin) faylini tanlanadi.
 O'yin ni bosing va dasturning UI kodini o'zgartirish uchun "Design" rejimiga
yoqamiz.
 Har bir komponent uchun biror hodisa sodir bo'lganda ishlatiladigan 
funksiyalarni ketma-ket qo’shib ketamiz.
Misol uchun, qidiruv tugmasi bosilganda, qidiruv boshlanadigan funksiya:
private void SearchButton_Click(object sender, EventArgs e)
{
    string query = SearchTextBox.Text;
}  
Ma'lumotlar   bazasini   qo'llash   uchun,   siz   boshqa   proyektlardan,   yoki   yangi
yaratilgan dastur orqali SQL Server, MySQL, SQLite kabi ma'lumotlar bazalariga
ulanishingiz   mumkin.   Ulashmoqchi   bo'lgan   dasturingiz   ma'lumotlar   bazasiga
qanday   ulanishni   bildirib   ko'rsangiz,   sizning   tuzilishingizni   ma'lumotlar   bazasi
bilan   bog'lash   va   ma'lumotlarni   olish   maqsadida   SQL   so'rovlarni   ishlatish
osonlashadi. 
20 Xulosa
Men   “ Fakultet   o'qituvchilari   haqida   ma'lumotlarni,   hujjatlarini   saqlash
imkoniyatini   beruvchi   dasturiy   ilova   hosil   qilish ”   mavzusida   bajargan   kurs   ishini
bajarish davomida yangi adabiyotlardan hamda turli ma’lumotlardan foydalandim.
Birinchi   bo’lib   Vizual   studio   dasturida   Web   Formlar   bilan   ishlash   bo’yicha
tajribamni yanada oshirib oldim. Dasturni tuzish davomida o’qituvchilarga tegishli
malumotlarni   urganish   bilan   bir   qatorda   ularni   saqlash   va   tartiblab   chiqish
masalalari bilan ham ishladim. Qo’shimchasiga dizayn qismini hosil qilib oldim va
menga   kerak   bo’lgan   komponentalar   bilan   tanishi   chiqib   dizayn   bilan   ishlash
bo’yicha   tajribamni   ortirib   oldim.   Barcha   qismlarni   urganib   chiqach   dizaynni
yanada   mukammallashtirib   chiqdim.   So’ngra   backend   qismiga   o’tdim.   Backend
qismida   C++   dasturlash   tilida   turli   xil   funksiyalardan   foydalanib   ko’rdim,
o’qituvchiga tegishli bo’lgan malumotlarni qo’shish, barchasini ko’rish va boshqa
kerakli   metodlarni   yozdim.   Qo’shimchasiga   Visual   studio   juda   ko’p   kod   yozish
uchun   imkoniyat   va   tayor   bo’lgan   bazi   qo’shimchalarni   urganib   chiqdim.   Oxirgi
qadam yaratilgan dasturdagi imkoniyatlarni birma bir tekshirib chiqib xatoliklarni
tuzatib chiqdim, saqlash qismlarni mukammal ko’rinishga keltirdim. Har bir button
uchun click hossalarini yozib chiqdim.
Dastur   kodini   qisqartirish   va   tushunarli   ko’rinishga   keltirish   uchun
Funksiyadan   foydalandim.   Funksiyadan   foydalanganim   sababi   boshqa   joyda   ham
aynan shu vazifani bajaradigan qilish va bu algoritmni qayta qayta yozishni oldini
olish edi.
21 Foydalanilgan adabiyotlar:
1. “ Algoritmlash   va   dasturlash   asoslari ” –  B . J .  Bolytayev ,  A . R .  Azamatov ,  A . D . 
Rahimov ,  B . A .  Azamatov ,  D . T .  Asrayeva, Sh.Z. Qambaraliyev;
2. “Dasturlash Asoslari” – R.A Ro’ziyev;
3.  “C++ dasturlash tili” – Bjarne Stroustrup, 1985-y.
4. “Effektiv C++” – Skott Meyers, 1992-y;
5. “C va C++ tili” – Sh. A. Nazarov, 2017-y;
22