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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2007, 10:00   #1
Davl
 
Регистрация: 02.12.2007
Сообщений: 6
По умолчанию Слайдшоу

подскажите пожалуйста почему не работает
procedure TForm1.Button4Click(Sender: TObject);
var i:integer;
n:integer;a:integer;
begin
Timer1.Enabled:=True;
i:=1;
Timer1.Interval:= i;//устанавливаем интервал на таймер

n:= ListBox1.Items.Count;
a:=0;
Image1.Picture.LoadFromFile(ListBox 1.Items.Strings[a]);
a:=a+1;
end;
Davl вне форума Ответить с цитированием
Старый 02.12.2007, 10:55   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Код:
i:=1;
Timer1.Interval:= i;
я не уверен, что за 1 мс вы успеете что-то разглядеть))
поставьте i:=3000;

Это в таймере:
перерисовку окна не помешает сделать form1.repaint;
и обработку внешних соообщений (чтоб не подвисало) application.processmessage; (по памяти пишу, возможно чуть по другому пишется).
zetrix вне форума Ответить с цитированием
Старый 02.12.2007, 13:00   #3
Davl
 
Регистрация: 02.12.2007
Сообщений: 6
По умолчанию

Последовала вашему совету, но рисунки все равно не сменяют друг друга. Отображается первый рисунок и начинает мигать через некоторое время, которое указано в таймере=(
Davl вне форума Ответить с цитированием
Старый 02.12.2007, 13:03   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

обработчик таймера покажи
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 02.12.2007, 13:09   #5
Davl
 
Регистрация: 02.12.2007
Сообщений: 6
По умолчанию

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form1.Repaint;
Application.ProcessMessages;
end;
Davl вне форума Ответить с цитированием
Старый 02.12.2007, 13:28   #6
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Переменные делаем глобальными
Код:
var
  Form1: TForm1;
  a:integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled:=True;
  Timer1.Interval:= 500;//устанавливаем интервал на таймер
  a:=0;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if a <= ListBox1.Items.Count-1 then
  begin
    Image1.Picture.LoadFromFile(ListBox1.Items.Strings [a]);
    a:=a+1;
  end else Timer1.Enabled:=false;
end;

Последний раз редактировалось Alex21; 02.12.2007 в 14:12.
Alex21 вне форума Ответить с цитированием
Старый 02.12.2007, 13:37   #7
Davl
 
Регистрация: 02.12.2007
Сообщений: 6
По умолчанию

Спасибо огромное=)
все же есть еще в нашем мире добрые люди...
Davl вне форума Ответить с цитированием
Ответ


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

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

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