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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2007, 12:54   #1
gulfiyush
 
Регистрация: 05.12.2007
Сообщений: 3
По умолчанию просмотр изображений

Помогите сделать программу на Delphi,позволяющую просматривать картинки нажатием кнопки Дальше, слайд-шой и случайным образом. У меня программа не работает
gulfiyush вне форума Ответить с цитированием
Старый 05.12.2007, 12:56   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
У меня программа не работает
Показывай как делал и что не работает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.12.2007, 22:48   #3
gulfiyush
 
Регистрация: 05.12.2007
Сообщений: 3
По умолчанию

В программе хочу сделать слайд-шоу показа картинок, он у меня не работает. Помогите разобраться. Я пишу следующий код:
for n:=0 to listbox1.Items.Count -1 do
Image1.Picture.LoadFromFile(ListBox 1.Items.Strings[n]);
n:=n+1.
Он должен брать картинки из списка, в который я до этого загружаю картинки
gulfiyush вне форума Ответить с цитированием
Старый 05.12.2007, 23:22   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Аттач архив проекта
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 06.12.2007, 11:34   #5
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,239
По умолчанию

Цитата:
Сообщение от gulfiyush Посмотреть сообщение
В программе хочу сделать слайд-шоу показа картинок, он у меня не работает. Помогите разобраться. Я пишу следующий код:
for n:=0 to listbox1.Items.Count -1 do
Image1.Picture.LoadFromFile(ListBox 1.Items.Strings[n]);
n:=n+1.
Он должен брать картинки из списка, в который я до этого загружаю картинки
наверно так надо, Строки считают в списках(memo, listbox, combo, ...) с НУЛЯ:
Код:
for n:=0 to listbox1.Items.Count -1 do
Begin
  Image1.Picture.LoadFromFile(ListBox1.Items.Strings[n]);
 // n:=n+1. <- Убрать
End;
Думаю, что нужна пауза в цикле, хотя бы в 5 сек.
Alter вне форума Ответить с цитированием
Старый 07.12.2007, 04:21   #6
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

лучше при нажатии на картинку открывалась твоя программа и она сканировала директорию на налицие поддерживаемых файлов и засовывала их в TSrings переменную...

при нажатии кнопки "далее" переходила на уровень вниз а при нажатии кнопки "назад" переходила на уровень вверх и все это будет загружаться в IMAGE или в то что тебе надо...

слайдшоу лучше делать с использованием таймера и просто задать ему интеравал примерно в 5 секунд и в процедуре OnTimer объявить переменную например A: integer; и начиная с 0 прибавлять к ней 1 так у тя будет проходить переход от файла к файлу...

если A будет равно количеству строк загруженных в переменную Tsrings то обнуляй значение...

Для случайного просмотря используй randomize; random(тут укажи переменную Tsrings.count-1) он будет генерировать значение от 0 до количесва строк в переменной и загружать... вот и все....
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 07.12.2007, 16:33   #7
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
Подмигивание

Доброе время суток!!!
Нуи я тогда свой код подкину !!!
Кстати некто не подскажет как же всё таки очередь правильно выставить штоб после первой картинки шла обязательно вторая а ни шестая или четвёртая!

Код:
var
  Form1: TForm1;
  I: Integer;

procedure TForm1.Image1Click(Sender: TObject);
begin
Image3.Picture.LoadFromFile('Sys/Servis/List_'+IntToStr(I)+'.bmp');
 if I > 0 then Dec(I);
end;

procedure TForm1.Image2Click(Sender: TObject);
begin
 Image3.Picture.LoadFromFile('Sys/Servis/List_'+IntToStr(I)+'.bmp');
 if I < 20 then Inc(I);
end;
Тож самое и с Button-ами!!!
Зарание блогодарен !!!
С уважением Volkogriz!!!
Не количеством плюсов измеряется репутация человека...!

Последний раз редактировалось Volkogriz; 07.12.2007 в 16:38.
Volkogriz вне форума Ответить с цитированием
Старый 08.12.2007, 12:55   #8
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

а че у тя просматривает только файлы с названием List_*.bmp? че так плохо7
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 08.12.2007, 15:01   #9
Volkogriz
Форумчанин
 
Аватар для Volkogriz
 
Регистрация: 11.10.2007
Сообщений: 384
По умолчанию

KORN Доброе время суток!!
Это книга листающая страници от List_1.bmp до List_20.bmp
На всех других вариантах которые мне пападались вылитает ошибка!
Например


procedure TForm1.Image1Click(Sender: TObject);
begin
Image3.Picture.LoadFromFile('Sys/Servis/List_1'+IntToStr(I)+'.bmp');
if I > 0 then Dec(I);
end;

procedure TForm1.Image2Click(Sender: TObject);
begin
Image3.Picture.LoadFromFile('Sys/Servis/List_20'+IntToStr(I)+'.bmp');
if I < 20 then Inc(I);
end;
Ошибка Неудаётся найти 220 файл!!!
делаю так Например


procedure TForm1.Image1Click(Sender: TObject);
begin
Image3.Picture.LoadFromFile('Sys/Servis/'+IntToStr(I)+'.bmp');
if I > 0 then Dec(I);
end;

procedure TForm1.Image2Click(Sender: TObject);
begin
Image3.Picture.LoadFromFile('Sys/Servis/'+IntToStr(I)+'.bmp');
if I < 20 then Inc(I);
end;
поочарёдность всёравно не правельная!
С уважением Volkogriz!!!
Не количеством плюсов измеряется репутация человека...!
Volkogriz вне форума Ответить с цитированием
Старый 10.12.2007, 04:47   #10
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

Код:
var
  Form1: TForm1;
  a: integer;
const
  max=6; // максимальное количество картинок
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if a=1 then
  begin
  a:=max;
  image3.Picture.LoadFromFile(extractfilepath(application.ExeName)+inttostr(a)+'.jpg');
  end;
  
  if (a<=max) or (a>1) then
  begin
  image3.Picture.LoadFromFile(extractfilepath(application.ExeName)+inttostr(a)+'.jpg');
  a:=a-1;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  a:=1;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if a=max then
  begin
  a:=1;
  image3.Picture.LoadFromFile(extractfilepath(application.ExeName)+inttostr(a)+'.jpg');
  end;
  if a<max then
  begin
  image3.Picture.LoadFromFile(extractfilepath(application.ExeName)+inttostr(a)+'.jpg');
  a:=a+1;
  end;
end;
Вот это у меня работает, вроде даже без ошибок... (=
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Просмотр базы Isthmus Паскаль, Turbo Pascal, PascalABC.NET 4 14.05.2008 22:31
просмотр dll jziiiiiii Win Api 5 26.02.2008 18:54
Просмотр картинки Terran Общие вопросы Delphi 4 07.02.2008 08:05
Просмотр PNG изображений dimfil Компоненты Delphi 1 05.12.2007 18:16
Просмотр картинок Kocapb Общие вопросы C/C++ 1 25.11.2007 16:51