Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.15;
Скачать: CL | DM;

Вниз

Как отобразить ProgressBar в ОТДЕЛЬНОМ ОКНЕ?   Найти похожие ветки 

 
Чайник ©   (2008-12-22 23:13) [0]

На главной форме в цикле выполняется некий расчет. Надо показать процент выполнения. НО! Требуется разместить ProgressBar  в отдельном окошке и кнопкой Cancel. Как это можно сделать?


 
{RASkov} ©   (2008-12-23 00:03) [1]

> [0] Чайник ©   (22.12.08 23:13)

Что именно не получается?


 
{RASkov} ©   (2008-12-23 00:29) [2]

unit Unit1;
interface

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

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private { Private declarations }
   procedure BbClick(Sender: TObject);
 public { Public declarations }
 end;

var Form1: TForm1;

implementation
{$R *.dfm}

var CancelCikle: Boolean;
procedure TForm1.BbClick(Sender: TObject);
begin
 CancelCikle:=True;
end;

procedure TForm1.Button1Click(Sender: TObject);
var F: TForm; PB: TProgressBar; N: Integer;
begin
 F:=TForm.Create(nil);
 with F do try
  Height:=100;
  Width:=350;
  Position:=poMainFormCenter;
  BorderStyle:=bsDialog;
  Caption:="Нажмите "Отмена" для отмены :)";
  with TButton.Create(F) do begin
   Left:=(F.ClientWidth-Width) div 2;
   Top:=35;
   Caption:="Отмена";
   OnClick:=BbClick;
   Parent:=F;
  end;
  PB:=TProgressBar.Create(F);
  with PB do begin
   Left:=10;
   Top:=10;
   Step:=1;
   Width:=F.ClientWidth-20;
   Parent:=F;
  end;
  CancelCikle:=False;
  Show;
  //Циклические вычисления
  for N:=0 to PB.Max do begin
   PB.StepIt;
   Sleep(50);
   Application.ProcessMessages;
   if CancelCikle then Break;
  end;
 finally
  Free;
 end;
end;

end.


 
Германн ©   (2008-12-23 01:14) [3]


> {RASkov} ©   (23.12.08 00:29) [2]

Опять маешься от того, что делать больше нечего?
Может автору был нужен не код, а справка по секциям USES pas-файла?


 
Чайник ©   (2008-12-23 01:27) [4]

Спасибо!
Я примерно так и делал, только вместо Show залупил ShowModal - оно и зависало...


 
{RASkov} ©   (2008-12-23 11:24) [5]

> [3] Германн ©   (23.12.08 01:14)
> Может автору был нужен не код

Ну я же не заставляю пользоватся именно моим кодом :)

Кто их поймет что нужно этим авторам.... а ведь я спросил сначало, но ответа не было, а делать действительно было нечего)


 
имя   (2009-01-26 00:34) [6]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2009.03.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
2-1232636844
Evgengold
2009-01-22 18:07
2009.03.15
QueryPerformanceFrequency задать временной интервал


3-1216356871
Zergost
2008-07-18 08:54
2009.03.15
Работа со связями в Delphi база MS SQL


3-1216156374
jane
2008-07-16 01:12
2009.03.15
метод Close для ADODataSet вызывает ошибку BOF или EOF имеет ...


2-1232630826
EastGod
2009-01-22 16:27
2009.03.15
Получить общую громкость


2-1232502885
fflaxe
2009-01-21 04:54
2009.03.15
Запустить другое приложение из моего