Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2014, 17:33   #1
Lexovt
Пользователь
 
Регистрация: 25.12.2010
Сообщений: 20
Лампочка Много Image на форме... Рандом картинки из дб Access

Есть на форме порядком 10 Timage... Есть Бд... вней таблица..в одном из полей таблицы содержится поле "фото" - текстовое... содержащее ссылку к фото... Каличество картинок не ограничено... всегда разное... имена разные... Проблема: Нужно что бы при запуске программы на форме в тех 10 image отображались рандомно картинки из БД...
Lexovt вне форума Ответить с цитированием
Старый 01.02.2014, 18:00   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

и в чём, собственно проблема?
Одну картинку отобразить можете?
В чём проблема отобразить с помощью random() десять картинок?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.02.2014, 18:03   #3
Lexovt
Пользователь
 
Регистрация: 25.12.2010
Сообщений: 20
По умолчанию

Проблема в моих незнаниях..Значит...про одну картинку.... как то так

Код:
Img1.Picture.Bitmap.LoadFromFile(ExtractFilePath(paramstr(0))+'Obl\'+DataModule2.tbl1.FieldByName('Фото').asString);
не знаю как в разные Image разные картинкки рандомом...
при этом кол-во картинок может быть разное каждый раз

Последний раз редактировалось Lexovt; 01.02.2014 в 18:06.
Lexovt вне форума Ответить с цитированием
Старый 01.02.2014, 18:13   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а чем определяется количество картинок?
и, раз мы говорим про "случайные" картинки, то они, случайно могут выпасть более одного раза. Повторы допускаются?

p.s. строчку кода, которую Вы привели - это очень хорошо. Уже стало понятно, где у Вас лежат картинки и откуда конкретно брать название фото.
Но если бы выложили на форум архив с исходниками проекта и примером БД (можно упрощённый текстовый проект + тестовую БД создать) - это ускорило бы помощь Вам в виде КОНКРЕТНОГО примера кода именно для вашего проекта.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.02.2014, 18:36   #5
Lexovt
Пользователь
 
Регистрация: 25.12.2010
Сообщений: 20
По умолчанию

Повторы не допускаются. Кол - во картинок...в зависимости от добавления строк в БД.. То есть... Вообщем...проекта нету как токавого нет.. я вот просто на этом остановился только начал делать... и встрял на этом вопросе.... Делается всё для себя...смысл такой.

Есть форма главное окно... На нём допустим 10 Image в них при запуске должны отображаться не большие картинки в виде обложек от фильмов... Каждый раз при запуске разные... В Бд такая примерно инфа... Название|Год|О фильме| Актёры|Фото(маленькое)|Фото большое.... (большое для более подробного описания фильма...

Вся инфа заполняется путём добавления в бд нового фильма... Посредством отдельного окна...

Если есть другие идеи и варинты готов выслушать... В программировании знаю мало... делаю в основном мелочи для себя.

В дальнейшем... эти Imagi будут отображать так же отсортированные картинки БД...тое сть по году, по жанру... и тд.

Ну и нужно ещё сделать эти Image ссылками на открытие конкретной записи в БД..то есть инфе подробной о фильме... соответсвующей картинке в IMage.... Вот.... конечно всё это тяжеловато... не всё сразу)

БД Access используется... пока что с одной таблицей

Последний раз редактировалось Stilet; 01.02.2014 в 20:29.
Lexovt вне форума Ответить с цитированием
Старый 01.02.2014, 19:21   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
var a: array[1..10] of String; //в массиве полные пути на 10 картинок
    b: array[1..10] of TImage; //в массиве 10 Image

Randomize;  //сделать один раз например в OnCreate формы

for i:=1 to 10 do begin
  k:=Random(11-i)+1;
  b[i].LoadFromFile(a[k]);
  for j:=k to 10-i do a[j]:=a[j+1];
end;
Тут идея, не исключаю, что в чем-то переврал, прямо на форуме набирал
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.02.2014, 20:27   #7
Lexovt
Пользователь
 
Регистрация: 25.12.2010
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Код:
var a: array[1..10] of String; //в массиве полные пути на 10 картинок
    b: array[1..10] of TImage; //в массиве 10 Image

Randomize;  //сделать один раз например в OnCreate формы

for i:=1 to 10 do begin
  k:=Random(11-i)+1;
  b[i].LoadFromFile(a[k]);
  for j:=k to 10-i do a[j]:=a[j+1];
end;
Тут идея, не исключаю, что в чем-то переврал, прямо на форуме набирал

Картинок больше чем 10 и каждый раз это должны быть разные картинки..разные от предыдущих 10 после второго запуска проги
Lexovt вне форума Ответить с цитированием
Старый 01.02.2014, 20:32   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Дык и делай больше 10 массивы и заполняй их каждый раз по разному используя тот же принцип
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.02.2014, 20:35   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Lexovt
Код:
with Table1 do begin
 randomize;
 for i:=1 to 10 do begin
  img:=TImage(FindComponent('Image'+IntToStr(i)));
  if img<>nil then begin
   first; moveby(random(RecordCount));
   img.LoadFromFile(FieldByName(Поле с именем файла картинки).AsString;)
  end;
 end;
end;
Где Table1 - подключеная к Акцессу ADOTable. На форме есть 10 Имеджей Image1..Image10;

Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.02.2014, 20:38   #10
Lexovt
Пользователь
 
Регистрация: 25.12.2010
Сообщений: 20
По умолчанию

Буду счас пробовать...
Lexovt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка картинки image scroyler Общие вопросы Delphi 2 12.02.2012 17:12
Много labelов на форме Алена_=))) Общие вопросы Delphi 3 15.06.2011 08:53
маштабирование картинки в image wulf_01 Помощь студентам 4 15.05.2011 19:51
Размер Image изменяется на размер картинки, а сама она рисуется на области первой картинки RPGer Мультимедиа в Delphi 6 20.10.2008 19:54
очистка image от картинки Victor[famas] Общие вопросы Delphi 9 13.02.2008 00:26