Показать сообщение отдельно
  #5  
Старый 25.10.2010, 12:58
LexaL LexaL вне форума
Прохожий
 
Регистрация: 24.10.2010
Сообщения: 25
Репутация: 10
По умолчанию

Спасибо.
Но вот в чем задача, у меня создан свой класс TAngle, в нем и описана процедура Draw, а в основном юните вызывается.

Код:
unit Unit2;
interface
  uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
type
 TAngel=class

private
   Value:integer;
   Xpos,Ypos:integer;
   Can:TCanvas;
public
     constructor create(X,Y:integer;NewCanvas:TCanvas);
     procedure SetValue (NewValue:integer);
     function GetValue:integer;
     procedure Draw;
    
end;
  var  Color:TColor;

implementation
  procedure TAngel.SetValue (NewValue:integer);
   begin
        Value:=NewValue mod 360;
   end;

   constructor TAngel.Create(X,Y:integer;NewCanvas:TCanvas);
    begin
      inherited Create;
      Xpos:=X;
      Ypos:=Y;
      Value:=45;
      Can:=NewCanvas;
     end;

procedure TAngel.Draw;
 begin
 Can.Brush.Color:=color;
 color:=clred;
 Can.Pie(XPos, YPos, XPos+150, YPos+150,XPos+75+round(75*cos(Value*pi/180)),YPos+75+round(75*sin(Value*pi/180)),XPos+150, YPos+75)    ;
 end;
 
    function  TAngel.GetValue:integer;
    begin
        result:=Value;
     end;
   end.


А в основном:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 h:=TAngel.Create (10,10,Image1.Canvas) ;
 h1:=TAngel.create(10,10,Image2.Canvas);
end;

procedure TForm1.SetButtonClick(Sender: TObject);
 var cod,k:integer;
begin
Image1.Canvas.Brush.Color :=clWhite;
 if RadioGroup1.ItemIndex = 0 then
  begin
 Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);
val (Edit1.Text,k,cod);
 if cod<>0 then Showmessage ('Ошибка') else
  begin
    h.SetValue(k);
    h.Draw;
    h.GetValue;
    {Edit1.Text:='';
    Edit1.SetFocus;}
    end end
    else
    begin
     Image2.Canvas.Brush.Color :=clWhite;
   Image2.Canvas.Rectangle(0,0,Image2.Width,Image2.Height);
  val (Edit1.Text,k,cod);
 if cod<>0 then Showmessage ('Ошибка') else
  begin
    h1.SetValue(k);
    h1.Draw;
    h1.GetValue;
    end;
 end;
 end;
Ответить с цитированием