Функции Copy, Pos, процедуры Delete, Insert.

Функция Copy позволяет копировать из строки часть символов. Функция имеет 3 параметра. Copy (st, index, count). St-строка из которой копируют, Index-номер символа, с которого начинается копирование, Count-количество символов, которое будет ...

Ввод логических переменных с клавиатуры.

В отличие от переменных целого, вещественного или символьного типов данных, булевские переменные нельзя вводить с клавиатуры, их можно только выводить на экран. Однако можно использовать небольшую хитрость. Для того чтобы можно было ввести булевскую ...

Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

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

Вложенный арифметический цикл.

Под вложенным арифметическим циклом понимают такую алгоритмическую структуру, при которой в тело одного цикла с параметром включен другой цикл со своим параметром.

Вложенные итерационные циклы.

Под вложенным итерационным циклом понимают такую алгоритмическую структуру, при которой в тело одного итерационного цикла включен другой итерационный цикл. Другими словами, любая составная ...

Функция 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.


Комментарии  

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

Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальГрафика в Паскаль