• ListBox
  • 3.Loyiha qism Loyiha ishlab chiqish bosqichi
  • Edit (tahrirlovchi) – formada matnni tahrirlovchi maydon hosil qiladi. Label




    Download 2,16 Mb.
    bet2/3
    Sana14.05.2024
    Hajmi2,16 Mb.
    #233758
    1   2   3
    Bog'liq
    dilnoza talabalarni baholash

    Edit (tahrirlovchi) – formada matnni tahrirlovchi maydon hosil qiladi.
    Label (etiketka) – formada matn yozuv yaratadi.
    Button (Tugma) — eng ko‘p ishlatiladigan komponent. Ilovada matn yozuvli
    to‘rtburchak tugmalarni yaratish uchun xizmat qiladi. 
    ListBox (Ro‘yxat) — ro‘xatdan tanlash imkonini beruvchi to‘rtburchak maydon hosil qiladi.
    Panel (Panel) — boshqa komponentalarni joylashtirish uchun bo‘sh soha hosil qiladi. Uskunalar panelini yaratish uchun xizmat qiladi.

    2.3 Ma‘lumotlar bazasi bilan ishlash (acces dasturi haqida)


    Maʼlumotlar bazasi bilan ishlash, maʼlumotlar toʻplamini yaratish, saqlash, tahrirlash va oʻqishni oʻz ichiga olgan dasturlar jamiyatida koʻp qoʻllaniladi. Bu dasturlar orqali maʼlumotlar bazasidagi maʼlumotlarni boshqarish mumkin.


    Microsoft Access esa maʼlumotlar bazasi tuzish va boshqa amallarni amalga oshirish uchun foydalaniladigan bir dastur hisoblanadi. Bu dastur orqali maʼlumotlar bazasini yaratish, saqlash, tahrirlash va oʻqish mumkin boʻlib, odatda kichik va oʻrtacha hajmdagi maʼlumotlar bazalari uchun ishlatiladi.




    3.Loyiha qism


    Loyiha ishlab chiqish bosqichi
    File >New>VCL form application dan yangi forma yaratib oldim va DataModule oynasini ham yaratib oldim va ichiga ADOConnectio, ADOTable va DataSource companantelaridan tashlab oldim va D diskga saqlab oldim.



    3.1-rasm.

    Acces orqali bizga kerakli bo’lgan bazani yaratib olamiz. Bizga .mdb kengaytmali baza kerak bo’ladi. Uning ichiga esa 2ta “student” va “ball” nomli jadvallarni konstruktor orqali yaratib olamiz.








    3.2-rasm

    Boshlang‘ich qiymatlar bilan to’ldirib olamiz.




    3.3-rasm

    XE3 ga qaytamiz. Datamodule oynasini qo’shib, uning name ini “db” ga o’zgartirib ichiga adotable, adoconnection va datasurce larni joylab olamiz. Ularning ham nomlarini mos holda qaytadan nomlab olamiz.





    3.4-rasm

    ADOConnection ni o’zimiz yaratgan bazamizga bog’lab olamiz. ADOTablelar va DataSource larni ham mos holda sozlab olamiz.


    Asosiy formamizga qaytib unga DBGrid, BitBtn, DbEdit va Panel lardan zaruriyatga qarab joylab olamiz. Ularni kerakli holatga keltirish uchun bir nechta ishlar qilganimizdan so’ng bu formaning ko’rinishi quyidagicha bo’ladi:





    3.5-rasm

    “Alt+F11” ni bosib “db” formadan foydalanish huquqini berib qo’yamiz. Keyin DbGridni datasourcesini moslab chiqamiz. Keyin DbEditning “name” larni mos ravishda nomlab qo’yamiz. Ularning ham datasourcelarnini to’g’rilab qo’yganimizdan so’ng formamizda malumotlar ko’rinadi:





    3.6-rasm

    Dasturimizga 2ta forma qo’shib olamiz. Birini student qo’shishga ikkinchisini baho qo’yishga ishlatamiz. Form3 ni nameni “addStudentForm” deb nomlab olib unga DbEdit, label va BitBtn lardan joylashtirib olamiz. “alt+F11” bosish orqali db dan foydalanish huquqini berib qo’yamiz. Labelning captionlarini, DbEditning datasourcelarni to’g’rilab qo’yamiz. Shundan keyin bizda quyidagi natija bo’ladi:





    3.7-rasm
    Saqlash tugmasiga ushbu kodni yozdim:

    void __fastcall TaddStudentForm::BitBtn1Click(TObject *Sender)


    {
    db->studentTable->Post();
    addStudentForm->Close();
    }

    Cancel tugmasiga ushbu kodni yozdim:


    void __fastcall TaddStudentForm::closeBtnClick(TObject *Sender)


    {
    db->studentTable->Cancel();
    addStudentForm->Close();
    }

    Shu bilan bu oynadagi ishlar tugadi. Endi asosiy formadagi qo’shish tugmasiga ushbu kodni yozamiz:


    void __fastcall TForm1::BitBtn1Click(TObject *Sender)


    {
    db->studentTable->Insert();
    addStudentForm->ShowModal();
    }

    Tahrirlash tugmasiga esa ushbu kod yoziladi:


    void __fastcall TForm1::BitBtn2Click(TObject *Sender)


    {
    addStudentForm->Caption = "Tahrirlash";
    db->studentTable->Edit();
    addStudentForm->ShowModal();
    }

    O’chirish tugmasiga esa ushbu kod yozildi:


    void __fastcall TForm1::BitBtn3Click(TObject *Sender)


    {
    String name = nameEdit->Text;
    db->studentTable->Delete();
    ShowMessage("'" + name + "'" + " ga tegishli malumot o'chirildi");
    }
    Bu kod tanlangan ma’lumotni o’chiradi va o’chirilgan studentni o’chirilgani haqida xabar beradi.

    Endi form4 ni name ini “addBallForm” qilib olamiz. Unga Label, DbEdit, BitBtn va ComboBox larnijoylab olamiz. Db dan foydalanish huquqini beramiz. DbEditlarni datasourcelarini bog’lab, comboboxlarni itemlarini to’ldirib oldim, captionlarni to’g’rilab olganimdan so’ng shu ko’rinishga keldi.





    3.8-rasm



    3.9-rasm


    Saqlash tugmasiga yozgan kodim fanEditni text iga comboboxda tanlangan fanni, typeEdit ni text iga esa typeCombo da tanlangan turni olib beradi. Student id ni olib s_id ustuniga yozishda dbeditlardan foydalandim.

    void __fastcall TaddBallForm::saveBtnClick(TObject *Sender)


    {
    if (fanCombo->ItemIndex == -1 || typeCombo->ItemIndex == -1 || ballEdit->Text.IsEmpty()) {
    ShowMessage("Iltimos, Ma'lumotlarni to'liq kiriting!");
    } else {
    fanEdit->Text = fanCombo->Text;
    typeEdit->Text = typeCombo->Text;
    s_idEdit->Text = idEdit->Text;

    db->ballTable->Post();


    addBallForm->Close();
    }
    }

    Cancelga yozilgan kod:


    void __fastcall TaddBallForm::closeBtnClick(TObject *Sender)


    {
    db->ballTable->Cancel();
    addBallForm->Close();
    }

    Asosiy formaga qaytib, ball qo’shish tugmasiga shu kodni yozamiz:


    void __fastcall TForm1::BitBtn4Click(TObject *Sender)


    {
    db->ballTable->Insert();
    addBallForm->fanCombo->ItemIndex = -1;
    addBallForm->typeCombo->ItemIndex = -1;

    addBallForm->ShowModal();


    }

    Tahrirlashga:


    void __fastcall TForm1::BitBtn5Click(TObject *Sender)


    {
    addBallForm->fanCombo->ItemIndex = addBallForm->fanCombo->Items->IndexOf(db->ballTable->FieldByName("fan")->AsString);
    addBallForm->typeCombo->ItemIndex = addBallForm->typeCombo->Items->IndexOf(db->ballTable->FieldByName("type")->AsString);

    addBallForm->Caption = "Tahrirlash";


    db->ballTable->Edit();
    addBallForm->ShowModal();

    }


    O’chirishga:

    void __fastcall TForm1::BitBtn6Click(TObject *Sender)


    {
    db->ballTable->Delete();
    ShowMessage("O'chirildi");
    }

    “info” tugmasiga o’zim haqimda malumot kiritib qoydim:

    void __fastcall TForm1::BitBtn7Click(TObject *Sender)


    {
    ShowMessage("To'lqinboyeva Dilnoza\n\t620-23 guruh");
    }

    Shu bilan loyihamiz deyarli tayyor. Endi buni boshqa kompyuterda ham ishlata olishimiz uchun “project -> options -> c++ linker” dan “dinamic RTL” ni false qilamiz. “project -> options ->packages->Runtime Package” dan “runtime package: ni false qilamiz. Keyin ishga tushirib ko’ramiz.


    Download 2,16 Mb.
    1   2   3




    Download 2,16 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Edit (tahrirlovchi) – formada matnni tahrirlovchi maydon hosil qiladi. Label

    Download 2,16 Mb.