Использование program, begin…end, write, readln, Uses Crt, Clrscr.

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

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

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

Функции Sqr, Abs, Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi в Pascal.

Мы уже знаем, какие существуют функции для целых переменных. Это – нахождение модуля числа (Функция Abc), а также возведение числа в квадрат (Функция Sqr). В этом уроке мы рассмотрим функции, применяемые к дробным числам. Это функции Sqr - квадрат ...

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

Описание процедур.

Процедуры являются основой модульного программирования (МП). Модульное программирование – это процесс построения программы, разделенной на логические части, называемые модулями, и последовательное ...

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

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

Процедура LineRel (x,y) рисует линию, у которой начальные координаты совпадают с координатами текущего указателя, а координаты конца высчитываются путем прибавления (x,y) к координатам текущего указателя. Кроме того, текущий указатель переносится в эту точку (с координатами конца линии).

 Рисование линий с помощью процедуры LineRel.





Program Graphika5;
Uses 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;
MoveTo(100,100);
LineTo(GetMaxX,GetMaxY);
MoveTo(100,100);
LineRel(500,100);
LineTo(GetMaxX,GetMaxY);
ReadLn;
CloseGraph;
End.



Строка №3 - №16. Процедура инициализации графического режима.

В строке №19 перемещаем текущий указатель в точку с координатами (100,100).

В строке №20 строим линию с помощью процедуры LineTo. Начало линии будет в точке с координатами (100, 100), а конец линии в точке с максимальными координатами для вашего экрана.

В строке №21 снова перемещаем текущий указатель в точку с координатами (100,100).

В строке №22 записываем процедуру LineRel, которая рисует линию. Ее координатами будут: начало – точка с текущим указателем, т.е. (100,100), а конец – (500+100, 100+100) т.е. (600,200). Причем текущий указатель переносится из точки (100,100) в точку (600,200). Заметьте, для того чтобы процедура LineRel работала правильно, необходимо непосредственно перед этой процедурой записать координаты текущего указателя с помощью процедуры MoveTo (строка №21).

В строке №23 снова строим линию с помощью процедуры LineTo. Так как текущий указатель у нас перенесся в точку с координатами (600,200), то они будут координатами начала для этой линии, а координатами конца линии будет точка (GetMaxX,GetMaxY).
Внизу представлена схема работы процедур LineTo, MoveTo, LineRel.

Grafika v Pascal, LineRel..

Grafika v Pascal, LineRel

Grafika v Pascal, LineRel.


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

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

Следующая статья : Процедура MoveRel.


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

   ГлавнаяПаскальГрафика в ПаскальПроцедура LineRel.