Иллюстрированный самоучитель по Turbo Pascal

Координаты, окна, страницы

Процедура SetAspectRatio

Устанавливает масштабный коэффициент отношения сторон графического экрана. Заголовок:

Procedure SetAspectRatio(X,Y: Word);

Здесь X, Y – устанавливаемые соотношения сторон.

Следующая программа строит 20 окружностей с разными соотношениями сторон экрана (рис. 14.3).

Иллюстрированный самоучитель по Turbo Pascal › Использование библиотеки Graph › Координаты, окна, страницы
Рис. 14.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);
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 всегда осуществляется только на страницу, которая является видимой в данный момент (активная страница может быть невидимой). Нумерация страниц начинается с нуля.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.