Нарисовать линию задав координаты мышкой в 2 клика - Pascal ABC
Формулировка задачи:
Нарисовать линию таким образом:
тык мышкой в начальные координаты
тык в конечные
нарисовать.
Как в пеинт.
Язык изучаю 2 недели так что не все так просто для понимания...
Знаю про процедуры moveto, lineto, mousedown но работающий код написать не могу)).
Пробовал так...
И так...
Листинг программы
- uses GraphABC;
- procedure mousedown(x,y,mb: integer);
- begin
- if mb=1 then
- MoveTo(x, y);
- begin
- if mb=1 then
- Lineto(x, y);
- end;
- end;
- begin
- SetWindowTitle('Графическое окно');
- Setwindowsize(800,600); //размер окна
- OnMousedown:=Mousedown;
- end
Листинг программы
- uses GraphABC;
- var a,b: integer; //координаты мышки
- procedure MouseDown(x,y,mb: integer);
- begin
- if mb=1 then // передаем координаты мышки в переменные а и б
- a : = x;
- b := y;
- end;
- begin
- SetWindowTitle('123');
- Setwindowsize(800,600); //размер окна
- OnMouseDown:=MouseDown; //1 клик, передаем координаты мышки в начальные координаты лайна
- x1: = a;
- y1: = b;
- OnMouseDown:=MouseDown; //2 клик, передаем тоже самое только в конечные
- x2 : = a;
- y2 : = b;
- Line(x1,y1,x2,y2); //рисуем
- end.
Решение задачи: «Нарисовать линию задав координаты мышкой в 2 клика»
textual
Листинг программы
- uses GraphABC;
- var xb,yb:integer;
- procedure MouseDown(x,y,mb: integer);
- begin
- if xb<0 then
- begin
- xb:=x;
- yb:=y;
- end
- else
- begin
- Line(xb,yb,x,y);
- xb:=-1;
- end;
- end;
- begin
- xb:=-1;
- OnMouseDown:=MouseDown;
- ReadLn;
- Window.Close;
- end.
Объяснение кода листинга программы
- Подключается библиотека GraphABC.
- Объявляются переменные xb и yb типа integer.
- Создается процедура MouseDown, которая принимает три параметра: x, y и mb типа integer.
- В начале процедуры проверяется, была ли ранее зафиксирована точка (xb < 0).
- Если условие выполняется, то значения xb и yb присваиваются значениям x и y соответственно.
- Если условие не выполняется, то рисуется линия от точки (xb, yb) до точки (x, y) с помощью процедуры Line.
- После рисования линии значение xb сбрасывается до -1.
- В начале программы объявляются значения xb и yb типа integer и сбрасываются до -1.
- Затем устанавливается обработчик событий OnMouseDown, который вызывает процедуру MouseDown при нажатии мыши.
- Заканчивается программа, и окно закрывается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д