Белгиларни учиб-ёниши, фон, ёритиш интенсивлиги
Матнли режимларда ишлашда рангли дисплей зкранида чикаётган белгилар 16 (0-15) та ранглардан бирортасини кабул килиши мумкин. Экран фони 8 (0-7) та рангдан бирортасини кабул килиши мумкин. Белгилар рангини урнатиш учун TextColor , фон учун эса TextBackGround процедуралари хизмат килади.
Белгиларни учиб-ёнишини ташкиллаш имкнияти хам мавжуд..
Монохром дисплейлар билан ишлашда факат иккита кора ва ок ранглардан фойдаланиш мумкин, лекин Turbo Pascal тилида белгиларни экранга чикариш учун кушимча имкониятлар мавжуд:
бегилар ёритиш интенсивлиги билан фаркланиши мумкин;
ок рандаги белгилар кора фонга , ёки тескариси булиши мумкин;
белгиларни экранда ёритилиш интенсивлиги кутарилиб- пасайиб туриши мумкин (бунга белгиларни учиб-ёниш хусусияти дейилади).
80х25 улчовли матн режими экранга 2000 (80*25 = 2000) та белгини чикариш имкониятига эга. Хар битта белги учун хотирада 2 байт жой ажратилади:
1 таси бегининг узи учун ва
1 таси белгининг ранг атрибути учун.
Шунга кура, экран буферининг умумий хотираси 2000*2=4000 байт булади. Амалда бу киймат (адрес кулайлиги учун) 4096 байт = 4 Кбайт га тенг.
Символлар ва фонлар диапазони мослигига кура , стандарт процедураларнинг киймат параметрлари куйидагича урнатилади:
TextColor(Color:byte) - чикаётган белгилар рангини урнатади;
TextBackGround(Color:byte) - фон рангини урнатади.
Параметрлар киймати константалар билан (масалан, Yellow,Red ) ёки уларнинг сон кийматлари билан берилиши мумкин.
Мисол.
TextColor(Yellow);
TextBackGround(Red);
Write('Кизил фонда сарик ранг');
Реверсив тасвирларни хам экранга чикариш мумкин, бунинг учун фон ранги билан белги ранги урнини алмаштириш зарур. Юкоридаги келтирилган мисол учун реверсив тасвир куйидаги командалар оркали терилади:
TextColor(LightRed);
TextBackGround(Brown);
Write('Реверсив чикариш');
Мисол.
TextColor(Yellow+Blink);
Write('Учиб-ёнувчи сарик белгилар');
TextColor(12+16);
Write('Учиб-ёнувчи оч кизил белгилар');
TextColor(6);
Write('Учиб-ёнмайдиган жигар ранг белгилар');
Процедуры TextColor ва TextBackGround процедуралари TextAttr узгарувчиси билан узвий богланган. TextAttr узгарувчиси ранг атрибутининг жорий кийматини уз ичига олади. TextAtt узгарувчисининг кийматларини урнатиш ,TextColor ва TextBackGround процедуралари бирга ишлатилгандагина эффек беради..Масалан, куйидаги дастурни бажарилиши бир хил натижани беради:
1 2
TextColor(Yellow+Blink); ¦ TextAttr:=Yellow+Blink +Red shl 4;
TextBackGriund(Red); ¦
Do'stlaringiz bilan baham: |