11-мавзу. Мулоқот ойналари билан ишлаш


FolderBrowserDialog мулоқот ойнаси


Download 0.76 Mb.
Pdf ko'rish
bet6/10
Sana14.10.2023
Hajmi0.76 Mb.
#1701804
1   2   3   4   5   6   7   8   9   10
Bog'liq
11мавзу

6.
FolderBrowserDialog мулоқот ойнаси. Бу ойна 
- фойдаланувчилар учун папкалар 
кўриш, яратиш ва танлаш имконини берадиган мулоқот ойнасини кўрсатади. Бундан 
маълумотларни кўчиришда, папкаларни таққсолашда ишлатиш мумкин. Мулоқот 
ойнасининг хусусиятлари, усуллари ва ҳодисалар мавжуд. Уларнинг баъзиларини 
қуйидаги дастур фрагментига келтириб ўтамиз. 
System::IO::
Stream
^ myStream; 
System::Windows::Forms::
DialogResult
result = 
folderBrowserDialog1->ShowDialog(); 
if
( result == System::Windows::Forms::
DialogResult
::
OK


System::
String
^ folderName = folderBrowserDialog1-
>SelectedPath; 
openFileDialog1->InitialDirectory = folderName; 
openFileDialog1->FileName = 
String
::Concat(folderName,
"\\1.cpp"
); 
if
( (myStream = openFileDialog1->OpenFile()) != 
nullptr
){ 
System::IO::
StreamReader
^ sr = 
gcnew
System::IO::
StreamReader
(openFileDialog1->FileName); 
richTextBox1->Text = sr->ReadToEnd(); 
sr->Close(); 

}


Дастур фрагментида папка учун мулоқот ойнаси чақирилган ва кўрсатилган 
папкадан 1.cpp файлини юклаб келган. Бундай ҳолат файл менежерлар учун папкадаги 
файлларнинг рўйҳатини ҳам олиш мумкин.
Дастур фрагментида бир StreamReader оқим яратилган. Оқим файлнинг 
маълумотларини ўқиш учун яратилган. Оқимнинг конструктори асосида sr оқим объекти 
яратилади. Бу оқимнинг ReadToEnd функцияси орқали richTextBox га маълумотлар 
жойлаштирилади.
FolderBrowserDialog мулоқот ойнасининг кўриниши қуйидагича:
11.7-расм. FolderBrowserDialog мулоқот ойнасидан фойдаланиш
 
7.
SaveFileDialog мулоқот ойнаси. Бу ойна 
- фойдаланувчилар учун файлни сақлаш 
имконини берадиган мулоқот ойнасини кўрсатади. Бу ҳам асосан матнли ва махсус 
тузилмалари маълумотларини сақлаш учун ишлатилади. Маълумот қанақа тузилмада 
ёзилса, шундай тузилмада ўқилади.
System::IO::
Stream
^ myStream; 
MemoryStream
^ userInput = 
gcnew
MemoryStream
(); 
richTextBox1->SaveFile( userInput, 
RichTextBoxStreamType
::
PlainText
); 
userInput->WriteByte( 32 ); 
// saveFileDialog1->CreatePrompt = true;
// saveFileDialog1->OverwritePrompt = true;
// saveFileDialog1->FileName = "myText";
// saveFileDialog1->DefaultExt = "txt";
saveFileDialog1->Filter = 
"txt files (*.txt)|*.txt"

saveFileDialog1->FilterIndex = 2; 
saveFileDialog1->RestoreDirectory = 
true

if
( saveFileDialog1->ShowDialog() == 
System::Windows::Forms::
DialogResult
::
OK
){ 
myStream = saveFileDialog1->OpenFile(); 


userInput->Position = 0; 
userInput->WriteTo( myStream ); 
myStream->Close(); 

Дастур фрагментида икки хил оқим яратилган. myStream - биринчиси анъанавий 
оқим ва 
MemoryStream
-хотирали оқим яратилган. Бири маълумотларни олиш ва 
иккинчиси маълумотларни хотирага ёзиш, берилган ном билан номлашган қаратилган. 
Position бу поизицияани бошлаш, аммо олиб ташласа ҳам ишлайди.
Бу мулоқот ойнаси нафақат матнли маълумотларни балки, фойдланувчининг 
хохлаган маълумотни матн ёки бинар кодлаш орқали сақлаш мумкин. Мулоқот 
ойнасининг кўриниши қуйидаги расмда келтирилган. 
11.8-расм. SaveFileDialog мулоқот ойнасидан фойдаланиш
Кўриб чиқилган мулоқот ойналари барчаси ОТ билан ишлашга мўлжалланганлиги 
кўриниб, турибди. ОТ қандай созланган бўлса, бу мулоқот ойналари ҳам шу режимда 
ишлайди. Ойналарга деярли ўзгартириш киритиш шарт эмас, худдики барчаси 
кутилгандек яратилганга ўхшайди. Фақат энг катта муаммоси локализация қилиш. 

Download 0.76 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




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