![]() |
|
|
#1
|
|||
|
|||
|
приветствую вас уважаемые пользователи форума! Возникла трабла при создании проги,а именно есть кнопка ,которая генерирует определенный текст вот код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s, a, b, c : string;
str : TStringList;
i, t, p1, p2 : integer;
begin
memo2.Clear;
str := TStringList.create;
for i:=0 to memo1.Lines.Count-1 do
begin
s:=memo1.Lines.Strings[i];
p1:=pos('{', s);
p2:=pos('}', s);
if (p1<>0) and (p2<>0) then
begin
a:=copy(s, 1, p1-1);
c:=copy(s, p2+1, MaxInt);
b:=copy(s, p1+1, p2-1-p1);
str.text := stringReplace(b, '|', #13#10, [rfReplaceAll]);
for t:=0 to str.Count-1 do
memo2.Lines.Add(inttostr(t+1) + '. '+ a + str[t] + c);
end;
end;
str.free
end;Как сделать чтобы в тот момент пока идет генерация вылезла новая форма на которой и происходил индикатор прогресс бар! Спасибо! Последний раз редактировалось Admin, 31.08.2009 в 21:45. |
|
#2
|
|||
|
|||
|
Ну ... можно напрмер как то узнавать размер уже сгенерированного текста.. и показывать его на прогрес баре ....
|
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
|||
|
|||
|
Ну твой код у меня пчоему то вообще не работает)) видимо это его малая часть..
Ну напрмер, к концу генирации, получится число, которое уже не будет меняться... так как процесс закончен, и если оно остоется не изменным то, form2.close |
|
#5
|
||||
|
||||
|
В общем делаете в таком стиле:
Код:
procedure TForm32.Button1Click(Sender: TObject);
var
I: Integer;
begin
Form33.FormStyle := fsStayOnTop;
Form33.ProgressBar1.Max := 5000;
Form33.ProgressBar1.Position := 0;
Form33.Show;
for I := 0 to Form33.ProgressBar1.Max
do begin
Memo1.Lines.Add('Item'+IntToStr(i));
Form33.ProgressBar1.StepIt;
Application.ProcessMessages;
end;
Form33.Hide;
end; |
|
#6
|
|||
|
|||
|
Цитата:
|