C# мисоллар



Download 0,91 Mb.
bet40/52
Sana24.02.2022
Hajmi0,91 Mb.
#215341
1   ...   36   37   38   39   40   41   42   43   ...   52
Bog'liq
C# windows app form

textBox1.ReadOnly = true;
печатьToolStripMenuItem.Visible = false;

Менюдаги «Очиш» тугмаси босилганда, OpenFileDialog стандарт мулоқот ойнаси тақдим этилади. Танланган файл мазмунини ўқиш учун System.IO.StreamReader потогидан фойдаланамиз. Файл танланганидан сўнг, менюдаги “чоп этиш” тугмасини активлаштирамиз. “Чоп этиш” тугмаси босилганда, try..catch..finally блоки орқали дастурда яна бир маротаба System.IO.StreamReader потоги ҳосил қилинади ва printDocument1.Print() методидан фойдаланилади. Аммо ушбу метод чақирилганда принтер фақат бўш варақни чиқаради холос. Принтер матнни чоп қилиши учун PrintPage() ҳодисасини қайта ишлашимиз лозим. Ушбу ҳодиса PrintDocument объектини шакллантиради. printDocument1_PrintPage() методи ҳодисасини кўриб чиқамиз. Барча параметрларни e аргументдан олишимиз мумкин. Масалан:


ChapTomon = e.MarginBounds.Left;
YuqoriTomon = e.MarginBounds.Top;
Шрифтни ўрнатиш учун
Shrift = new Font("Times New Roman", 12.0F);

Сўнгра while циклида Reader.ReadLine() орқали файлдан хар бир сатр ўқиб олинади ва e.Graphics.DrawString методи орқали принтерга чоп қилинади.


while (i < SatrSoni)
{
Satr = Reader.ReadLine();
if (Satr == null) break; // циклдан чикиш
Y = YuqoriTomon + i * Shrift.GetHeight(e.Graphics);
// Сатрни чоп этиш
e.Graphics.DrawString(Satr, Shrift, Brushes.Black, ChapTomon, Y, new StringFormat());
i = i + 1; // ёки i += 1
}


i ўзгарувчиси орқали чоп қилинган сатрлар сони ҳисобланади. Агар ушбу қиймат битта саҳифада жойлаштирилиши лозим бўлган сатрлар сонидан катта бўлса, цикл фаолияти якунланади. Агар чоп қилинмаган сатрлар мавжуд бўлса, яъни (Satr!=null), e.HasMorePages ўзгарувчи қийматини true га тенглаштирамиз. Бу эса ўз навбатида PrintPage ҳодисасини инициализация қилади ва printDocument1_PrintPage() функция яна бир маротаба чақирилади. Ушбу жараён e.HasMorePages = false бўлгунча (барча сатрлар чоп қилингунча) бажарилади.

34-мисол. Бинар файллардан маълумотлар потогидан фойдаланиш орқали ўқиш/ёзиш


Кўп ҳолларда дастур дискдаги маълумотларни оператив хотирага ўқиб олади ёки бирор маълумотни дискка ёзади. Маълумотларни ўқиш(ёзиш) да бинар (иккилик) ёки матнли (литерли, сатрли) файллардан фойдаланилади. Ушбу файлларнинг фарқи – матнли файлларни бирор матн муҳарририда ўқиш мумкин. Бинарли файллар мазмунини матн муҳарририда ўқиб бўлмайди. Бинар (иккилик) – шартли ном бўлиб, ҳар иккала турдаги файллар ҳам иккилик файл ҳисобланади. Иккилик файлдан маълумот ўқиш жуда тез амалга оширилади. Чунки ушбу турдаги файллар хотирадан кам жойни эгаллайди. Дастурчи ўзининг эҳтиёжига қараб зарур файл тури билан иш кўради.
Талабанинг ўзлаштиришини ўзида сақловчи бинар файл устида амаллар бажарамиз. Ушбу дастур олий таълим муассасаси ўқув жараёни бошқарувининг бир қисми бўлиб, дастур орқали битта талабанинг реквизитлари форма орқали қабул қилиниб, “сақлаш” тугмаси босилганда ушбу маълумотлар иккилик файлга сақланади. “Ўқиш” тугмаси босилганда эса ушбу маълумотлар иккилик файлдан ўқиб олиниб, формадаги матнли майдонларга жойлаштирилади.
Демак, бизнинг формада учта матнли майдон мавжуд бўлиб, ушбу майдонларга фойдаланувчи талабанинг тартиб рақами, ФИОси ва ўртача ўзлаштиришни ёзиши лозим.
Ушбу масалани ҳал қилиш учун VS 2012 муҳитини ишга туширамиз. Сўнгра янги Windows Forms Application (Приложение Windows Forms) лойиҳасини ҳосил қилиб, унга ReadWriteBin номини берамиз.
Сўнгра форма дизайнерида ToolBox панелидан учта TextBox ва Label, ҳамда иккита Button (“Очиш”, “Сақлаш”) бошқарув элементларини жойлаштирамиз.


Download 0,91 Mb.

Do'stlaringiz bilan baham:
1   ...   36   37   38   39   40   41   42   43   ...   52




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish