LowVideo, NormVideo, HighVideo
Ёрикликни бошкариш учун LowVideo, NormVideo, HighVideo стандарт процедуралари ишлатилади.
Уччала процедура хам TextAttr узгарувчисининг мос кийматларини урнатиш учун хизмат килади.
LowVideo - экрандаги белгиларнинг минимал ёруклик режимини урнатади. Режим NormVideo процедураси ёрдамида олиб ташланмагунча ишлайди. Процедураниниг харакати TextAttr:= TextAttr AND $F7 операторининг харакатига эквивилентдир.
Мисол.
LowVideo;
Write ('MS-DOS 4.01');
Предложение "MS-DOS 4.01" сузи эранга минимал ёруклик билан чикарилади.
NormVideo - экрндги белиларнинг нормал ёруклик режимини урнатади.
Мисол.
LowVideo;
Write ('MS-DOS 4.01');
NormVideo; { LowVideo режимини йукотади}
Write ('Операцион система');
"Операционная система" сузи экранга нормаль ёрукликдаги ёзувларда чикади.
HighVideo - ёрукликнинг максимал режимини урнатади.. Процедура TextAttr:= TextAttr OR $08 оператори каби ишлайди.
Мисол.
LowVideo;
Write ('MS-DOS 4.01');
NormVideo;
Write ('Операцион система ');
HighVideo; { NormVideo режимини йукотади}
Write ('шахсий компьютерлар учун');
"Шахсий компьютерлар учун " сузи экранга максимал ёрукликдаги ёзувларда чикади.
Дарча, Sound, NoSound, Delay
CRT модули дастур иши давомида ахборотни экранга чикариш учу н экрандан тула эмас, кисман фойдаланиш имконини беради Экраннинг бу кисмини дарча деб аталади. Дарчананинг улчови фойдаланувчи томонидан аникланади, лекин унинг улчови экран улчовидан ортик булмаслиги керак.Дарчаларни ташкил килиш учун Turbo-Pascal тилида Window(X1,Y1,X2,Y2) процедурасидан фойдаланилади:
бу ерда X1, Y1 - юкори чап дарча бурчак координаталари, X2, Y2 -лар пастки унг дарча бурчак координаталари.. Тула экран координаталари (1,1,80,25) га тенг минимал -бир каторга бир устун.
Мисол.
Window(1,1,80,25); { Дарча - тула экран }
Window(19,7,59,16); { Экран марказидаги дарча}
Window процедураси активлашгандан сунг , CRT модули жорий дарча улчовлари кайд килинган WindMin ва WindMax узгарувчиларини ишга туширади.
Бу кийматлардан дарчалар системасини ташкиллашда фойдаланиш мумкин. Масалан, жорий дарчанинг X- ва Y- юкори унг бурчак координаталарини аниклаш учун куйидаги ифода кулланилади:
X := Lo(WindMin);
Y := Hi(WindMin);
Худди шу усулда жорий дарчанинг унг паст бурчак координаталарини аниклаш мумкин. Writeln, Write, Readln, Read, Window, GoToXY, ClrScr, InsLine, DelLine, WhereX, WhereY процедура ва фунциялари жорий дарчага нисбатан узларига бирикртирилган харакатларни бажарадилар. Матн дарчалари билан ишлашни куйидаги мисолда куриб утамиз.
PROGRAM DemoRandomWindow;
USES Crt;
VAR
X, Y, I : byte;
BEGIN
NormVideo;
ClrScr;
FOR I:= 1 to 40 DO BEGIN
X:= Succ(Random(80));
Y:= Succ(Random(25));
Window(X,Y,X+Random(20),Y+Random(8));
TextBackGround(Random(8));
ClrScr;
Write('Дарчага чикарш',^G, I);
Delay(300)
END;
END. { DemoRandomWindow }
Ушбу дастур 40 та дарчани генерация килади, чегара ва фон тасодифий танланади.
Дарчалар координатасини саклаш учун куйдаги структурадан фойдаланилади:
TYPE
WinRecord = RECORD
XupLeft,
YupLeft,
XlowRight,
YupRight : byte;
END;
CONST
MaxWin = 10;
VAR
WinMas : array[1..MaxWin] of WinRecord;
Дарчалар купича дастурларда матнли ахбортни скроллинлаш (кайириш) учун ишлатилади. Бу процессни InsLine ва DelLine процедуралари ёрдамида хам бажариш мумкин.
PROGRAM DemoInsLine;
USES Crt;
VAR
I : byte;
BEGIN
Window(20,6,60,15);
ClrScr;
FOR I:= 1 TO 10 DO
Write('Дарчага чикиш');
FOR I:= 1 TO 5 DO BEGIN
GoToXY(1,1);
InsLine;
Write('Каторни кушиш');
Delay(500);
END;
END. { DemoInsLine }
Товушли эффектни хосил килиш учун Turbo Pascal да CRT модулининг Sound, NoSound ва Delay стандарт функцияларидан фойдаланамиз.
Sound(I: word) - шахсий компьютернинг товуш NoSound процедураси билан олиб ташланмагунча генерацияланиб туради.
NoSound - Sound процедураси билан берилган товуш режимини олиб ташлаш..
Delay - бу процедура товуш канча вакт давом этиши мумкинлигини аниклйди.
Мисол.
BEGIN
Sound(500);
Delay(2000);
NoSound
END;
Бу мисолда 555 Гц ли товуш сигнали 2 с (2000 мс) давом этиши мумкин.
Do'stlaringiz bilan baham: |