• Matnni kirituvchi komponentalar
  • Bir satrda matnni kirituvchi komponentalar
  • Ko’p satrli matnni kirituvchi komponentalar
  • Tugma komponentlari va ularning turlari.
  • StringGrid komponentidan foydalanish.
  • procedure TForm1.Label1Click(Sender: TObject); begin




    Download 3.73 Mb.
    bet9/23
    Sana02.06.2021
    Hajmi3.73 Mb.
    #14738
    1   ...   5   6   7   8   9   10   11   12   ...   23
    procedure TForm1.Label1Click(Sender: TObject);

    begin

    if Edit1.CanFocus then Edit1.SetFocus;



    end;

    Bunda tekshiriliyapti agar Edit1 faol bo’lmasa u holda faol (aktiv) lashtir.

    Statik matn nomli komponent ham mavjud (StaticText). Bu ikkita komponentani ishlash vazifasi va maqsadi bir xildir. StaticText, TWinControl sinfining merosxo’ri (vorisi) bo’lib, TWinControl sinfi asosida yaratilgan boshqa oynali komponentalar bilan bog’lash mumkin. Undan tashqari StaticText o’zining atrofida ramka (chiziq) chizishi mumkin buni BorderStyle xususiyati orqali bajaramiz. Bu xususiyatni tipi TStaticBorderStyle uchta qiymatdan iborat:


    • sbsNone – Ramka yo’q

    • sbsSingle – Ramka chiziqli bor

    • sbsSunken – Ramka chiziqsiz bor (ichkariga kirilgan ko’rinishda).

    Matnini tahrirlab bo’lmaydigan komponentlar uchun Edit dan ham foydalanish mumin. Agar uni ReadOnly xususiyatini qiymati true (chin) bo’lsa. Masalan:

    Edit1.ReadOnly := true;

    Edit1.Color := clBtnFace;

    Edit1.Ctl3D := false;

    Edit1.BorderStyle := bsNone;

    Edit1.Text := 'Matn! faqat ko`rish uchun';

    Edit1 ni hozirgi holatida StaticText va Label dan farq qilmaydi, ko`rinishidan tashqari.

    Matnni kirituvchi komponentalar

    Ma’lumotlarni kiritish va tahrirlash uchun Delphi da maxsus turli xil komponentlar berilgan. Masalan Edit, MaskEdit, Memo, RichEdit. Bulardan tashqari Delphi7 da yangi LabelEdit komponenti ham yaratilgan. Bu komponentlar orqali nafaqat ma’lumotlar chiqarish, hatto foydalanuvchi bu ma’lumotlarni o’zgartira olishi ham mumkin.

    Bir satrda matnni kirituvchi komponentalar

    Bir satrda matnni kirituvchi komponentalarda ma’lumotni bir satrda chiqaradi va tahrirlashga ruxsat beradi. Delphida bir nechta shunday komponentlar bor, bulardan ko’p foydalaniladiganlardan Edit komponentidir. Bu komponentga ma’lumotlarni kiritish yoki undan foydalanish uchun Text xususiyatidan foydalanamiz. Atrofidagi ramkalarni o’zgartirish, ranglash, shriftlarni sozlash barcha komponentlar uchun bir xil. Satrda belgilarni registrini o’zgartirishi uchun CharCase xususiyatidan foydalanamiz va uning tipi TEditCharCase bo’lib uchta qiymatdan birini qabul qiladi:


    • ecLowerCase – Belgilar kichik registrga o’tkaziladi (kichik harflarga).

    • ecNormal – Belgilar registri o’zglartirilmaydi (kiritilgan belgi o’zligicha qoladi).

    • ecUpperCase– Belgilar katta registrga o’tkaziladi (katta harflarga).

    Edit ni parol kiritishda ham foydalanish mumkin. Unda PasswordChar xususiyatidan foydalanamiz va uning tipi Char. Ma’lumot kiritish vaqtida, kiritilayotgan belgi o’rnida bu xususiyatda berilgan belgi chiqaveradi. Masalan: Edit1.PasswordChar:= ‘*’; Edit1.Text:=’Parol’;

    Edit da ‘*****’ ko’rinishda chiqadi va uning Text xususiyatida ’Parol’ qiymati turadi.

    MaskEdit komponenti. Bu komponent ham Edit komponentiga o’xshaydi. MaskEdit ko’p hollarda ma’lumotlarni yashirish holda yoki biror bir kodlash orqali kiritishga to’g’ri kelib qoladi. Shunday holda bu komponentadan foydalanish mumkin. Masalan parol kiritishda va hokazo. Edit komponentidan farqli MaskEdit komponentida EditMask xususiyati mavjud. Bu xususiyat MaskEdit komponentida ma’lumotlarni qanday ko’rinishda chiqishini ko’rsatadi. Quyidagi jadvalda uning o’zgartirilgan xususiyatlari keltirilgan.

    Xususiyati

    Qiymati

    Font

    14 shrift va qalin yozuv tanlangan

    EditMask

    Date ( qanday bog’langani 1- rasmda keltirilgan)

    PasswordChar

    #0 (simvolning asl ko’rinishi)

    * - simvolni * ko’rinishda chiqarish



    Max Length

    10 - bu maydonga 10 tadan ortiq simvol kiritib bo’lmaydi. Bu xususiyatdan kiritiladigan simvollarni cheklash uchun foydalaniladi.

    1.2.1 – jadval maskedit komponentasini xususiyatlari qiymatini o`zgartirish

    1.2.1-chizma. MaskEditning editmask xususiyatiga standart qiymatlar

    Ko’p satrli matnni kirituvchi komponentalar

    Memo komponenti sodda matn muhariri bo’lib, u ko’p satrli ma’lumotlarni kiritish va chiqarish uchun ishlatiladi. Bu komponent mantlar ustida amallar bajarish uchun ishlatiladi. Bu matn muhaririga Memo1.Lines[ ] xususiyati orqali ma’lumotlarni olish yoki qo’shish mumkin. Lines.Count orqali Memo1 maydonidagi matnning satrlari soni olish mumkin.

    PasswordChar xossasi. Ushbu xossa matnni kiritishdan himoya uchun foydalaniladi. Parol kiritish kerak paytida foydalaniladi. Ushbu xossadan siz maxfiylikning qo’shimcha darajasini ta’minlash uchun va foydalanuvchi ismini yashirish uchun foydalanish mumkin.

    ReadOnly xossasi. Ushbu xossa ob’ektning qiymatini taxrirlash imkoniyatini boshqaradi. Siz uning qiymatini False yoki True qilib qo’yishingiz mumkin. Agarda xossaning qiymati True bo’lsa foydalanuvchi ushbu ob’ektdan foydalanishga, ya’ni ixtiyoriy matnni belgilash va nusxasini buferga olish uchun birmuncha ruxsat beradi.

    MaxLength xossasi. Ushbu xossadan uchala ob’ektga kiritiladigan simvollarni cheklash uchun foydalaniladi.

    Name xossasi. Komponent nomi. Dasturda foydalaniladigan komponentga kirish yo’li.

    Text xossasi. Memo maydoniga kiritiladigan matn. Bir butun holda namoyon bo’ladi.

    Font xossasi. Kiritilgan matnni tasvirlash uchun ishlatiladigan shrift



    RichEdit – komponenti sodda matn muhariri bo’lib, u ko’p satrli ma’lumotlarni kiritish va chiqarish uchun ishlatiladi. Bu komponent ham Memo komponentiga o’xshaydi faqat unga nisbatan imkoniyati yuqoriroq. Bu komponent Win32 komponentlar to’plamida joylashgan. Misol: Berilgan matndan berilgan so’zni o’chirish dasturini qarab chiqamiz. Matn kiritish uchun Memo komponentidan, so’z kiritish uchun Edit komponentidan, natijani chiqarish uchun yana Memo komponentidan, izohlar yozish uchun Label komponentidan va bajarish uchun Button komponentidan foydalanamiz. Loyihani ko’rinishini quyidagicha tayyorlaymiz. (1.2.2-chizma)

    1.2.2-chizma. Berilgan matndan berilgan so’zni o’chirish dasturini oynasi.

    Bajar tugmasiga quyidagi kodni kiritamiz. Dastur g’oyasi quyidagicha Memo1 ning har bir satrdan berilgan so’zni o’chirib Memo2 ni satrlariga qo’shib boraveramiz to Memo1 ni oxirgi satriga kelguncha.

    procedure TForm1.Button1Click(Sender: TObject);

    var i:integer;

    s,s1:string;

    begin s1:=Edit1.Text; { s1 o’zgaruvchiga kiritilgan so’zni olish }

    for i:=0 to Memo1.Lines.Count do begin {i ni qiymatini satrlar oxirigacha}

    s:= Memo1.Lines[i]; {s ga i- satrni olish }

    while pos(s1,s)>0 do {satrda so’z borligini tekshirish}

    begin

    delete(s,pos(s1,s),length(s1)); { satrdan so’zni o’chirish }



    end;

    Memo2.Lines.Add(s); {o’chirilgan satrni memo2 ga qo’shish}

    end; end;

    Dasturni bajarish uchun F9 tugmasini bosamiz va ma’lumotlarni kiritib tekshirib ko’ramiz. (1.2.3-chizma)



    1.2.3-chizma. Berilgan matndan berilgan so’zni o’chirish dasturining natijasi.

    Tugma komponentlari va ularning turlari.

    Delphi dasturida Button, BitBtn va SpeedButton tugma komponentlari mavjud ularni joylashgan o’rni quyidagicha. Button Standart komponentalar palitrasiga, BitBtn va SpeedButton Additional komponentalar palitrasiga joylashgan. Delphi da bu komponentlardan sichqoncha tugmasini bu komponentlar ustida bir marta yoki ikki marta bosganda yoki boshqa xil holatlarda qandaydir amallar bajarishda foydalaniladi.

    Button komponentining ba’zi bir xususiyatlari va holatlari to’g’risida ma’lumotlar beramiz. Button komponentining xususiyatlari quyidagicha:

    1.2.2 – jadval Button komponentasini xususiyatlari



    Xususiyatlari

    Vazifasi

    Caption

    Komponentdagi matnni o’zgartirish

    Cursor

    Sichqonchani bu komponent ustida kelganda ko’rinishini o’zgartirish

    Font

    Komponentdagi matnni shriftini o’zgartirish

    Hint

    Sichqonchani bu komponent ustida kelganda chiqadigan izoh matni

    ShowHint

    Izoh matnini ko’rinishi yoki ko’rinmasligi

    1.2.3 – jadval Button komponentasini holatlari



    Holatlari

    Vazifasi

    OnClick

    Button komponentida sichqoncha bir marta bosilganda

    OnDblClick

    Button komponentida sichqoncha ikki marta tez bosilganda

    OnKeyDown

    Klaviatura tugmasi bosilganda, bajariladigan holat

    OnKeyUp

    Klaviatura tugmasini qo’yverganda, bajariladigan holat

    OnKeyPress

    Klaviatura tugmasini bosib va qo’yivergandan keyin, bajariladigan holat

    OnMouseDown

    Sichqoncha tugmasi bosilganda, bajariladigan holat

    OnMouseMove

    Sichqoncha tugmasi bu komponenta ustida harakatlanayotganda bajariladigan holat

    OnMouseUp

    Sichqoncha tugmasi qo’yiverganda, bajariladigan holat

    BitBtn komponentining xususiyatlari ham Button komponentining xususiyatlariga o’xshaydi. Button komponentida mavjud bo’lmagan ba’zi bir xususiyatlarini keltiramiz.

    1.2.4 – jadval Bitbtn komponentasini xususiyatlari

    Xususiyatlari

    Vazifasi

    Glyph

    Komponentda *.bmp kengaytmali rasmni qo’yish. (1-rasm)

    Kind

    Matn bilan birga turli xil belgilarni qo’yish

    Layout

    Belgilarni matnning turli tomonlardan qo’yish

    Komponentda *.bmp kengaytmali rasmni qo’yish uchun komponentning Glyph xususiyatini tanlaymiz va quyidagi oyna chiqadi. (1.2.4-chizma)



    1.2.4-chizma. Bitbtn komponentasining Glyph xususiyatiga rasm joylashtirish



    Bu yerdan Load… - tugmasi orqali birorta *.bmp kengaytmali rasmni chaqiramiz va Ok - tugmasi orqali bu rasmni komponentda joylashtiramiz.

    1.2.5-chizma. Bitbtn ga rasmni joylashtirish.

    SpeedButton komponentining xususiyatlari ham Button va BitBtn komponentlarining xususiyatlariga o’xshaydi. Bu komponentlarda mavjud bo’lmagan ba’zi bir xususiyatlarini keltiramiz.

    1.2.5 – jadval SpeedButton komponentasini xususiyatlari



    Xususiyatlari

    Vazifasi

    Flat

    Komponent rangini forma rangi bilan bir xil qilish

    GroupIndex

    Bir guruh tugmaga bitta tugmani bosilib qolishi

    Down

    Tugmani bosilgan holatimi yo`qmi

    SpeedButton komponentining Glyph xususiyati orqali rasm qo’yish, Caption xususiyatida SpeedButton1 matni berish, Font xususiyati orqali shrifti o’zgartirish, Flat xususiyatida true qiymat berish orqali rangsizlantirish va Layout xususiyatida rasm matning o’ng tomonida chiqishi ko’rsatishimiz mumkin. Misol: berilgan matnni tugma bosilganda oxirgi belgisini o’chirish dasturini qarab chiqamiz. Dasturni ko’rinishini quyidagicha tayyorlaymiz. (1.2.6-chizma)



    1.2.6-chizma. Berilgan matnni oxirgi belgisini o’chirish dasturi.

    Dastur ko’rinishini tayyorlashda bitta Label bitta Edit va bitta SpeedButton komponentlaridan foydalanilgan. Matn kirit yozuvi Label da, kiritish maydoni Edit da, o’chirish tugmasi SpeedButton komponentida. O’chirish tugmasi SpeedButton komponentining OnClick holatiga quyidagi kodni kiritamiz.

    procedure TForm1.SpeedButton1Click(Sender: TObject);

    var s:string;

    begin s:=Edit1.Text;

    delete(s,length(s),1);

    Edit1.Text:=s;

    end;

    StringGrid komponentidan foydalanish.



    Massivni kiritishda StringGrid komponentidan foydalanish qulay. StringGrid komponenti Additional ichida joylashgan bo’ladi .



    Download 3.73 Mb.
    1   ...   5   6   7   8   9   10   11   12   ...   23




    Download 3.73 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    procedure TForm1.Label1Click(Sender: TObject); begin

    Download 3.73 Mb.