Анимированная технологическая схема
Анимация создается простым рисованием на 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.
Скачать RAR-архив исходников (10 Кб)
Скачать RAR-архив исходников + .exe(180 Кб)