• Bilib olasiz
  • Mustahkamlash uchun savollar




    Download 7,16 Mb.
    Pdf ko'rish
    bet189/308
    Sana30.05.2024
    Hajmi7,16 Mb.
    #257687
    1   ...   185   186   187   188   189   190   191   192   ...   308
    Bog'liq
    Информатика

     Mustahkamlash uchun savollar.
     
    1.
    C++ Builderda grafik imkoniyatlarni tashkil qilib beruvchi bo`lim bormi? 
    2.
    VCL ning vazifasi nima ? 
    3.
    Pen va TCanvas elementi qanday element? 
    4.
    Color xususiyatining vazifasini ayting. 
    5.
    Tbrush elementining style xossasining qanday qiymatlarini bilasiz ? 
    6.
    LineTo ning vazifasini ayting. 
    7.
    Tpoint nima uchun ishlatiladi ? 


    316 
    8.
    Grafik matnlar bilan ishlovchi protseduralarni ayting. 
    9.
    Egri chiziqni qanday chizish mumkin ? 
    10.
    Draw nima ? 
    6.7.
     
    Bеrilgаnlаrni fаyllаrdа sаqlаsh. 

    Muhim so`zlar:
    LoadFromFile, SaveFromFile, TMemo, TStringList, 
    TlistBox, TComboBox, TRichEdit, delete, insert, add, count, TFileStream. 

    Bilib olasiz: 
    Fayllar bilan ishlash, ma`lumot o`qish, yozish, qo`shish, 
    o`chirish, LoadFromFile, SaveFromFile protseduralar bilan ishlash, TMemo, 
    TStringList, TlistBox, TComboBox, TRichEdit elementlarda matnlarni yozish, 
    qo`shish, o`chirish qulayliklari, TFileStream sinfi bilan tanishish. 
    Juda ko`p visual elementlar va ba`zi sinflar fayllar bilan ishlash 
    imkoniyatiga egadir. Asosan fayllar bilan ishlaganda quyidagi ikkita visual 
    funksiyalardan foydalanamiz
    LoadFromFile("Fayl nomi"); 
    Faylni o`qish 
    SaveToFile("Fayl nomi "); 
    Faylni saqlash 
    Bu funksiyalar matnli fayllar bilan ishlash uchun qulaydir. Masalan,
    6.7-listing.Faylni yuklash va saqlash.
    TMemo elementi yordamida faylni yuklash va saqlash. 
    Memo1->Lines->Clear(); 
    Memo1->Lines->LoadFromFile("a.txt"); 
    ...... 
    Memo1->Lines->SaveToFile("a.txt"); 
    ......
    TStringList elementi yordamida faylni yuklash va saqlash.
    TStringList * ptStrintList; 
    ptStrintList->Clear(); 
    ptStrintList=new TStringList(); 


    317 
    6.7-listing.Faylni yuklash va saqlash.
    ptStrintList->LoadFromFile("a.txt"); 
    ...... 
    ptStrintList->SaveToFile("a.txt"); 
    ...... 
    ptStrintList->Free(); 
    TListBox elementi yordamida faylni yuklash va saqlash.
    ListBox1->Items->Clear(); 
    ListBox1->Items->LoadFromFile("a.txt"); 
    ...... 
    ListBox1->Items->SaveToFile("a.txt"); 
    TComboBox elementi yordamida faylni yuklash va saqlash.
    ComboBox1->Items->Clear(); 
    ComboBox1->Items->LoadFromFile("a.txt"); 
    ...... 
    ComboBox1->Items->SaveToFile("a.txt"); 
    TRichEdit elementi yordamida faylni yuklash va saqlash. 
    RichEdit1->Lines->Clear(); 
    RichEdit1->Lines->LoadFromFile("a.txt"); 
    ..... 
    RichEdit1->Lines->SaveToFile("a.txt");
    Bu elementlardan tashqari C++ Builder da bir nechta elementlar borki, 
    ulardan ham fayllarni yuklash va saqlashda foydalanish mumkin. 
    SaveToFile funksiyasidan foydalanilganda fayl bo`lmasa, funksiya bu faylni 
    darhol yaratib beradi. Barcha fayllar matnli fayl bo`lib yaratiladi. Faqatgina 
    TRichEdit elementi yordamida *.rtf kengaytmali fayl bilan ishlash mumkin. 
    Shuning uchun mantiqiy yozish maqsadga muvofiqdir.
    RichEdit1->Lines->SaveToFile("a.rtf"); 


    318 
    Matnli fayllar bilan ishlaganda foydalaniladigan funksiya va ularning 
    xossalari qatorning sonini hisoblaydi. Masalan, 
    Memo1->Lines->Count; 
    RichEdit1->Lines->Count; 
    ptStrintList->Count; 
    ListBox1->Items->Count; 
    ComboBox1->Items->Count; 
    Barcha elementlar qator qo`shish, o`chirish imkoniyatlarini bajaradi. 
    Masalan, elementning ikkinchi qatorini o`chirib, o`rniga yangi matnni qo`yish va 
    matn oxirida qo`shishni olaylik.
    6.8-listing. Matn qo`shish 
    AnsiString vasS="Yes";
    TMemo elementi 
    if(Memo1->Lines->Count >= 2) { 
    Memo1->Lines->Delete(1); 
    Memo1->Lines->Insert(1,vasS); } 
    Memo1->Lines->Add(vasS);
    TRichEdit elementi 
    if(RichEdit1->Lines->Count >= 2) { 
    RichEdit1->Lines->Delete(1); 
    RichEdit1->Lines->Insert(1,vasS); } 
    RichEdit1->Lines->Add(vasS);
    TStrintList 
    elementi 
    if(ptStrintList->Count >= 2) { 
    ptStrintList->Delete(1); 
    ptStrintList->Insert(1,vasS); } 
    ptStrintList->Add(vasS);


    319 
    6.8-listing. Matn qo`shish 
    TListBox 
    elementi 
    if(ListBox1->Items->Count >= 2) { 
    ListBox1->Items->Delete(1); 
    ListBox1->Items->Insert(1,vasS); } 
    ListBox1->Items->Add(vasS);
    TComboBox 
    elementi 
    if(ComboBox1->Items->Count >= 2) { 
    ComboBox1->Items->Delete(1); 
    ComboBox1->Items->Insert(1,vasS); } 
    ComboBox1->Items->Add(vasS);
    Matnni saqlovchi qator soni bo`yicha ham saralash mumkin. Masalan, 
    AnsiString vasS; 
    vasS=Memo1->Lines->Strings[n]; 
    vasS=RichEdit1->Lines->Strings[n]; 
    vasS=ptStrintList->Strings[n]; 
    vasS=ListBox1->Items->Strings[n]; 
    vasS=ComboBox1->Items->Strings[n]; 
    Keltirilgan elementlar va ularning xossalari matnli fayllar bilan ishlash 
    imkoniyatini yaratib beradi. Eng ko`p ishlatiladigan elementlarga TMemo 
    TrichEdit va sinflardan TStringList bilan ishlash tavsiya etiladi.
    TFileStream sinfi ham borki, u yordamida matnli fayllar bilan ishlashda juda 
    ko`p imkoniyatlar bor. Masalan, TFileStream sinfida matnli fayl bilan ishlash 
    ancha qulayliklarni beradigan listingni keltiramiz.
    6.9-listing 
    //yangi oqim yaratamiz va unga faylni o`qish va yozish uchun yuklaymiz. 
    TFileStream * tfile=new TFileStream("b.txt",fmOpenReadWrite); 
    //kursorni (0,0) ga joylashtiramiz. 


    320 
    6.9-listing 
    tfile->Seek(0,0); 
    //bufferni tanlash. 
    char *vchrgBuf; 
    //buffer uchun xotira olinadi. 
    if ((vchrgBuf = (char *) malloc(tfile->Size)) == NULL) { 
    // buffer uchun olingan xotiraning mavjud emasligi haqidagi xabarni yozish
    // mumkin.
    return; } 
    //buferdan axborotni o`qiymiz. 
    tfile->Read(vchrgBuf,tfile->Size); 
    // bufferda axborotni o`zgaruvchi o`qib olamiz. 
    AnsiString vasS=vchrgBuf; 
    //har ehtimolga qarshi 
    vasS.SetLength(tfile->Size); 
    //xotirani tozalash 
    free(vchrgBuf); 
    //oqimni tozalash 
    tfile->Size=0; 
    // TMemo elementiga axborotni ko`rish uchun yozamiz 
    //Memo1->Lines->Clear(); 
    Memo1->Lines->Add(vasS); 
    //axborotni o`zgartirmiz 
    if(Memo1->Lines->Count >= 2) { 
    Memo1->Lines->Delete(1); 
    String vasS1="Salom Buxoro !!!"; 
    Memo1->Lines->Insert(1,vasS1); } 
    //AnsiString ga TMemo ning ma`lumotini olamiz 


    321 
    6.9-listing 
    vasS=Memo1->Lines->GetText(); 
    // buffer uchun xotira olinadi. 
    if ((vchrgBuf = (char *) malloc(vasS.Length())) == NULL) { 
    // // buffer uchun olingan xotiraning mavjud emasligi haqidagi xabarni yozish
    // mumkin.
    return; } 
    //matnni buferga olish. 
    vchrgBuf=vasS.c_str(); 
    tfile
    -
    >Write(vchrgBuf,vasS.Length()); 
    //oqimni tozalaymiz 
    tfile->Free(); 
    //xotirani tozalaymiz. 
    free(vchrgBuf);
    Yuqorida keltirilgan imkoniyatlar C++ Builderda matnli fayllarga 
    ma`lumotlarni yozish, o`qish, o`zgartirish bilan ishlash juda ko`p qulayliklarni 
    yaratib beradi. Bundan tashqari C++ Builderda tipli fayllari bilan ham ishlash 
    mumkin. 
    

    Download 7,16 Mb.
    1   ...   185   186   187   188   189   190   191   192   ...   308




    Download 7,16 Mb.
    Pdf ko'rish