Консультация № 159993
09.02.2009, 12:11
0.00 руб.
0 3 1
Помогите нарисовать треугольник через процедуру,с помощью одного оператора, вот например я написал
uses graph,graphhelp;
begin;
opengraph;
treug(120,240,240,350,350,120);
readln;
closegraph;
end.?
Где:treug-новый оператор, а graphhelp-новый модуль))))
Но теперь мне надо написать ее через процедурую Помогите плиз)))

Обсуждение

давно
Старший Модератор
31795
6196
09.02.2009, 12:25
общий
Цитата: хелп паскаля
DrawPoly (процедура) (модуль Graph)
Рисует контур многоугольника, используя текущий цвет и тип линии.

Объявление: Procedure DrawPoly(NumPoints : Word; Var PolyPoints);
Режим:Real, Protected
Замечания: Параметр NumPoints определяет число элементов в параметре PolyPoints. Каждый элемент состоит из двух значений - X и Y. Заметьте, что для рисования замкнутой фигуры с N гранями, в параметре PolyPoints должно содержаться N+1 компонентов (координаты начальной и конечной точек должны совпадать).
Ограничения:Нужно быть в графическом режиме.

И ещё пример от туда:
Код:
{Drawpoly.PAS}
{ Пример программы для процедуры Drawpoly }
Uses Graph;
Const Triangle : Array [1..4] Of PointType = ((X: 50; Y: 100),
(X: 100; Y:100),
(X: 150; Y: 150),
(X: 50; Y: 100));
Var Gd, Gm : Integer;
Begin
Gd:=Detect;
InitGraph(Gd, Gm, 'C:\BP\BGI'); { Путь к BGI драйверам }
If GraphResult <> grOk Then Halt(1);
DrawPoly(SizeOf(Triangle) Div SizeOf(PointType), Triangle);
ReadLn;
CloseGraph;
End.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
09.02.2009, 12:43
общий
Она и так написана через процедуру. Treug() это же процедура и есть.
Неизвестный
09.02.2009, 12:54
общий
это ответ
Здравствуйте, Цуба Андрей Федорович!

Не очень понял, что же Вам надо - то ли просто написать процедуру для рисования треугольника, то ли написать модуль graphhelp, чтобы Ваш код работал, поэтому сделал и то и другое - смотрите код в приложении.
Если что не понятно - обращайтесь в аську(пишите, что вы с RusFAQ), или в личку.

С уважением, Дмитрий.

Приложение:
{Если надо сделать просто через процедуру: }
uses graph;
procedure treug(x1,y1,x2,y2,x3,y3:Word);
begin
MoveTo(x1,y1);{перемещаем курсор в первую точку}
LineTo(x2,y2);{рисуем треугольник}
LineTo(x3,y3);
LineTo(x1,y1);
end;

var GrDrv,GrMode:Integer;
begin;
GrDrv:=Detect;{определяем драйвер, необходимый для графического режима}
InitGraph(GrDrv,GrMode,'');{открываем графическое окно}
treug(120,240,240,350,350,120);{рисуем треугольник}
readln;
closegraph;
end.

{Если надо сделать через свой модуль:}
{создаёте файл graphhelp.tpu, туда пишете то что написано ниже и компилируете - создаётся файл с модулем. Запускать с помощью Вашего кода}
unit graphhelp;
Interface
procedure opengraph;
procedure treug(x1,y1,x2,y2,x3,y3:Word);

Implementation
uses graph;

procedure opengraph;
var GrDrv,GrMode:Integer;
begin;
GrDrv:=Detect;
InitGraph(GrDrv,GrMode,'');
end;
procedure treug(x1,y1,x2,y2,x3,y3:Word);
begin
MoveTo(x1,y1);
LineTo(x2,y2);
LineTo(x3,y3);
LineTo(x1,y1);
end;
end.
Форма ответа