Использование Var, Integer, Readln.

Процедура Readln используется не только для задержки экрана. Ее основная задача - ввод данных с клавиатуры. В этой статье мы научимся вводить числа с клавиатуры, и потом выводить их на экран. Для этого нам будет необходимо познакомиться с разделом ...

Тип данных Boolean. Значения True, False в Pascal.

Мы рассмотрели с Вами целый тип данных (integer), вещественный тип (real), символьный (char). В этом уроке мы рассмотрим тип данных, который имеет большое значение в программировании. Логический типBoolean. Одной из особенностей этого типа данных ...

Ветвления в Pascal.

Ветвления в Паскаль позволяют выполнять действия не поочередно, как мы делали в предыдущих программах, а в зависимости от каких - либо условий. Для этого в языке программирования Pascal предусмотрены различные условные операторы. В данном уроке мы ...

Циклы и массивы

Использование оператора WITH ... DO.

Из предыдущего примера легко заметить, что при каждом обращении к полю записи следует указывать имя этой записи. Если вы работаете с полями одной и той же записи, то этой проблемы можно избежать ...

Манипулирование строками STRING.

В языке Паскаль при работе с текстами чаще всего используются короткие строки типа STRING. Стандартные процедуры READLN(St), WRITE(St) и WRITELN(St) поддерживают ввод и вывод строк переменной длины ...

Функция GetmaxX определяет максимальную координату по оси X для данного монитора. Функция GetmaxY определяет максимальную координату по оси Y для данного монитора.

 Рисование 2 линий, проходящих через середину экрана.




Program graphika3;
uses crt, graph;
Procedure Graphinterface;
Var gd, gm, error:Integer;
s:String;
Begin
gd:=detect;
s:=' ';
Initgraph(gd,gm,s);
error:=GraphResult;
if error<>GrOk then
begin
writeln(GraphErrorMsg(Error));
Halt(error)
end
end;
begin
Graphinterface;
line (0, getmaxy div 2, getmaxx, getmaxy div 2);
line (getmaxx div 2, 0, getmaxx div 2, getmaxy);
readln;
closegraph
end.



Строка №3 - №16. Записываем шаблонную процедуру для инициализации графического режима.

В строке №18 запускаем графический режим с помощью указания названия процедуры для запуска графического режима.

В строке №19 записываем процедуру Line, которая выводит на экран отрезок. Для этой процедуры указываем координаты. Функция getmaxx определяет максимальную координату X для данного монитора. Функция getmaxy определяет максимальную координату Y для данного монитора. Предположим, что ваш монитор имеет разрешение 1366?768 пикселей. В этом случае getmaxx будет равно 1366, а getmaxy будет равно 768.
Операция Div – это операция целочисленного деления. Поэтому getmaxy div 2 будет означать 768 div 2 = 384.
Таким образом, получается, что процедура Line в строке №19 имеет такие координаты. Line (0, 384, 1366, 384)(для экрана с разрешением 1366?768 пикселей).
Обратите внимание, что функции GetMaxX и GetMaxY имеют целочисленное значение типа Integer. Поэтому если Вы задаете координаты с помощью этих функций необходимо использовать операцию DIV (/ - нельзя использовать).

В строке №20 строим еще одну линию.

Линия в строке №19 будет горизонтальной, а линия в строке №20 – вертикальной.

getmaxx getmaxy

getmaxx getmaxy.


Предыдущая статья : Процедуры Setcolor, Line.

Оглавление : Уроки Паскаль. Графика.

Следующая статья : Процедуры MoveTo и LineTo.


Комментарии  

 
-1 # БиМ БАМ БуМ 25.12.2012 06:57
Точно подметили=))))
 
 
0 # Вадим 03.02.2013 15:22
Спасибо. Это очень важная функция для моей идеи. Например мне нужно нарисовать фигуру по середине экрана, с неизвестным разрешением, и тут мне это очень пригодилось. Автору спасибо! Еще бы написали как пользоваться звуком ...
 
   ГлавнаяПаскальГрафика в ПаскальПроцедуры Ellipse и FillEllipse.