linkedin facebook linkedin facebook nod32

VCL tarkibiga kiruvchi sinflar usullari

Muallif: Mengliyev SH.

Qo`shilgan sana: 2014-09-16

VCL tarkibiga kiruvchi sinflar usullari

         Sinf TObject. Bu sinf barcha VCL tarkibiga kiruvchi sinflar uchun bosh sinf bo‘lib, ob’ektlarni tuzish, boshqarish va buzishni ta’minlab beradi. Buning uchun unda quyidagi usullar aniqlangan:
        
constructor Create:
         Bu usul ob’ektga kerakli dinamik xotirani ajratish uchun ish bajaradi.
        
destructor Destroy; virtual;
         Bu usul o‘chirilgan ob’ektga ajratilgan dinamik xotirani bo‘shatadi.
        
procedure Free;
         Bu usul ob’ektni uchiradi va unga ajratilgan dinamik xotirani bo‘shatadi.
        
class function ClassName: ShortString;
         Bu usul funksiyasi sinf nomini o‘z ichiga oluvchi qatorni qaytaradi. Masalan: ‘Tedit’, ‘TButton’, ‘TLabel’ va xokazo.
        
class function ClassNameIs(const Name: string): Boolean;
         Bu usul true qiymat qaytaradi, agar Name parametri sinf nomini o‘z ichiga olgan bo‘lsa.
        
class function InberitsFrom(AClass: TClass): Boolean;
         Bu usul AClass parametri sinf yoki ob’ektning oldingi  nomini o‘z ichiga olgan yoki olmaganligini tekshiradi.

class function InstanceSize: Longint;
         Sinf yoki ob’ekt o‘lchamini baytda aniqlaydi.
        
Sinf TPersistent. Bu sinf o‘z o‘zidan TObject sinfidan kelib chiqadi va u potokli ob’ektlarni (potokovqy ob’ekt) tuzish uchun kerakli usullarni o‘z ichiga oladi. Potokli ob’ekt –bu obekt bo‘lib, u potokda saqlanadi. O‘z navbatida  potok bu ham ob’ekt bo‘lib ma’lumotlarni tashishga mo‘ljallangan, masalan xotira yoki disk fayllari. Boshqacha aytganda sinf davomchisi Tpersistent operativ xotirada fayl formasida joylashgan bo‘lib, u erda yangilanib turiladi. Undagi usullardan to‘g‘ridan to‘g‘ri foydalanish uchun  quyidagilar ishlatiladi.

procedure Assign(Source: TPersistent);
Bu usul ishlatilayotgan ob’ektga Source parametrida nomi ko‘rsatilgan ma’lumotlarni jo‘natishda ishlatiladi.

procedure AssignTo(Dest: TPersistent); virtual;
Bu usul xuddi yuqoridagi usul kabi bo‘lib, farqi uning virtualligi va himoyalanganligidir.

procedure Define Properties(Filer: TFiler); virtual;
E’lon qilinmagan ob’ekt ma’lumotlarini fayl formada joylashda ishlatiladi. TFiler sinfi abstrakt asos sinf bo‘lib o‘qish va yozish operatsiyalarini bajarishda, hamda komponentalar va ular xossalarini saqlashda  ishlatiladi.

function GetNamePath: String; dynamic;
Ob’ekt inspektoridagi ob’ekt nomini o‘zida oluvchi qatorni qaytaradi.

function GetOwner: TPersistent; dynamic;
Ob’ekt ko‘rsatgichini qaytaruvchi himoyalangan usul.

Sinf TComponent. TComponent sinfi komponentalar ierarxiyasining eng yuqorisi bo‘lib, undan barcha ilovalarda ishlatiladigan komponentalar tug‘uladi. Uning davomchilari vizual bo‘lmagan komponentalardir. Bu vizual bo‘lmagan komponentalar dasturning ishlashi vaqtida ko‘rinmaydi.  TComponent sinfida quyidagi usullar va xossalar aniqlangan:

type TComponentName: String;
property Name: TcomponentName;
Komponentalar nomini aniqlaydi. Masalan, formaga Label1 yoki Edit2 larni joylashtirib ular nomini o‘zgartirish mumkin.

property Tag: Longint;
Dasturchi uchun mo‘ljallangan xossa. Bu xossada dastur tuzuvchi Longint turidagi biror sonni saqlashi mumkin.

property ComponentCount: Integer;
Komponentalar sonini aniqlaydi. Bu xossa faqat dastur ishlashi vaqtida va faqat o‘qish uchun ruxsat etiladi.
 
property ComponentIndex: Integer;
Ro‘yxatdan komponentalar holatini (o‘rnini) aniqlaydi. Komponentalar numeri  nuldan boshlanadi. Bu xossa ham faqat dastur ishlashi vaqtida va faqat o‘qish uchun ruxsat etiladi.

property Components[Index: Integer]: TComponent;
Xossalar-massivi foydalanilgan komponentalar ro‘yxatini aniqlaydi. Bu xossa ham faqat dastur ishlashi vaqtida va faqat o‘qish uchun ruxsat etiladi.

procedure DestroyComponents;
Dinamik xotiradan komponentani o‘chiradi.

procedure InsertComponent(AComponent: TComponent);
Komponentalar ro‘yxati oxiriga ASomponent parametrida ko‘rsatilgan  komponentni  qo‘yadi.

procedure RemoveComponent(AComponent: TComponent);
Komponentalar ro‘yxatidan ASomponent parametrida ko‘rsatilgan  komponentni  o‘chiradi.

Sinf TSontrol. Bu sinf o‘ziga vizual bo‘lgan komponentalarning ko‘pgina xossalari, usullari va hodisalari (sobitiya) o‘zida mujassamlashtirgan, bo‘lib ular yordamida ma’lumotlarni ekranga chiqarish va klaviatura yordamida dasturga ma’lumotlarni kiritish mumkin.
Tsontrol sinfida bosh boshqarish elementi (parent controls) tushunchasi  kiritilgan bo‘lib, bu tushunchaning asl ma’nosi quyidagicha: 
Har bir boshqarish elementi yoki qo‘shimcha gruppa komponentlari formaga joylashtirilgan bo‘lishi mumkin, masalan panelda (sinf TPanel). Birinchi holda bosh boshqarish elementi forma, ikkinchi holda esa gruppa elementi bo‘ladi.    
Tsontrol quyidagi metodlarni  ishlatadi:

Function ClientToScreen(Const Point: TPoint): TPoint;
Point parametridagi berilgan lokal koordinatani nuqtaning global koordinatasi qilib qaytaradi.

Function ScreenToClient(Const Point: TPoint): TPoint;
Point parametridagi berilgan global koordinatani nuqtaning lokal koordinatasi qilib qaytaradi.

Tsontrol dastur bajarilishida boshqarish elementi tashqi ko‘rinishini o‘zgartish uchun yana bir necha usulllar va xossalarni ham ishlatadi.

Sinf TWinSontrol. TWinSontrol sinfi TSontrol sinfining davomchisi bo‘lib, u oyna boshqarish elementlarini tashkil qilishda asos bo‘lib ishlatiladi. TwinSontrol xossasini xarakterlovchilar namunasi sifatida Edit qatordan kiritish, Memo ko‘pqatorli kiritish muxarriri, ListBox ro‘yxat kiritish, Botton tugmasi va boshqalarni qarash mumkin.  TwinSontrol ham bir qancha oyna boshqarish elementlarini tashkil qilishda ishlatiladigan xossa va usullarni o‘zida mujassamlashtirgan.
Quyida TwinSontrol sinfining ayrim usullari berilgan.

Type
   Trect=record
   Case Intelger of
        0: (Left, Top, Reght, Buttom: Integer);
        1: (TopLeft, ButtomRight: Tpoint);
   End;
Procedure AlignControls(AControl:  TControl; Var Rect: TRect); Virtual;
Ko‘rsatilgan Rect sohasida barcha “docheri” komponentalarni Align xossasiga mos hoda to‘g‘rilaydi

Procedure DisableAlign;
DisableAlign xossasi “docheri” komponentalari ichki oyna elementlarini to‘g‘rilashni vaqtinchalik so‘raydi. Bu usul EnableAlign usuli bilan birga ishlatiladi.

Function ConFocus: Boolean; Dynamic;
Bu usul True qiymat qaytaradi, agar oyna elementi kiritish fokusini olgan bo‘lsa.

Procedure ChangeSkale(M,D: Integer); Override;
Bu usul komponentalar va uning “docheri” komponentalari masshtabini o‘zgartiradi.

Procedure EnableAlign;
Oldindan chaqirilgan EnableAlign usulini (inkor qiladi) qaytaradi va “docheri” komponentalarini to‘g‘rilash uchun Realing ni chaqiradi.

1615 marta o`qildi.

Parol:
Eslab qolish.


Ro`yhatdan o`tish

testing

+998915878681

Siz o`z maxsulotingizni 3D reklama ko`rinishda bo`lishini xohlaysizmi? Unda xamkorlik qilamiz.

3D Reklama


Рейтинг@Mail.ru
Рейтинг@Mail.ru

Besucherzahler
счетчик посещений