Rangni boshkarish
Belgilarni uchib-yonishi, fon, yoritish intensivligi
Matnli rejimlarda ishlashda rangli displey zkranida chikayotgan belgilar 16 (0-15) ta ranglardan birortasini kabul kilishi mumkin. Ekran foni 8 (0-7) ta rangdan birortasini kabul kilishi mumkin. Belgilar rangini o’rnatish uchun TextColor , fon uchun esa TextBackGround protseduralari xizmat kiladi.
Belgilarni uchib-yonishini tashkillash imkniyati xam mavjud..
Monoxrom displeylar bilan ishlashda fakat ikkita kora va ok ranglardan foydalanish mumkin, lekin Turbo Pascal tilida belgilarni ekranga chikarish uchun kushimcha imkoniyatlar mavjud:
begilar yoritish intensivligi bilan farklanishi mumkin;
ok randagi belgilar kora fonga , yoki teskarisi bulishi mumkin;
belgilarni ekranda yoritilish intensivligi kutarilib- pasayib turishi mumkin (bunga belgilarni uchib-yonish xususiyati deyiladi).
80x25 ulchovli matn rejimi ekranga 2000 (80*25 = 2000) ta belgini chikarish imkoniyatiga ega. Xar bitta belgi uchun xotirada 2 bayt joy ajratiladi:
1 tasi begining uzi uchun va
1 tasi belgining rang atributi uchun.
Shunga kura, ekran buferining umumiy xotirasi 2000*2=4000 bayt buladi. Amalda bu kiymat (adres kulayligi uchun) 4096 bayt = 4 Kbayt ga teng.
Simvollar va fonlar diapazoni mosligiga kura , standart protseduralarning kiymat parametrlari kuyidagicha o’rnatiladi:
TextColor(Color:byte) - chikayotgan belgilar rangini o’rnatadi;
TextBackGround(Color:byte) - fon rangini o’rnatadi.
Parametrlar kiymati konstantalar bilan (masalan, Yellow,Red ) yoki ularning son kiymatlari bilan berilishi mumkin.
Misol.
TextColor(Yellow);
TextBackGround(Red);
Write('Kizil fonda sarik rang');
Reversiv tasvirlarni xam ekranga chikarish mumkin, buning uchun fon rangi bilan belgi rangi urnini almashtirish zarur. Yukoridagi keltirilgan misol uchun reversiv tasvir kuyidagi komandalar orkali teriladi:
TextColor(LightRed);
TextBackGround(Brown);
Write('Reversiv chikarish');
Misol.
TextColor(Yellow+Blink);
Write('Uchib-yonuvchi sarik belgilar');
TextColor(12+16);
Write('Uchib-yonuvchi och kizil belgilar');
TextColor(6);
Write('Uchib-yonmaydigan jigar rang belgilar');
Protsedurы TextColor va TextBackGround protseduralari TextAttr uzgaruvchisi bilan uzviy boglangan. TextAttr uzgaruvchisi rang atributining joriy kiymatini uz ichiga oladi. TextAtt uzgaruvchisining kiymatlarini o’rnatish ,TextColor va TextBackGround protseduralari birga ishlatilgandagina effek beradi..Masalan, kuyidagi dasturni bajarilishi bir xil natijani beradi:
1 2
TextColor(Yellow+Blink); ¦ TextAttr:=Yellow+Blink +Red shl 4;
TextBackGriund(Red); ¦
Do'stlaringiz bilan baham: |