Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2008, 23:28   #1
serega11
Новичок
Джуниор
 
Регистрация: 21.05.2008
Сообщений: 1
По умолчанию Треугольник

С формы задаются длины трех сторон треугольника. Программа может посчитать его пар-ры - медиану, высоту, углы и т.д. Как по этим данным нарисовать треугольник в канвасе? Помогите пожалуйста)))
serega11 вне форума Ответить с цитированием
Старый 22.05.2008, 01:07   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

рисуем линию (0, 0) - (100, 100)
Form1.Canvas.MoveTo(0, 0);
Form1.Canvas.LineTo(100, 100);
eoln вне форума Ответить с цитированием
Старый 22.05.2008, 09:01   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот смотри:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FileCtrl, ExtCtrls;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    LabeledEdit1: TLabeledEdit;
    LabeledEdit2: TLabeledEdit;
    LabeledEdit3: TLabeledEdit;
    LabeledEdit4: TLabeledEdit;
    Label1: TLabel;
    Label2: TLabel;
    procedure LabeledEdit1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.LabeledEdit1Change(Sender: TObject);
var a,b,x,y:integer;
begin
 x:=Width div 2;a:=x;
 y:=Height div 2-GroupBox1.Height;b:=y;
 //********** WITH **********
 with Canvas do  begin
   FillRect(BoundsRect);
   MoveTo(x,y);

   x:=x+round(cos(2*pi*StrToFloatDef(LabeledEdit3.Text,0)/360)*StrToFloatDef(LabeledEdit1.Text,0));
   y:=y+round(sin(2*pi*StrToFloatDef(LabeledEdit3.Text,0)/360)*StrToFloatDef(LabeledEdit1.Text,0));
   LineTo(x,y);

   x:=x+round(cos(2*pi*StrToFloatDef(LabeledEdit4.Text,0)/360)*StrToFloatDef(LabeledEdit2.Text,0));
   y:=y+round(sin(2*pi*StrToFloatDef(LabeledEdit4.Text,0)/360)*StrToFloatDef(LabeledEdit2.Text,0));
   LineTo(x,y);
   LineTo(a,b);

 end;
 //********** END WITH ****** {}

end;

end.
По двум длинам и углам между ними (первый угол относительно {0,0}) строится треугольник.
Эдиты 1,
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Треугольник Паскаля в Turbo Pascale 7.0 Rusl92 Паскаль, Turbo Pascal, PascalABC.NET 12 23.04.2008 13:56
Создать класс – треугольник, заданный своими координатами (точками). jenja Общие вопросы Delphi 5 18.04.2008 07:50
ПОМОГИТЕ С ПРОГРАММОЙ ПРО ТРЕУГОЛЬНИК LOTER Помощь студентам 26 30.01.2008 03:36
Аццкий треугольник и его высота Crazy D0G Помощь студентам 1 20.01.2008 18:25