TextColor(c:byte) ва TextBackGround(c:byte) процедуралари мос равишда белги ва фон рангларини аниқлайди. Қуйидаги жадвалда белги ва фон рангини аниқлайдиган TP ўзгармаслари келтирилган
Ўзгармас
|
Сон
|
Ранг
|
Процедуралар
| Black |
0
|
қора
|
TextColor, TextBackGround
|
Blue
|
1
|
кўк
|
TextColor, TextBackGround
| Green |
2
|
яшил
|
TextColor, TextBackGround
|
Cyan
|
3
|
ҳаворанг
|
TextColor, TextBackGround
|
Red
|
4
|
қизил
|
TextColor, TextBackGround
|
Magenta
|
5
|
сиёхранг
|
TextColor, TextBackGround
|
Brown
|
6
|
жигарранг
|
TextColor, TextBackGround
|
LightGray
|
7
|
очиқ кулранг
|
TextColor, TextBackGround
|
DarkGray
|
8
|
тўқ кулранг
|
TextColor, TextBackGround
|
LightBlue
|
9
|
очиқ кўк
|
TextColor
|
LightGreen
|
10
|
очиқ яшил
|
TextColor
|
LightCyan
|
11
|
очиқ ҳаворанг
|
TextColor
|
LightRed
|
12
|
очиқ қизил
|
TextColor
|
LightMagenta
|
13
|
очиқ сиёҳранг
|
TextColor
|
Yellow
|
14
|
сариқ
|
TextColor
|
White
|
15
|
оқ
|
TextColor
|
Blink
|
128
|
пирпираш
|
TextColor
|
Sound(Hz:word) ва NoSound процедуралари ШЭҲМ динамикасига мурожаат қилиш имконини беради. Sound процедураси берилган герц частотасида товушни ҳосил қилади. Процедура ўз ишини тугатгандан кейин ҳам товуш тўхтамайди, уни фақат NoSound процедураси билан тўхтатилади.
Delay(ms:word) чақирилганда ms-миллисекундлик программавий пауза рўй беради. Машинанинг ишлаш тезлигига қараб, бу пауза вақти талаб қилинган вақтдан озгина фарқ қилиши мумкин.
KeyPressed функцияси. Бу функция TRUE қиймат қайтаради, агар клавиатурадан киритиш буферида ҳеч бўлмаганда битта белги бўлса, акс ҳолда, яъни бўш бўлса FALSE.
Маълумки, программа иш бошлаганда клавиатура буфери бўш бўлади ва клавиатура тугмаси босилиши билан мос қиймат буферга келиб тушади. Буферни Read ва Readln процедуралари тозалайди.
KeyPressed функцияси ёрдамида клавиатура ҳолатини аниқлаш мумкин: Масалан қуйидаги шарт оператори орқали клавиатура босилганига боғлиқ равишда қандайдир амал қилиш зарур бўлганда ишлатилиши мумкин:
if KeyPressed then Амал;
Readкey функцияси. Бу функция ҳам клавиатура ҳолатини сўрайди, лекин унинг KeyPressed функциясидан фарқи шундаки, у клавиатура буфери билан ишлайди. Функция ҳар доим битта char туридаги белгини қайтаради. Функция ишлашида иккита муҳим хусусият бор:
функция қабул қилган қиймат (белги) экранда кўринмайди;
Readкey ишлаши буфер ҳолатига боғлиқ. Агар буферда қиймат бўлса, Readкey ундаги биринчи белгини қайтаради (бошқаларнинг олдин киритилган белги) ва уни буфердан ўчиради. Агар буфер бўш бўлса Readкey программа ишини клавиатурадан белги кодини ҳосил қилувчи тугма босилгунча тўхтатади.
Программани ишлаш сценариясини яратишда Readкey дан унумли фойдаланиш мумкин:
While KeyPressed do ch:=Readкey (буферни тозалаш) ёки repeat until KeyPressed (клавиатура босилишини кутиш)
Readkey функциясидан графика натижаларини экранда маълум бир муддатда кўриб туриш учун (экран матн режимига ўтиб кетмаслиги учун) фойдаланиш мумкин.
Юқоридаги процедура ва функцияларни турли товушларни ҳосил қилишда ишлатиш қуйидаги программада келтирилган:
Do'stlaringiz bilan baham: |