Главная страница
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.056 c
3-1090931552
CyberMOHCTP
2004-07-27 16:32
2004.08.22
ошибка FIBPLus5.bpl


1-1092058184
Jenek
2004-08-09 17:29
2004.08.22
атрибуты файлов


1-1091484317
denkop
2004-08-03 02:05
2004.08.22
"Правильное" завершение работы программы


6-1087761129
Катя
2004-06-20 23:52
2004.08.22
Arr: string в zip и методом post на сервер


1-1092046600
mikey
2004-08-09 14:16
2004.08.22
Добрый день. Спомощью этого кода я обрезаю строки до