Оқулық Қазақстан Республикасы Білім жəне ғылым министрлігі бекіткен Алматы, 2011 1


Procedure SetAspectRatio(X,Y: Word); мұндағы X, Y – жақтаулардың тағайындалатын қатынасы. 176



бет101/210
Дата06.01.2022
өлшемі4,42 Mb.
#16437
түріОқулық
1   ...   97   98   99   100   101   102   103   104   ...   210
Байланысты:
boribaev-algoritmdeu

Procedure SetAspectRatio(X,Y: Word);
мұндағы X, Y – жақтаулардың тағайындалатын қатынасы.


176

Келесі программа, экран жақтауларының қатынасы əртүрлі 20 дөңгелек салады (7.3-сурет).



7.3-сурет. Экран жақтауларының қатынасы əртүрлі дөңгелектер
Uses Graph,CRT;
const
R=.50;
dx=1000;
var
d,m,e,k: Integer;
Xasp,Yasp: Word;
begin
d:=Detect;
InitGraph(d, m,.’’);
e:=GraphResult;
if e <> grOk then WriteLn(GraphErrorMsg(e))
else
begin
GetAspectRatio(Xasp, Yasp); for k:=0 to 20 do
begin
SetAspectRatio(Xasp+k*dx,Yasp);

12–1618 177



Circle(GetMaxX div 2,GetMaxY div 2,R)
end;
if ReadKey=#0 then k:= ord(ReadKey); CloseGraph
end
end.

SetActivePage процедурасы бейнежадының көрсетілген па-рағын екпінді етеді. Процедура тақырыбы:
Procedure SetActivePage(PageNum: Word); Мұндағы PageNum – парақ нөмірі.
Процедура көппарақты жұмысты қолдайтын адаптерлермен (EGA, VGA жəне т.с.с.) жұмыс істейді. Нақты түрде, процедура графикалық шығарылымды бейнежадының басқа ауданына жібереді, алайда мəтінді Write/WriteLn операторларының көме-гімен тек осы мезетте көрініп тұрған парақта шығаруға болады (екпінді терезе көрінбеуі мүмкін). Парақтар нөмірі нөлден бас-талады.
SetVisualPage процедурасы нөмірі берілген парақты көрінетін етеді. Процедура тақырыбы:
Procedure SetVisualPage(PageNum: Word); мұндағы PageNum – парақ нөмірі.
Процедура көппарақты жұмысты қолдайтын адаптерлермен (EGA, VGA жəне т.с.с.) жұмыс істейді. Парақтар нөмірі нөлден басталады.
Келесі программа алдымен көрінетін парақта квадрат салады, көрінбейтін парақта дөңгелек салады. Enter пернесін басқаннан кейін көрінетін парақ ауысады.
Uses Graph;
var
d,m,e: Integer;


  1. String;

begin
d:= Detect;InitGraph(d, m, ‘’); e:= GraphResult;

if e <> grOk then
WriteLn (GraphErrorMsg(e))



178

else {Қате жоқ. Драйвердің бейнежадымен көппарақты жұмыс істейтіндігін тексереміз:}

if d in [HercMono,EGA,EGA64,MCGA,VGA] then


begin{Көппарақты режимді қолданамыз} if d<>HercMono then
SetGraphMode(m-1); {Көрінетін парақты толтырамыз}
Rectangle(10,10,GetMaxX div 2,GetMaxY div 2);
OutTextXY(0,0,’Page 0. Press En-
ter...’);
{Көрінбейтін парақты толтырамыз}
SetActivePage (1);
Circle(GetMaxX div 2, GetMaxY div 2,
100);
OutTextXY(0,GetMaxY-10,’Page 1. Press En-ter...’);
{Парақтарды көрсетемі}
ReadLn;
SetVisualPage(1);
ReadLn;
SetVisualPage (0);
ReadLn;
CloseGraph
end
else
begin {Драйвер көппарақты режимде жұмыс істемейді}
s:= GetDriverName;CloseGraph; WriteLn(‘Адаптер ',s,' тек 1 парақты
режимді қолдайды’);
end
end.


Достарыңызбен бөлісу:
1   ...   97   98   99   100   101   102   103   104   ...   210




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет