урок на делфи 42 - Индикация выполнения


задание на delphi. прогресс бар


unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls,
Vcl.Samples.Gauges;
type
TForm1 = class(TForm)
Gauge1: TGauge;
ProgressBar1: TProgressBar;
ProgressBar2: TProgressBar;
Gauge2: TGauge;
Gauge3: TGauge;
Gauge4: TGauge;
Gauge5: TGauge;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Button2: TButton;
StatusBar1: TStatusBar;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i,d:integer;
rashet:Float32;
begin
rashet:=1;
StatusBar1.Panels[0].Text:='начало работы';
for I := 0 to 1000 do
begin
d:=d+1;
Sleep(1);
rashet:=i/10;
ProgressBar1.Position:=Round(rashet);
ProgressBar2.Position:=Round(rashet);
Gauge1.Progress:=Round(rashet);
Gauge2.Progress:=Round(rashet);
Gauge3.Progress:=Round(rashet);
Gauge4.Progress:=Round(rashet);
Gauge5.Progress:=Round(rashet);
StatusBar1.Panels[0].Text:=IntToStr(Round(rashet))+'%';
Application.ProcessMessages;
//дополнительный код
end;
StatusBar1.Panels[0].Text:='закончили работать';
Label1.Caption:='результат '+IntToStr(d) ;
Label2.Caption:='расчет '+floatToStr(rashet) ;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i,d:integer;
rashet:Float32;
begin
rashet:=1;
StatusBar1.Panels[0].Text:='начало работы';
Sleep(1000);
for I := 0 to 1000 do
begin
d:=d+1;
ProgressBar1.Position:=15;
ProgressBar2.Position:=15;
Gauge1.Progress:=15;
Gauge2.Progress:=15;
Gauge3.Progress:=15;
Gauge4.Progress:=15;
Gauge5.Progress:=15;
StatusBar1.Panels[0].Text:='где то в начале';
Application.ProcessMessages;
end;
//какая то часть программы
Sleep(1000);
ProgressBar1.Position:=50;
ProgressBar2.Position:=50;
Gauge1.Progress:=50;
Gauge2.Progress:=50;
Gauge3.Progress:=50;
Gauge4.Progress:=50;
Gauge5.Progress:=50;
StatusBar1.Panels[0].Text:='уже середина, ждите';
Application.ProcessMessages;
//еще кусок программы
Sleep(1000);
ProgressBar1.Position:=100;
ProgressBar2.Position:=100;
Gauge1.Progress:=100;
Gauge2.Progress:=100;
Gauge3.Progress:=100;
Gauge4.Progress:=100;
Gauge5.Progress:=100;
StatusBar1.Panels[0].Text:='конец';
Application.ProcessMessages;
end;
end.



Скачать