C# мисоллар


-расм. Тугма босилишини иммитация қилиш IV. Матнли ва бинар файллардан ўқиш ва унга маълумот ёзиш. Матнли муҳаррир



Download 0,91 Mb.
bet28/52
Sana24.02.2022
Hajmi0,91 Mb.
#215341
1   ...   24   25   26   27   28   29   30   31   ...   52
Bog'liq
C# windows app form

3.10-расм. Тугма босилишини иммитация қилиш

IV. Матнли ва бинар файллардан ўқиш ва унга маълумот ёзиш. Матнли муҳаррир.
27-мисол. Unicode кодировкали матнли файлдан ўқиш/ёзиш. try..catch қайта ишлаш
Маълумотларни матнли шаклда дискда сақлаш кенг тарқалган амаллардан ҳисобланади. Матнли ва матнли бўлмаган файллар ҳам иккили файл бўлиб, агар бирор матн муҳарририда тўғридан тўғри ўқиш мумкин бўлган файллар “матнли” дейилади. Матнли файлдаги маълумотларни ўқиб олиш ва улардан фойдаланиш жуда осон амалга оширилиши мумкин.
// StreamReader оркали файлдан укиб олиш
var Reader = new System.IO.StreamReader(@"D:\Text1.txt");
// Матнли майдонга файл мазмунини узатиш
textBox1.Text = Reader.ReadToEnd();
Reader.Close();
Аммо ушбу дастурий кодда баъзи нюанслар мавжуд. Матнли майдон ва иккита тугмадан иборат форма ҳосил қиламиз. Биринчи тугма босилганда матнли файлдаги маълумот Unicode кодировкаси орқали ўқиб олинади. Иккинчи тугма босилганда эса таҳрирланган файл дискка сақлаб қўйилади.
Ушбу масалани ҳал қилиш учун VS 2012 муҳитини ишга туширамиз. Сўнгра янги Windows Forms Application (Приложение Windows Forms) лойиҳасини ҳосил қилиб, унга TxtUnicode номини берамиз.
Кейинги қадамда ToolBox панелидан битта TextBox ва иккита Button бошқарув элементларини танлаб, уни формага жойлаштирамиз. Сўнгра матнли майдоннинг Multiline хусусиятига True қийматини берамиз. Натижада матнли майдонда киритилган маълумот бир нечта сатрда намойиш қилинади. Битта тугма файлни очиш учун, иккинчиси матнли майдондаги маълумотларни файлга ёзиш учун ишлатилади. Қуйидаги 4.1 листингда ушбу дастурнинг коди келтирилган:

4.1 листинг. Unicode кодировкасидаги матнли файлни ўқиш/ёзиш

// Unicode кодировкасида ёзилган матнли файлдан укиш/ёзиш
using System;
using System.Drawing;
using System.Windows.Forms;

namespace TxtUnicode


{
public partial class Form1 : Form
{
// Fayl узгарувчисини эълон киламиз.
String Fayl;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// Бошлангич кийматларни урнатиш:
textBox1.Multiline = true;
textBox1.Clear();
textBox1.Size = new Size(268, 112);
button1.Text = "Очиш";
button1.TabIndex = 0;
button2.Text = "Саклаш";
this.Text = "Unicode кодировкаси";
Fayl = @"D:\Text1.txt";
}
private void button1_Click(object sender, EventArgs e)
{
// Очиш тугмасини босиш
// Агар UNICODE кодировкасида файл очилса, барча символлар куринади:
try
{ // Файлдан маълумотларни укиб олиш учун StreamReader объекти:
var Reader = new System.IO.StreamReader(Fayl);
// Матнли файлни юклаб олиш:
textBox1.Text = Reader.ReadToEnd();
Reader.Close(); // файлни ёпиш
// UNICODE кодировкасидаги файлни массивга ёзиб олиш
// (Open ва Close сиз):
// var Massiv = System.IO.File.
// ReadAllLines(@"D:\Text1.txt");
}
catch (System.IO.FileNotFoundException xatolik)
{
// Кайта ишлаш:
MessageBox.Show(xatolik.Message + "\n" +
"Файл мавжуд эмас", "Хатолик",
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
catch (Exception xatolik)
{
// Бошка турдаги хатолик:
MessageBox.Show(xatolik.Message, "Хатолик",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
private void button2_Click(object sender, EventArgs e)
{
// Саклаш тугмаси:
try
{ // Файлга ёзиш учун StreamWriter объектини хосил килиш:
var Writer = new System.IO.
StreamWriter(Fayl, false);
Writer.Write(textBox1.Text);
Writer.Close();
// Бошка усулда хам файлга ёзиш мумкин
// System.IO.File.WriteAllText(
// @"D:\tmp.tmp", textBox1.Text);
}
catch (Exception xatolik)
{
// Хатоликларни аниклаш:
MessageBox.Show(xatolik.Message, "Ошибка",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
}
}



Ушбу дастурда try блокидан фойдаланилган бўлиб, у қуйидаги мақсадда фойдаланилади. Ушбу блокда бирор амал бажарилишига ҳаракат қилинади. Агар ушбу амал тўғри бажарилмаса (масалан, файл мавжуд бўлмаса) бошқарув catch блокиги узатилади ва содир бўлган хатолик (Exception) қайта ишланади. Бизнинг дастурда «Очиш» тугмаси босилганда d:\text1.txt манзилида жойлашган файлни очишга ҳаракат қилинади.

Download 0,91 Mb.

Do'stlaringiz bilan baham:
1   ...   24   25   26   27   28   29   30   31   ...   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