Информатика
Mustahkamlash uchun savollar
Download 7.16 Mb. Pdf ko'rish
|
informatika Mominov
- Bu sahifa navigatsiya:
- 6.7. Bеrilgаnlаrni fаyllаrdа sаqlаsh. Muhim so`zlar
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. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling