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

Вниз

Про поток и TImage   Найти похожие ветки 

 
k-sergey ©   (2004-08-08 10:55) [0]

На форме создается динамически куча Timage и в них загружаются картинки.
Если картинок много, форма естественно тормозит.
Как можно создавать Timage в отдельном потоке?


 
Думкин ©   (2004-08-08 11:18) [1]

Ручками? Или это оттягивание во времени фразы: код давай?


 
k-sergey ©   (2004-08-08 11:22) [2]

я не очень в потоках шарю...:-\
Вот возникла необходимость разобраться.

procedure TForm1.LoadPic(alldir:string);
Var IdUser, i, ii, n, x , y,q:integer;
begin
FileListBox4.Directory:=alldir;
For x:=1 to nn do TImage(FindComponent("Image"+inttostr(x))).Free;
// создаем Image
n:=FileListBox4.Count;  //всего файлов
nn:=1; // номер компонента
x:=2;
y:=1;
PathNamePic:=TStringList.Create;
ScrollBox1.Visible:=false;
 for i:=1 to (round((n/5)+0.5)) do //ряды
  begin
   if (n-nn)>=5 then q:=5 else q:=(n-nn+1);
   //Caption:="x= "+inttostr(q);
   for ii:= 1 to q do //  кол-во в строке
    begin
      with TImage.Create(Self) do begin
        Parent:=ScrollBox1;
        Name:="Image"+inttostr(nn);
        Height:=128;
        Width:=128;
        Top:=Y;
        Left:=x;
        Center:=true;
        try
        Picture.LoadFromFile(alldir+"\"+FileListBox4.Items[nn-1]);
        except Picture:=Im26.Picture; end;
        OnDblClick:=OnImageClick;
       end;
      PathNamePic.Add(alldir+"\"+FileListBox4.Items[nn-1]);
      inc(nn);
      x:=x+128+2;
    end;
   y:=y+128+2;
   x:=2;
  end;
ScrollBox1.Visible:=True;
end;


 
Думкин ©   (2004-08-08 11:24) [3]

Похвально. Разобрался?


 
k-sergey ©   (2004-08-08 11:28) [4]

в чем?
в потоках нет....
иначе не просил помочь...
так блин тормозит


 
Думкин ©   (2004-08-08 11:52) [5]

>  [4] k-sergey ©   (08.08.04 11:28)

Нет. Для начала в коде - меня он напрягает. И когда сюда - используй тег -


 
k-sergey ©   (2004-08-08 12:06) [6]

ну тут вроде все понятно:

procedure TForm1.LoadPic(alldir:string);
Var ii, n, nn, x , y, q:integer;
begin
n:=FileListBox4.Count;  //всего файлов
nn:=1; // номер компонента
x:=2;
y:=1;
ScrollBox1.Visible:=false;
  for ii:= 1 to q do //  кол-во в строке
   begin
     with TImage.Create(Self) do begin //создаем картинки
       Parent:=ScrollBox1;
       Name:="Image"+inttostr(nn);
       Height:=128;
       Width:=128;
       Top:=Y;
       Left:=x;
       Center:=true;
       Picture.LoadFromFile(alldir+"\"+FileListBox4.Items[nn-1]); // загружаем изображение
      end;
     inc(nn);
     x:=x+128+2;
   end;
  y:=y+128+2;
  x:=2;
 end;
ScrollBox1.Visible:=True;
end;


 
Думкин ©   (2004-08-08 14:13) [7]

> [6] k-sergey ©   (08.08.04 12:06)

Если все понятно, то в чем вопрос?



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
4-1089719131
webpauk
2004-07-13 15:45
2004.08.22
Caption Height


1-1091765174
Горбатов В.Ю.
2004-08-06 08:06
2004.08.22
Цвет ячейки в StringGrid


6-1084725258
lion_ts
2004-05-16 20:34
2004.08.22
NDIS драйвер, hook драйвер, firewall ?


14-1091430776
Иксик
2004-08-02 11:12
2004.08.22
Урррра!!! Я снова на любимом форуме!


1-1091783381
msgipss
2004-08-06 13:09
2004.08.22
dcu в pas