I. ODDIY
1. C# da ko'rsatgichlar yo'q.
2. To'g'ridan-to'g'ri xotirani manipulyatsiya qilish kabi xavfli operatsiyalarga yo'l qo'yilmaydi.
3. C# da "::" yoki "->" operatorlaridan foydalanilmaydi. .NET tarmog'ida bo'lgani uchun u avtomatik xotirani boshqarish va axlat yig'ish xususiyatlarini meros qilib oladi.
4. Integer, Floats va boshqalar kabi ibtidoiy turlarning turli diapazonlari.
5. 0 va 1 butun son qiymatlari endi mantiqiy qiymatlar sifatida qabul qilinmaydi.
6. Mantiqiy qiymatlar C# da sof haqiqiy yoki noto'g'ri qiymatlardir, shuning uchun "="operator" va "==" operatorida boshqa xatolar bo'lmaydi.
7. Taqqoslash operatsiyasi uchun "==", tayinlash uchun esa "=" ishlatiladi.
II. ZAMONAVIY
C# tili hozirgi tendentsiyaga asoslangan bo'lib, o'zaro ishlash, kengaytiriladigan, mustahkam ilovalarni yaratish uchun juda kuchli va sodda.C# har qanday komponentni istalgan platformada ishlaydigan har qanday ilovadan internet orqali ishga tushirish mumkin bo'lgan veb-xizmatga aylantirish uchun o'rnatilgan yordamni o'z ichiga oladi.
III. OBYEKTGA YO'NALTIRILGAN
1.C# ma'lumotlar inkapsulyatsiyasi, meros, polimorfizm, interfeyslarni qo'llab-quvvatlaydi.
2. (int, float, double) java'da ob'ektlar emas, lekin C# ibtidoiy turlarni ob'ektga aylantirish imkonini beruvchi tuzilmalarni (strukturalarni) taqdim etadi.
1-rasm
IV. XAVFSIZLIK TURI
1. C# da biz double ni mantiqiyga aylantirish kabi xavfli translatsiyalarni bajara olmaymiz.
2. Qiymat turlari (ibtidoiy turlar) kompilyator tomonidan avtomatik ravishda nolga va mos yozuvlar turlari (ob'ektlar va sinflar) nullga ishga tushiriladi.
3. Massivlar nol bazaviy indekslanadi va bog'langan holda tekshiriladi.
4. Turlarning to'lib ketishini tekshirish mumkin.
V. O’ZARO HAMKORLIK
1. C# COM va Windows-ga asoslangan ilovalar uchun mahalliy yordamni o'z ichiga oladi.
2. Mahalliy ko'rsatkichlardan cheklangan foydalanishga ruxsat berish.
3. Foydalanuvchilar endi noma'lum va boshqa MAQOMOTI interfeyslarini aniq amalga oshirishlari shart emas, bu xususiyatlar o'rnatilgan.
4. C# foydalanuvchilarga eski kodingizni boshqarish uchun xavfli kod bloklari sifatida ko'rsatgichlardan foydalanish imkonini beradi.
5. VB NET va boshqa boshqariladigan kod tillarining komponentlari va bevosita C# da ishlatilishi mumkin.
VI. MASTAHALASH VA YANGILANISH
1. .NET o'z manifestlari orqali o'zini-o'zi tavsiflovchi yig'ilishlarni taqdim etdi. manifest yig'ilish identifikatorini, versiyasini, madaniyatini va raqamli imzosini va hokazolarni belgilaydi. Assambleyalar hech qanday joyda ro'yxatdan o'tilishi shart emas.
2. Ilovamizni kengaytirish uchun biz eski fayllarni o'chirib tashlaymiz va ularni yangilari bilan yangilaymiz. Dinamik bog'lanish kutubxonasi ro'yxatdan o'tkazilmagan.
3.Dasturiy ta'minot komponentlarini yangilash xatoga yo'l qo'yadigan vazifadir. Kodga o'zgartirishlar kiritildi. tilda mavjud C# dasturini qo'llab-quvvatlash versiyasiga ta'sir qilishi mumkin. Interfeyslar va usullarni bekor qilish uchun mahalliy yordam vaqt o'tishi bilan murakkab ramkalarni ishlab chiqish va rivojlantirish imkonini beradi.
XULOSA
C# - bu zamonaviy, xavfsiz dasturlash tili, ob'ektga yo'naltirilgan til bo'lib, dasturchilarga Microsoft .NET platformasi uchun tez va oson yechimlar yaratish imkonini beradi.
II bob. C# dasturlash tilida har xil geometrik shakllar chizish dasturini yaratish va uni amaliyotga tadbiq etish.
2.1. C# dasturlash tilida Data Reader.
Yilda ADO.NET , bir DataReader bir ma'lumotlar manbadan navbat o'qib ma'lumotlarga ishlatiladigan ob'ektlarini keng Turkum hisoblanadi. [1] DataReaders maʼlumotlarga kirishning juda samarali usulini taʼminlaydi va ularni ASP Classic dan Firehose kursori sifatida koʻrish mumkin , bundan tashqari server tomonidagi kursor ishlatilmaydi. A DataReader bir ajralish singlisini ma'lumot oqimi dan Microsoft SQL Server va boshqa manbalardan ma'lumotlarni olish va boshqa usullar.
DataReader odatda so'rovni, ixtiyoriy ravishda har qanday parametrlarni va so'rovni bajarish uchun ulanish ob'ektini o'z ichiga olgan Buyruq obyekti bilan birga bo'ladi.
ADO.NET da DataReader klassi mavjud emas , lekin IDataReader interfeysini amalga oshiradigan bir qator sinflar mavjud:
System.Data.SqlClient.SqlDataReader
System.Data.OleDb.OleDbDataReader
Oracle.OracleClient.OracleDataReader
DataReaders kichik hajmga ega va yaxshi ishlashga ega, chunki ularning har biri topshiriq uchun moslashtirilgan, ammo bu bir ma'lumot manbasidan boshqasiga ko'chirilishi mumkin bo'lgan dastur yozishni qiyinlashtiradi. Ba'zi provayderga xos DataReaders asosiy ma'lumotlar bazasi tomonidan ishlatiladigan turlarni ko'rsatadi – masalan, int qiymatlari Microsoft SQL Serverda null bo'lishi mumkin, lekin 2.0 versiyasidan oldingi .NET Frameworkda emas .
Ma'lumotlarni olish uchun DataReader-dan foydalanganda, ishlab chiquvchi maydon qiymatlarini qattiq terilgan ( misol: myReader.GetString(12) ) yoki zaif terilgan usulda o'qishni tanlashi mumkin va keyin System.Object s ( misol: ) sifatida qaytadi . Ikkala yondashuvning ham ijobiy va salbiy tomonlari bor.myReader.GetValue(12)
Qattiq terilgan qidirish usullaridan foydalanish, ayniqsa, asosiy ma'lumotlar haqida aniq ma'lumotga ega bo'lmasdan, yanada og'irroq bo'lishi mumkin. Ma'lumotlar bazasidagi raqamli qiymatlar bir nechta .NET turlariga tarjima qilishi mumkin : Int16 , Int32 , Int64 , Float , Decimal yoki Currency . Noto'g'ri turdagi qiymatdan foydalanib, qiymatni olishga urinish istisnoga olib keladi, bu kodning keyingi ishlashini to'xtatadi va ilovani sekinlashtiradi.
Bu siz to'g'ri turdan foydalanganingizda ham to'g'ri bo'ladi, lekin DbNull qiymatiga duch kelsangiz ( bu DataReader sinfining IsDbNull mantiqiy funksiyasidan foydalanish orqali oldini olish mumkin).). Ushbu izlash usulining afzalligi shundaki, ma'lumotlarni tekshirish tezroq amalga oshiriladi, bu esa ma'lumotlarni tuzatish ehtimolini oshiradi.
Zaif terilgan ma'lumotlarni qidirish tez kod yozish imkonini beradi va ishlab chiquvchi qaysi turlar qaytarilishini oldindan bilmasa, ma'lumotlardan qandaydir tarzda foydalanishga imkon beradi. Bundan tashqari, dasturchi biroz kuch sarflagan holda , DataReaderning GetFieldType yoki GetDataTypeName usullaridan foydalangan holda qiymatni tegishli turdagi o'zgaruvchiga chiqarishi mumkin .
DataReader ba'zi hollarda DataTable o'rniga ishlatilishi mumkin , ammo ko'plab dasturchilar ushbu yondashuvga amal qilganda ulanishning shishishiga duch kelishgan . DataReader faqat ochiq (allaqachon) ma'lumotlar bazasi ulanishiga qarshi ishlatilishi mumkin ; DataReaderning Dispose usuli chaqirilmaguncha , bu ulanish yopilmaydi . Agar ma'lumotlar qayta ishlanayotganda, masalan , yuqoridagi Kuchli va zaif yozishda tavsiflanganidek, istisno qilingan bo'lsa, dasturchi harakat qilmasdan DataReaderni aniq e'lon qiladigan va utilizatsiya qiluvchi kodni yozsa Dispose usuli hech qachon chaqirilmaydi – nihoyat. Blok. C # foydalanib construct quyida kod misolida ko'rsatilganidek, bu muammodan qochishning yaxshi usuli hisoblanadi.
2.2. Dastur uchun formalar yaratish va ularning vazifalari
System.Drawing.Common.dll
GDI+ chizma yuzasini inkapsulyatsiya qiladi. Bu sinfni meros qilib bo‘lmaydi.
C#Copy
ommaviy muhrlangan sinf Grafika: MarshalByRefObject, IDisposable, System.Drawing.IDeviceContext
Meros olish
Ob'ekt
MarshalByRefObject
Grafika
Amalga oshirish
IDeviceContext IDisposable
Misollar
Quyidagi kod misoli Windows Forms bilan foydalanish uchun mo'ljallangan va PaintEventArgs ob'ektini talab qiladi. PaintEventArgs obyekti e deb nomlanadi va Paint hodisasi ishlov beruvchisining parametri hisoblanadi. Kod quyidagi amallarni bajaradi:
JPEG faylidan rasm yaratadi. Fayl SampImag.jpg deb nomlangan va misol papkasida joylashgan.
Rasmning yuqori chap burchagini chizish uchun nuqta yaratadi.
Graphics obyekti yordamida masshtabsiz tasvirni ekranga tortadi.
private void DrawImagePointF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create point for upper-left corner of image.
PointF ulCorner = new PointF(100.0F, 100.0F);
// Draw image to screen.
e.Graphics.DrawImage(newImage, ulCorner);
}
Izohlar
Graphics klassi displey qurilmasiga ob'ektlarni chizish usullarini taqdim etadi. Grafika ma'lum bir qurilma konteksti bilan bog'langan.
Eslatma
.NET 6 va keyingi versiyalarida ushbu turni o'z ichiga olgan System.Drawing.Common paketi faqat Windows operatsion tizimlarida qo'llab-quvvatlanadi. Ushbu turdagi platformalararo ilovalarda foydalanish kompilyatsiya vaqtida ogohlantirishlar va ish vaqti istisnolariga olib keladi. Qo'shimcha ma'lumot olish uchun faqat Windows-da qo'llab-quvvatlanadigan System.Drawing.Common-ga qarang.
Graphics obyektini System.Windows.Forms.Control dan meros bo‘lgan obyektda Control.CreateGraphics usulini chaqirish yoki boshqaruv elementining Control.Paint hodisasini boshqarish va System.Windows.Forms.PaintEventArgs ning Graphics xususiyatiga kirish orqali olishingiz mumkin. sinf. Bundan tashqari, FromImage usuli yordamida tasvirdan Grafik obyektini yaratishingiz mumkin. Grafika ob'ektini yaratish haqida ko'proq ma'lumot olish uchun "Qanday qilish" bo'limiga qarang: Chizish uchun grafik ob'ektlarni yaratish.
Graphics ob'ektidan foydalanib, siz juda ko'p turli shakl va chiziqlar chizishingiz mumkin. Chiziqlar va shakllarni chizish haqida ko'proq ma'lumot olish uchun siz chizmoqchi bo'lgan chiziq yoki shakl uchun maxsus DrawGraphicalElement usuliga qarang. Bu usullarga DrawLine, DrawArc, DrawClosedCurve, DrawPolygon va DrawRectangle kiradi. Chiziqlar va shakllarni chizish haqida ko'proq ma'lumot olish uchun Chiziqlar va shakllarni chizish uchun qalamdan foydalanish va shakllarni to'ldirish uchun cho'tkadan foydalanishga qarang.
Shuningdek, siz mos ravishda DrawImage va DrawIcon usullaridan foydalangan holda tasvir va piktogramma chizishingiz mumkin. Rangli ma'lumotlarni ekrandan Graphics ob'ektining chizilgan yuzasiga bit blokli uzatishni amalga oshirish uchun CopyFromScreen-ga qarang. Grafik ob'ekt bilan tasvirlarni qanday chizish haqida ko'proq ma'lumot olish uchun Tasvirlar, Bitmaplar, Belgilar va Metafayllar bilan ishlashga qarang.
Bundan tashqari, siz Graphics ob'ekti tomonidan ishlatiladigan koordinatalar tizimini boshqarishingiz mumkin. Koordinatalar tizimi va uni qanday boshqarish haqida ko'proq ma'lumot olish uchun Koordinatalar tizimlari va transformatsiyalar bo'limiga qarang.
Xususiyatlari
Klip
Ushbu Grafikaning chizilgan hududini cheklaydigan hududni oladi yoki o'rnatadi.
ClipBounds
Ushbu Grafikaning kesish hududini chegaralovchi RectangleF strukturasini oladi.
Kompozitsiyalash rejimi
Ushbu Grafikaga birlashtirilgan tasvirlar qanday chizilganligini belgilaydigan qiymatni oladi.
Kompozitsiya sifati
Ushbu Grafikaga chizilgan kompozitsion tasvirlarni ko'rsatish sifatini oladi yoki o'rnatadi.
DpiX
Ushbu Grafikning gorizontal ruxsatini oladi.
DpiY
Ushbu Grafikaning vertikal ruxsatini oladi.
Interpolatsiya rejimi
Ushbu Grafika bilan bog'langan interpolyatsiya rejimini oladi yoki o'rnatadi.
IsClipEmpty
Ushbu Grafikaning kesish hududi bo'sh yoki yo'qligini ko'rsatadigan qiymatni oladi.
IsVisibleClipEmpty
Ushbu Grafikaning ko'rinadigan kesish hududi bo'sh yoki yo'qligini ko'rsatadigan qiymatni oladi.
Pagescale
Ushbu Grafika uchun jahon birliklari va sahifa birliklari oʻrtasidagi masshtabni oladi yoki oʻrnatadi.
Sahifa birligi
Ushbu Grafikdagi sahifa koordinatalari uchun ishlatiladigan oʻlchov birligini oladi yoki oʻrnatadi.
PixelOffsetMode
Ushbu Grafikni ko'rsatishda piksellar qanday ofsetlanishini ko'rsatuvchi qiymatni oladi yoki o'rnatadi.
RenderingOrigin
Dithering va lyuk cho'tkalari uchun ushbu Grafikning renderlash manbasini oladi yoki o'rnatadi.
Smoothing Mode
Ushbu Grafika uchun renderlash sifatini oladi yoki o‘rnatadi.
Matn kontrasti
Matnni ko'rsatish uchun gamma tuzatish qiymatini oladi yoki o'rnatadi.
TextRenderingHint
Ushbu Grafika bilan bog'langan matnni ko'rsatish rejimini oladi yoki o'rnatadi.
O'zgartirish
Ushbu Grafika uchun dunyoning geometrik oʻzgarishi nusxasini oladi yoki oʻrnatadi.
TransformElements
Ushbu Grafika uchun dunyoni oʻzgartirish elementlarini oladi yoki oʻrnatadi.
VisibleClipBounds
Ushbu Grafikning ko'rinadigan kesish mintaqasining chegaralovchi to'rtburchaklarini oladi.
Usullari
AddMetafileComment(bayt[])
Joriy metafaylga sharh qo'shadi.
BeginContainer()
Grafik konteynerni ushbu Grafikning joriy holati bilan saqlaydi va yangi grafik konteynerni ochadi va ishlatadi.
BeginContainer(To'rtburchak, To'rtburchak, Grafika Birligi)
Grafik konteynerni ushbu Grafikning joriy holati bilan saqlaydi va belgilangan shkala o‘zgarishi bilan yangi grafik konteynerni ochadi va ishlatadi.
BeginContainer(RectangleF, RectangleF, GraphicsUnit)
Grafik konteynerni ushbu Grafikning joriy holati bilan saqlaydi va belgilangan shkala o‘zgarishi bilan yangi grafik konteynerni ochadi va ishlatadi.
Aniq (rangli)
Butun chizilgan sirtini tozalaydi va uni belgilangan fon rangi bilan to'ldiradi.
CopyFromScreen(Int32, Int32, Int32, Int32, o'lcham)
Ekrandan Grafikaning chizilgan yuzasiga piksellar to'rtburchaklariga mos keladigan rangli ma'lumotlarning bit-blokli uzatilishini amalga oshiradi.
CopyFromScreen(Int32, Int32, Int32, Int32, Size, CopyPixelOperation)
Ekrandan Grafikaning chizilgan yuzasiga piksellar to'rtburchaklariga mos keladigan rangli ma'lumotlarning bit-blokli uzatilishini amalga oshiradi.
CopyFromScreen(nuqta, nuqta, oʻlcham)
Ekrandan Grafikaning chizilgan yuzasiga piksellar to'rtburchaklariga mos keladigan rangli ma'lumotlarni bit-blokli uzatishni amalga oshiradi.
CopyFromScreen(Nuqta, nuqta, oʻlcham, CopyPixelOperatsiyasi)
Ekrandan Grafikaning chizilgan yuzasiga piksellar to'rtburchaklariga mos keladigan rangli ma'lumotlarni bit-blokli uzatishni amalga oshiradi.
CreateObjRef(turi)
Masofaviy ob'ekt bilan bog'lanish uchun ishlatiladigan proksi-serverni yaratish uchun zarur bo'lgan barcha tegishli ma'lumotlarni o'z ichiga olgan ob'ektni yaratadi.
(MarshalByRefObject dan meros)
Dispose()
Ushbu Grafik tomonidan ishlatiladigan barcha resurslarni chiqaradi.
DrawArc(Pen, Int32, Int32, Int32, Int32, Int32, Int32)
Koordinatalar, kenglik va balandlik juftligi bilan belgilangan ellipsning bir qismini ifodalovchi yoyni chizadi.
DrawArc(qalam, to'rtburchak, bitta, bitta)
Rectangle strukturasi tomonidan belgilangan ellips qismini ifodalovchi yoy chizadi.
DrawArc(Qalam, RectangleF, Single, Single)
RectangleF strukturasi tomonidan belgilangan ellips qismini ifodalovchi yoy chizadi.
DrawArc(Qalam, Yakka, Yakka, Yakka, Yakka, Yakka, Yakka)
Koordinatalar, kenglik va balandlik juftligi bilan belgilangan ellipsning bir qismini ifodalovchi yoyni chizadi.
DrawBezier (qalam, nuqta, nuqta, nuqta, nuqta)
To'rtta Point tuzilmasi bilan aniqlangan Bezier splineni chizadi.
DrawBezier(Qalam, PointF, PointF, PointF, PointF)
To'rtta PointF tuzilmasi bilan aniqlangan Bezier splineni chizadi.
DrawBezier(Qalam, Single, Single, Single, Single, Single, Single, Single, Single)
Nuqtalarni ifodalovchi to‘rtta tartiblangan koordinatalar juftligi bilan aniqlangan Bezier splineni chizadi.
DrawBeziers(qalam, nuqta[])
Point tuzilmalari massividan bir qator Bezier splaynlarini chizadi.
DrawBeziers(Qalam, PointF[])
PointF tuzilmalari massividan bir qator Bezier splaynlarini chizadi.
DrawClosedCurve(Qalam, nuqta[])
Point tuzilmalari massivi bilan aniqlangan yopiq kardinal splineni chizadi.
DrawClosedCurve(Qalam, Nuqta[], Yagona, FillMode)
Belgilangan taranglikdan foydalangan holda Nuqta tuzilmalari massivi bilan aniqlangan yopiq kardinal splineni chizadi.
DrawClosedCurve(Qalam, PointF[])
PointF tuzilmalari massivi bilan aniqlangan yopiq kardinal splineni chizadi.
DrawClosedCurve(Pen, PointF[], Single, FillMode)
Belgilangan kuchlanish yordamida PointF tuzilmalari massivi bilan aniqlangan yopiq kardinal spline chiziladi.
DrawCurve(qalam, nuqta[])
Belgilangan nuqta tuzilmalari qatori orqali asosiy splayn chizadi.
DrawCurve(Pen, Point[], Int32, Int32, Single)
Belgilangan taranglik yordamida Nuqta tuzilmalarining belgilangan massivi orqali kardinal splayn chizadi.
DrawCurve(qalam, nuqta[], bitta)
Belgilangan taranglik yordamida Nuqta tuzilmalarining belgilangan massivi orqali kardinal splayn chizadi.
DrawCurve(Qalam, PointF[])
PointF tuzilmalarining belgilangan massivi orqali kardinal splayn chizadi.
DrawCurve(Pen, PointF[], Int32, Int32)
PointF tuzilmalarining belgilangan massivi orqali kardinal splayn chizadi. Chizma massiv boshidan ofsetdan boshlanadi.
DrawCurve(Pen, PointF[], Int32, Int32, Single)
Belgilangan taranglikdan foydalanib, PointF tuzilmalarining belgilangan qatori orqali kardinal splayn chizadi. Chizma massiv boshidan ofsetdan boshlanadi.
DrawCurve(Qalam, PointF[], Yagona)
Belgilangan taranglikdan foydalanib, PointF tuzilmalarining belgilangan qatori orqali kardinal splayn chizadi.
DrawEllipse(Pen, Int32, Int32, Int32, Int32)
To'rtburchakning yuqori chap burchagi, balandligi va kengligi uchun koordinatalar bilan belgilangan chegaralovchi to'rtburchak bilan aniqlangan ellipsni chizadi.
DrawEllipse(qalam, to'rtburchak)
Chegaralovchi Rectangle strukturasi bilan belgilangan ellipsni chizadi.
Ellips chizish(qalam, to'rtburchak F)
Chegaralovchi RectangleF bilan aniqlangan ellipsni chizadi.
DrawEllipse(Qalam, Yakka, Yakka, Yakka, Yakka)
Koordinatalar, balandlik va kenglik juftligi bilan belgilangan chegaralovchi to'rtburchak bilan aniqlangan ellipsni chizadi.
DrawIcon(Icon, Int32, Int32)
Belgilangan koordinatalarda ko'rsatilgan Belgi bilan ifodalangan tasvirni chizadi.
DrawIcon(Ikonka, To'rtburchak)
Rectangle strukturasi tomonidan belgilangan maydon ichida belgilangan Belgi bilan ifodalangan tasvirni chizadi.
DrawIconUnstretched(Ikoncha, Toʻrtburchak)
Belgilangan Belgi bilan ifodalangan tasvirni tasvirni masshtablashtirmasdan chizadi.
DrawImage (Image, Int32, Int32)
Belgilangan rasmni koordinata juftligi bilan belgilangan joyda asl fizik hajmidan foydalangan holda chizadi.
DrawImage(Image, Int32, Int32, Int32, Int32)
Belgilangan rasmni belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Image, Int32, Int32, Rectangle, GraphicsUnit)
Belgilangan joyda tasvirning bir qismini chizadi.
DrawImage (Rasm, nuqta)
Belgilangan rasmni asl jismoniy o'lchamidan foydalangan holda belgilangan joyda chizadi.
DrawImage(Rasm, nuqta[])
Belgilangan rasmni belgilangan joyda va belgilangan shakl va o'lchamda chizadi.
DrawImage(Rasm, Nuqta[], To'rtburchak, GraphicsUnit)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Rasm, Point[], To'rtburchak, GraphicsUnit, ImageAttributes)
Belgilangan joyda belgilangan Tasvirning belgilangan qismini chizadi.
DrawImage(Rasm, Point[], To'rtburchaklar, Grafika Birligi, Tasvir atributlari, Graphics+DrawImageAbort)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Rasm, Point[], To'rtburchak, Grafika Birligi, Tasvir atributlari, Graphics+DrawImageAbort, Int32)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage (Rasm, PointF)
Belgilangan rasmni asl jismoniy o'lchamidan foydalangan holda belgilangan joyda chizadi.
DrawImage(Rasm, PointF[])
Belgilangan rasmni belgilangan joyda va belgilangan shakl va o'lchamda chizadi.
DrawImage(Rasm, PointF[], RectangleF, GraphicsUnit)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Rasm, PointF[], RectangleF, GraphicsUnit, ImageAttributes)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Rasm, PointF[], RectangleF, GraphicsUnit, ImageAtributs, Graphics+DrawImageAbort)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Image, PointF[], RectangleF, GraphicsUnit, ImageAtributs, Graphics+DrawImageAbort, Int32)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage (Rasm, To'rtburchak)
Belgilangan rasmni belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Image, Rectangle, Int32, Int32, Int32, Int32, GraphicsUnit, ImageAttributes, Graphics+DrawImageAbort, IntPtr)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Rasm, To'rtburchak, To'rtburchak, Grafika Birligi)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Rasm, To'rtburchak, Yagona, Yagona, Yagona, Yagona, Grafika Birligi)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Rasm, To'rtburchak, Yagona, Yagona, Yagona, Yagona, Grafika Birligi, Tasvir atributlari)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Rasm, Toʻrtburchak, Yagona, Yagona, Yagona, Yagona, Grafika birligi, Tasvir atributlari, Graphics+DrawImageAbort)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage(Rasm, Toʻrtburchak, Yagona, Yagona, Yagona, Yagona, Grafika birligi, Tasvir atributlari, Graphics+DrawImageAbort, IntPtr)
Belgilangan rasmning belgilangan qismini belgilangan joyda va belgilangan o'lchamda chizadi.
DrawImage (Rasm, RectangleF)
Belgilangan rasmni belgilangan joyda va belgilangan o'lchamda chizadi.
2.3. Data Set yordamida ma'lumotlarni o'qish.
ADO.NET asoslari.
ADO.NETga kirish. Bugungi kunda ma'lumotlar bilan ishlash katta ahamiyatga ega.
Ma'lumotni saqlash uchun turli xil ma'lumotlar bazalarini boshqarish tizimlari qo'llaniladi: MS SQL
Server, Oracle, MySQL va boshqalar. Ko'pgina katta dasturlar, bu yoki boshqa usulda, ma'lumotlarni
saqlash uchun ushbu ma'lumotlar bazasini boshqarish tizimlaridan foydalanadilar. Ammo ma'lumotlar
bazasi va C # ilovasi o'rtasida aloqa o'rnatish uchun vositachi kerak. Va aynan shunday vositachi
ADO.NET texnologiyasidir.
ADO.NET .NET Framework asosida ma'lumotlar texnologiyasini ta'minlaydi. Ushbu
texnologiya bizga ma'lumotlar bazalariga so'rovlar yuborish, ulanishlarni o'rnatish, ma'lumotlar
bazasidan javob olish va boshqa bir qator operatsiyalarni bajarish uchun sinflar to'plamini taqdim etadi.
Bundan tashqari, ma'lumotlar bazasini boshqarish tizimlari juda ko'p bo'lishi mumkinligini
ta'kidlash kerak. O'zlarining mohiyatiga ko'ra, ular farq qilishi mumkin. Masalan, SQL Server
so'rovlarni tuzishda T-SQL dan foydalanadi, MySQL va Oracle esa PL-SQL-dan foydalanadilar. Turli
ma'lumotlar bazalari tizimlarida har xil turdagi ma'lumotlar bo'lishi mumkin. Boshqa fikrlar ham farq
qilishi mumkin. Biroq, ADO.NETning funktsional imkoniyatlari ishlab chiquvchilarga keng qamrovli
DBMS bilan ishlash uchun birlashtirilgan interfeysni taqdim etadigan tarzda yaratilgan.
ADO.NET-da ma'lumotlar bazasi bilan o'zaro ishlash interfeysining asosini cheklangan
ob'ektlar to'plami taqdim etadi: Connection, Command, DataReader, DataSet va DataAdapter. Ulanish
ob'ekti yordamida ma'lumotlar manbasiga ulanish o'rnatiladi. Buyruq ob'ekti ma'lumotlar bazasi
ma'lumotlari bilan operatsiyalarni bajarishga imkon beradi. DataReader ob'ekti so'rov natijasida olingan
ma'lumotlarni o'qiydi. DataSet ob'ekti ma'lumotlar bazasidan ma'lumotlarni saqlash uchun mo'ljallangan
va ma'lumotlar bazasidan qat'i nazar ular bilan ishlashga imkon beradi. Va DataAdapter - bu DataSet va
ma'lumotlar manbai o'rtasida vositachi. Ko'pincha ma'lumotlar bazasi bilan ishlash ushbu ob'ektlardan
o'tadi.
Biroq, turli xil ma'lumotlar manbalari uchun bir xil ob'ektlardan foydalanish uchun tegishli
ma'lumot etkazib beruvchisi talab qilinadi. Aslida, ADO.NET-da ma'lumotlar etkazib beruvchisi orqali
siz ma'lumotlar bazasi bilan o'zaro aloqada bo'lasiz. Bundan tashqari, ADO.NET-dagi har bir ma'lumot
manbai uchun yuqorida ko'rsatilgan sinflarning aniq bajarilishini aniqlaydigan provayder bo'lishi
mumkin.
Odatiy bo'lib, ADO.NET-da quyidagi o'rnatilgan provayderlar mavjud:
• MS SQL Server uchun provayder
• OLE DB uchun Provayder (MS SQL Serverning eski versiyalariga, shuningdek, Access,
DB2, MySQL va Oracle ma'lumotlar bazalariga kirishni ta'minlaydi)
• ODBC uchun provayder (Provayderlar mavjud bo'lmagan ma'lumotlar manbalari uchun
provayder)
• Oracle uchun provayder
• Provayder EntityClient. ORM Entity Framework Technology uchun ma'lumot etkazib
beruvchi
• SQL Server Compact 4.0 uchun provayder
O'rnatilgan ushbu provayderlardan tashqari, turli xil ma'lumotlar bazalari uchun mo'ljallangan,
masalan, MySQL uchun ko'plab boshqa ma'lumotlar mavjud.
ADO.NET-da ishlatiladigan asosiy nomlar:
• System.Data: ADO.NET arxitekturasini amalga oshiradigan sinflar, interfeyslar, delegatlarni
belgilaydi
• System.Data.Common: barcha ADO.NET provayderlari uchun xos bo'lgan sinflarni o'z ichiga
oladi
• System.Data.Design: O'z ma'lumotlar to'plamlarini yaratishda foydalaniladigan sinflarni
belgilaydi.
• System.Data.Odbc: ODBC uchun ma'lumotlar etkazib beruvchisi funktsiyalarini belgilaydi
• System.Data.OleDb: OLE DB uchun ma'lumotlar etkazib beruvchisi funktsiyalarini
belgilaydi
• System.Data.Sql: SQL Serverga tegishli funktsiyalarni qo'llab-quvvatlaydigan sinflarni
saqlaydi
• System.Data.OracleClient: provayderning Oracle ma'lumotlar bazalari uchun funktsional
imkoniyatlarini belgilaydi
• System.Data.SqlClient: MS SQL Server ma'lumotlar bazalari uchun provayderning
funktsional imkoniyatlarini belgilaydi
• System.Data.SqlServerCe: SQL Server Compact 4.0 uchun provayderning funktsional
imkoniyatlarini belgilaydi
• System.Data.SqlTypes: MS SQL Servera ma'lumotlari turlari uchun sinflar mavjud
• Microsoft.SqlServer.Server: SQL Serverning o'zaro ishlashi uchun komponentlarni va
umumiy tilning ishlash vaqtini saqlaydi.
Xulosa
Mazkur kurs ishi 2ta bob, 6ta mazvu, xulosa, foydalanilgan adabiyotlar va foydalanilgan saytlardan iborat bo’lib uni o’rganishimizdan maqsad Algoritmik tillar va dasturlash asoslari fanidagi olingan bilimlarga asoslanib matnlarga servis xizmat ko’rsatish dasturini ishlab chiqish va foydalanishga tayyor xolatga keltirish. Biz bu dasturni yozishimizdan avval bu fandagi qator mavzularni o’rganib chiqishimiz kerak bo’ladi.
Mazkur kurs ishi “Matnlarga servis xizmat ko’rsatish” dasturi haqida bo’lib,bu kurs ishini yozish mobaynida C# dasturlash tilidagi Length funksiyasi haqida va uni e’lon qilinishi haqida, C# dasturini destop dasturlarini ishlab chiqish haqida va yana qoshimcha bilimlarga ega bo’ldim.
Va shu bilan birga bu dasaturga oid turli web saytlarni ko’rib chiqdim. Masehiko1.0 dasturini web ilovasi masehiko.netlify.app saytida joylashtirilgan.
O’qishimni keyingi bosqichlarida dasturlash yo’nalishida ko’proq ko’nikmalarni paydo qilish va ular yordamida insonlarga qulaylik yaratishga harakat qilaman.
FOYDALANILGAN ADABIYOTLAR
Герберт Шилдт. C# 4.0 Полноеруководство. Москва. Санкт-Петербург. Киев. 2011, 473-б.
Джозеф Албахари и Бен Албахари. C# 6.0 Справочник. Полное описание языка.Москва. Санкт-Петербург. Киев. 2016, 151-б.
Борис Пахомов. C# для начинающих. Санкт-Петербург«БХВ-Петербург». 2014, 293-б.
А.Л.Марченко. C#. Введение в программирование. Издательство Московского университета. 2005, 88-б.
INTERNET SAYTLARI
https://www.microsoft.com/library/rus/
https://www.metanit.com/
https://www.aim.uz/
https://www.ziyonet.uz/
Do'stlaringiz bilan baham: |