Информатика


Mustahkamlash uchun savollar


Download 7.16 Mb.
Pdf ko'rish
bet183/300
Sana25.08.2023
Hajmi7.16 Mb.
#1670002
1   ...   179   180   181   182   183   184   185   186   ...   300
Bog'liq
informatika Mominov

 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:
1   ...   179   180   181   182   183   184   185   186   ...   300




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling