Назад Оглавление Дальше Анимированная технологическая схема


Анимация создается простым рисованием на Form1.Canvas - во время выполнения.
( Класс TCanvas описан здесь )

Текст модуля Unit1

unit Unit1;

interface

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

type

  TForm1 = class(TForm)
    TrackBar1: TTrackBar;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Timer1: TTimer;
    Button2: TButton;
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
    procedure nacalo_Ris(const y1,y2: Integer; cc: TColor; var aa,bb: double);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;  aa,bb: double;

implementation
{$R *.dfm}
var prev, yy1,poza2: Integer;

function lev1(y: Integer): Integer;
begin
  Result := 10;
end;

function prav1(y: Integer): Integer;
begin
  Result := 40;
end;

procedure TForm1.nacalo_Ris(const y1,y2: Integer; cc: TColor; var aa,bb: double);
begin
  Canvas.Pen.Width := 2;
  Canvas.Pen.Color := cc;
  bb := y2; aa := (y1 - y2)/100;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  TrackBar1Change(Sender);
  nacalo_Ris(134,30, clAqua,aa,bb);
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
var yy,yy2,yy3,poza: Integer;
begin
   poza2 := TrackBar1.Position;

   Canvas.Pen.Color := clAqua;
   for poza := 100 downto poza2 do
     begin
      yy := trunc(aa*poza + bb);
      Canvas.MoveTo(160,yy);
      Canvas.LineTo(196,yy);
     end;
   Canvas.Pen.Color := clMenuHighlight;
   for poza := poza2 downto 0 do
     begin
      yy := trunc(aa*poza + bb);
      Canvas.MoveTo(160,yy);
      Canvas.LineTo(196,yy);
     end;
   prev := TrackBar1.Position;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 If TrackBar1.Position > 0 then
    TrackBar1.Position := TrackBar1.Position - 1 else
    Timer1.Enabled := false;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled := not Timer1.Enabled;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   TrackBar1.Position := 100;
end;

end.
анимация delphi








Скачать RAR-архив исходников (10 Кб)
Скачать RAR-архив исходников + .exe(180 Кб)

Назад Дальше
Rambler's Top100
Hosted by uCoz