![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем привет!
Может кто-нибудь подсказать как программно на форму можно закинуть большое количество изображений??? Решил попробовать много image создать, но они не поддерживают индексацию, а в ручную очень уж не удобно(( Подскажите пожалуйста кто знает! |
#2
|
|||
|
|||
![]() 1. Ты руками их создаешь?
2. Что конкретно ты хочешь? Пусть у нас есть папочка с картинками. Пусть они имеют какой-то размер. Нам надо: 1. Получить список картинок (FindFirst/FindNext/FindClose). Поместим это список в некоторый TStringList. 2. Надо пройти по этому листу, для каждого Item'а создать объект на форме и ссылку на него положить в свойство Objects нашего списка строк. Что мы имеем: 1. Динамически созданные картинки (сколько надо) 2. Список со ссылками на все наши картиночные компоненты. |
#3
|
|||
|
|||
![]() Да, все верно, у меня есть папка с изображениями, мне нужно на форму где я предварительно создал много image-ов)) распихать эти картинки в случайном порядке) Только вот не могу пока понять функцию FindFirst к сожалению(
Или есть способ не создавать много image??? |
#4
|
||||
|
||||
![]() Код:
var path: String; searchrec: TSearchRec; ext: String; image: TImage; n: Integer; begin Randomize; n:=0; path:=IncludeTrailingPathDelimiter(Edit1.Text); if FindFirst(path+'*.*', 0, searchrec)=0 then begin repeat if (searchrec.Attr and faDirectory)=0 then begin ext:=LowerCase(ExtractFileExt(searchrec.Name)); if (ext='.jpeg') or (ext='.jpg') or (ext='.bmp') then begin image:=TImage.Create(Self); image.Parent:=Self; image.AutoSize:=False; image.Stretch:=True; image.Width:=120; image.Height:=120; image.Left:=Random(ClientWidth)-image.Width; image.Top:=Random(ClientHeight)-image.Height; image.Picture.LoadFromFile(path+searchrec.Name); Application.ProcessMessages; Inc(n); if n>50 then Break; end; end; until FindNext(searchrec)<>0; FindClose(searchrec); end; полный пример Пишу программы за еду. __________________ |