Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.06.2012, 10:43
effe effe вне форума
Прохожий
 
Регистрация: 13.08.2011
Сообщения: 10
Репутация: 10
По умолчанию Image1

как сделать так чтоб Image1 случайным образом загружал картинки с сервера или с папки при запуске
Ответить с цитированием
  #2  
Старый 24.06.2012, 11:02
Аватар для ~TB~
~TB~ ~TB~ вне форума
Начинающий
 
Регистрация: 17.02.2006
Адрес: Казахстан
Сообщения: 172
Версия Delphi: XE
Репутация: 1500
По умолчанию

А что конкретно не понятно? Как загружать или как делать это случайно?

Генерируй список файлов в папке, генерируй случайное число в пределах от 0 до кол-во элементов в списке - 1. Загружай через LoadFromFile.
__________________
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110
Ответить с цитированием
  #3  
Старый 24.06.2012, 11:25
effe effe вне форума
Прохожий
 
Регистрация: 13.08.2011
Сообщения: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от ~TB~
А что конкретно не понятно? Как загружать или как делать это случайно?

Генерируй список файлов в папке, генерируй случайное число в пределах от 0 до кол-во элементов в списке - 1. Загружай через LoadFromFile.
мне нада что б при запуске он случайным образом одну из 50картинок открыл
Ответить с цитированием
  #4  
Старый 24.06.2012, 11:45
Аватар для ~TB~
~TB~ ~TB~ вне форума
Начинающий
 
Регистрация: 17.02.2006
Адрес: Казахстан
Сообщения: 172
Версия Delphi: XE
Репутация: 1500
По умолчанию

Это понятно, но я про другое, что тебе конкретно в реализации не понятно?
Что ты конкретно затрудняешь реализовать, так сказать?

IDE под рукой нет, поэтому набросал так, могут быть ошибки, но суть вроде правильная:

Код:
var
  SearchRec: TSearchRec;
  SearchResults: Integer;
  ImagesList: TStringList;
  MySuperRnd := Integer;
begin
  ImagesList := TStringList.Create;
  try
    Path := 'R:\MySuperDir\MySuperSubDir\';
    SearchResults := FindFirst(Path + '*.bmp', faAnyFile, SearchRec);
    while SearchResults = 0 do
    begin
      if SearchRec.Attr <> faDirectory then ImagesList.Add(Path + SearchRec.Name);
      SearchResults := FindNext(SearchRec);
    end;
    FindClose(SearchRec);
    if ImagesList.Count > 0 then
    begin
      Randomize;
      MySuperRnd := Random(ImagesList.Count);
      Image1.Picture.LoadFromFile(ImagesList[MySuperRnd]);
    end;
  finally
    FreeAndNil(ImagesList);
  end;
end;
__________________
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110

Последний раз редактировалось ~TB~, 24.06.2012 в 11:48.
Ответить с цитированием
  #5  
Старый 24.06.2012, 13:54
effe effe вне форума
Прохожий
 
Регистрация: 13.08.2011
Сообщения: 10
Репутация: 10
По умолчанию

то ли я рукажоп то ли у меня изображения не запускаются
может скинешь готовую?
Путь к папке с картинками укажу сам
Ответить с цитированием
  #6  
Старый 24.06.2012, 16:29
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

называешь файлы 0.bmp — 49.bmp
Код:
inttostr(random(50))+'.bmp' //– имя файла
Ответить с цитированием
  #7  
Старый 24.06.2012, 19:08
effe effe вне форума
Прохожий
 
Регистрация: 13.08.2011
Сообщения: 10
Репутация: 10
По умолчанию

мб готовый пример скинеш?
я уже часов делаю нихрена не получается
Ответить с цитированием
  #8  
Старый 24.06.2012, 22:04
effe effe вне форума
Прохожий
 
Регистрация: 13.08.2011
Сообщения: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от ~TB~
Это понятно, но я про другое, что тебе конкретно в реализации не понятно?
Что ты конкретно затрудняешь реализовать, так сказать?

IDE под рукой нет, поэтому набросал так, могут быть ошибки, но суть вроде правильная:

Код:
var
  SearchRec: TSearchRec;
  SearchResults: Integer;
  ImagesList: TStringList;
  MySuperRnd := Integer;
begin
  ImagesList := TStringList.Create;
  try
    Path := 'R:\MySuperDir\MySuperSubDir\';
    SearchResults := FindFirst(Path + '*.bmp', faAnyFile, SearchRec);
    while SearchResults = 0 do
    begin
      if SearchRec.Attr <> faDirectory then ImagesList.Add(Path + SearchRec.Name);
      SearchResults := FindNext(SearchRec);
    end;
    FindClose(SearchRec);
    if ImagesList.Count > 0 then
    begin
      Randomize;
      MySuperRnd := Random(ImagesList.Count);
      Image1.Picture.LoadFromFile(ImagesList[MySuperRnd]);
    end;
  finally
    FreeAndNil(ImagesList);
  end;
end;
то ли я рукажоп или я не догоняю что ты взял за "MySuperRnd"
Ответить с цитированием
  #9  
Старый 24.06.2012, 22:09
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

А посмотреть:
Цитата:
MySuperRnd := Integer;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #10  
Старый 24.06.2012, 23:17
effe effe вне форума
Прохожий
 
Регистрация: 13.08.2011
Сообщения: 10
Репутация: 10
По умолчанию

и так и так пробывал указывать другое значение у меня ругается на этот элемент
Ответить с цитированием
  #11  
Старый 24.06.2012, 23:21
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Читаем любую книжку по Делфи. Список литературы есть в разделе "Начинающим", прикреплённая тема. За готовым - в раздел "работа".
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
Этот пользователь сказал Спасибо PhoeniX за это полезное сообщение:
v1s2222 (25.06.2012)
  #12  
Старый 25.06.2012, 10:06
Аватар для ~TB~
~TB~ ~TB~ вне форума
Начинающий
 
Регистрация: 17.02.2006
Адрес: Казахстан
Сообщения: 172
Версия Delphi: XE
Репутация: 1500
По умолчанию

effe,
Ну ты даешь. Там же опечатка. Найди любую книжку по Delphi и легко разберешся с этой проблемкой.
__________________
00110001 00101100 00110110 00110001 00111000 00110000 00110011 00110011 00111001 00111000 00111000 00110111 00110100 00111001 00111000 00111001 00110100 00111000 00110100 00111000 00110010 00110000 00110100 00110101 00111000 00110110 00111000 00110011 00110100 00110011 00110110 00110101 00110110
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:34.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter