Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.10;
Скачать: CL | DM;

Вниз

Как сделать слайдшоу?   Найти похожие ветки 

 
VoLung ©   (2003-10-06 23:55) [0]

Господа! Огромная просьба!
Задача: пользователь создает формирует список графических файлов, затем запускает слайдшоу с заданным интервалом задержки.
Естественно все это происходит в цикле. Но пока цикл крутится, картинки не показываются в компоненте Image. Файлы открываются, т.к. окно картинки меняет свои размеры в соответствии с той картинкой, которая должна быть. И вобще вся программа мертвеет пока цикл крутится. Как сделать так, чтобы картинки было видно, и прогой можно было бы управлять?
Спасибо.


 
Mihey ©   (2003-10-07 00:54) [1]

Решение с циклом неверно для данного случая. Тебе нужно завести таймер, который собственно говоря и будет определять задержку, а далее пишешь обработчик onTimer.

Например, список файлов хранится в массиве строк Files. Тогда:

var n: Integer; // Глобальная переменная

procedure Start; // Начало шоу
begin
n := 0;
Timer1.Interval := SelectedInterval;
end;

procedure Timer1OnTimer;
begin
Image1.Picture.LoadFromFile(Files[n]);
n := n + 1;
If n > High(Files) then
begin
Timer1.Interval := 0;
ShowMessage("Show is over!");
end;
end;


 
misterix   (2003-10-08 11:20) [2]

Или, если так нравится цикл, то не забудь внутри впихнуть Application.ProcessMessages. Но с таймером все же лучше.


 
Qwe   (2003-10-10 20:46) [3]


> Например, список файлов хранится в массиве строк Files

А подскажите пожалуйста как такой массив сделать, а то я с массивами вообще практически не шарю


 
Mihey ©   (2003-10-10 22:56) [4]

> А подскажите пожалуйста как такой массив сделать, а то я с массивами вообще практически не шарю

Массив можно объявить так:

const N = 10
var FileNames: array [1..N] Of String;

Проблема будет заключаться в том, что массив заданного размера. Поэтому лучше воспользоваться классом TStrings, т.е. завести объект этого класса и использовать его методы. Для этого обратись к справке - Borland хорошо расписала про это дело.



Страницы: 1 вся ветка

Текущий архив: 2004.02.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
3-29216
HolyMan
2004-01-18 23:16
2004.02.10
Отображаение Булевых полей в гриде!


14-29547
Романов Р.В.
2004-01-19 10:33
2004.02.10
404


1-29425
Islander
2004-01-31 12:44
2004.02.10
Как конвертировать в TshortCut комбинацию клавиш Win+A?


6-29497
Kinder
2003-10-27 19:26
2004.02.10
Как посчитать трафик текукщего соединения с инетом


3-29255
Burafchick
2004-01-18 22:51
2004.02.10
Как установить QReport в Delphi 7