Вниз
Скачать: CL | DM;

Отображение формы   Найти похожие ветки 

 
$Hic0 ©   (2003-04-12 14:07) [0]

Добрый день, мастера!
Есть код...

SetLength(Str,RichEdit1.Lines.Count*8*80);
j:=0;
For Lines:=0 to RichEdit1.Lines.Count-1 do
Begin
For i:=1 to Length(RichEdit1.Lines[Lines]) do
Begin
s:="";
s:=byte2bin(ord(RichEdit1.Lines[Lines][i]));
m:=0;
For n:=j to j+7 do Begin
Inc(m);
If s[m]="1" then
Str[n]:=true
else Str[n]:=false;
End;
Inc(j,8);
End;
End;


который ввыполняется при событии onCreate формы Form1, этот процесс довольно продолжительный... хочу что-бы во время этого дела отображалась другая форма с прогресс-баром, на котором было-бы виден процент выполненонсти... вроде все проще некуда.. создаю форму Form2, пихаю на нее прогресс бар, и пишу следующее...

If not Assigned(Form2) then Form2 := TForm2.Create(self);
Form2.ProgressBar1.Min:=0;
Form2.ProgressBar1.Max:=RichEdit1.Lines.Count;
Form2.Show;

SetLength(Str,RichEdit1.Lines.Count*8*80);
j:=0;
For Lines:=0 to RichEdit1.Lines.Count-1 do
Begin
Form2.ProgressBar1.StepBy(1);
For i:=1 to Length(RichEdit1.Lines[Lines]) do
Begin
s:="";
s:=byte2bin(ord(RichEdit1.Lines[Lines][i]));
m:=0;
For n:=j to j+7 do Begin
Inc(m);
If s[m]="1" then
Str[n]:=true
else Str[n]:=false;
End;
Inc(j,8);
End;
End;
Form2.Close;

Все хорошо, все работает, все показывается, но дело в том, что в режиме конструирования на Form2 я разполажил всякие рюшечки, такие как Метку и Имадж, но при отображении Form2, видна толька сама форма, да прогресс бар.... почему не виден лэйбл и имадж... не пойму... может кто знает что я не так делаю...
Hint... Если создаю какю-нить кнопку на первой форме и в ее обработчике вызываю отображение второй формы, то все отображается как надо...


 
Skier ©   (2003-04-12 14:12) [1]

Не поможет ?


If not Assigned(Form2) then Form2 := TForm2.Create(self);
Form2.ProgressBar1.Min:=0;
Form2.ProgressBar1.Max:=RichEdit1.Lines.Count;
Form2.Show;

SetLength(Str,RichEdit1.Lines.Count*8*80);
j:=0;
For Lines:=0 to RichEdit1.Lines.Count-1 do
Begin
Form2.ProgressBar1.StepBy(1);
For i:=1 to Length(RichEdit1.Lines[Lines]) do
Begin
s:="";
s:=byte2bin(ord(RichEdit1.Lines[Lines][i]));
m:=0;
For n:=j to j+7 do Begin
Inc(m);
If s[m]="1" then
Str[n]:=true
else Str[n]:=false;
Application.ProcessMessages;
End;
Inc(j,8);
End;
End;
Form2.Close;


 
$Hic0 ©   (2003-04-12 14:20) [2]

10х!


 
Skier ©   (2003-04-12 14:26) [3]

>$Hic0
Не понял ! :)


 
Song ©   (2003-04-12 16:20) [4]

10 - ten
x - x

tenx - если говорить вслух читается почти как сэнкьс, т.е. thanx - спасибо :)


 
Skier ©   (2003-04-12 16:22) [5]

>Song
Забавно ! :)
Спасибо. Теперь буду знать...:)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
7-77202
Viacheslav
2003-03-08 15:16
2003.04.24
Как перехватываются все нажатия клавиш в WINDOWS 9x и NT? Клавиат


7-77193
[BAD]Angel
2003-03-05 21:40
2003.04.24
Помогите с отключем службы (Services)


1-76936
KIR
2003-04-15 11:35
2003.04.24
Сообщения Windows


1-76878
darkkonung
2003-04-14 14:51
2003.04.24
Поддержка 2-х языковых интерфейсов


7-77199
IsmaiL
2003-03-06 18:34
2003.04.24
Как определить тип системы?




   Наверх