![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 04.11.2007
Сообщений: 64
|
![]()
можно ли в Делфи использовать .swf-ролики(flash-ролики)?
если да,то какой для этого нужен компонент?и сохранится ли в самом ролике скрипт? |
![]() |
![]() |
![]() |
#2 |
C# developer
Форумчанин
Регистрация: 03.10.2007
Сообщений: 393
|
![]()
да можно->
Запусти Дельфи и выберите пункт меню Component -> Import ActiveX Control... (обязательно должена быть установлена сама программа Flash). Перед вами откроется диалоговое окно с заголовком Import ActiveX Control. В разделе Registered Controls выберите Shockwave Flash. В разделе Pallete Page... выберите страницу в палитре компонентов, на которой будет располагаться установленный компонент (по умолчанию это ActiveX). В разделе Unit Dir Name... путь к папке куда будет установлен компонент. Нажмите на кнопку и установи этот компонент. Теперь можно с помощью этого компонента юзать flash. Теперь как пользоваться этим компонентом, попробуем сделать программу для просмотра *.SWF файлов. Для этого нам понадобятся следующие компоненты: TShockwaveFlash (для удобства назовите его просто Flash1), TTrackBar, TTimer, TOpendialog и три кнопки TButton ("открыть", "старт" и "стоп"). Для начала установим необходимые свойства Opendialog'a: Свойство Filter может быть таким: Флэш-ролики|*.swf Свойство DefaultExt должно быть: *.swf Для Timer'a нужно установить свойство Interval равным 1. Для TShockwaveFlash: Свойство Name сделайте равным Flash1 Свойство Playing установите в false Свойство BGColor, установите как вам хочется (цвет фона) Теперь напишем обработчик события OnClick для кнопки, которая вызывать Opendialog: if open1.Execute then begin flash1.Movie:=open1.FileName; trackbar1.Max:=flash1.TotalFrames; {это делается для того, чтобы потом можно было перемещаю ползунок посмотреть каждый кадр ролика} В обработчик события OnClick для второй кнопки ("Старт") напишем: flash1.Play; Ну тут вообще все просто! Почти таким же образом это будет выглядеть для третьей кнопки ("Стоп"): flash1.Stop; Теперь сделаем, чтобы при перемещении ползунка Trackbar'a мы могли посмотреть каждый кадр (событие OnChange): if Flash1.IsPlaying=true then Flash1.Stop; {если ролик проигрывается, то надо его остановить} flash1.GotoFrame(trackbar1.position ); {открываем кадр номер которого соответствует позиции ползунка} Ну и наконец осталось сделать чтобы при проигрывании ролика ползунок перемещался, указывая сколько осталось и сколько прошло. Для этого то мы и используем Timer. В обработчик события OnTimer, напишем: trackbar1.Position:=flash1.CurrentF rame; полный код приложения: Код:
I like WPF
Последний раз редактировалось kommunist; 09.12.2007 в 11:57. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 04.11.2007
Сообщений: 64
|
![]()
спасибо......щас попробую сделать
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 27.01.2007
Сообщений: 293
|
![]()
это по любому работает, главное установи activeX и все получится.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 18.07.2008
Сообщений: 119
|
![]()
Делал всё как ты сказал kommunist...TShockwaveFlash не вылезает не где...
Улыбайся...Люди любят идиотов...
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 27.01.2007
Сообщений: 293
|
![]()
в каком смысле не вылезает нигде? она появится на вкалдке ActiveX
|
![]() |
![]() |
![]() |
#7 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Как думаите реально изобрести велосипед. Его уже изобрели, но только он денег стоит. Мне надо научится проигрывать флеш и так же его коннектить к интернету. Вообщем полный набор. Может где нибудь информация (статьи) есть. Или документация формата .swf.
Почему не ActiveX, потому что есть флешка одна тут, и чет не хочет она проигрыватся ( хотя в опере все ок ) и еще тут, дело такое, если даже и юзать ActiveX, надо научится тогда при обновлении каждого кадра флешки получать этот кадр. |
![]() |
![]() |
![]() |
#8 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]()
У меня есть компонент специальный для проигрывания Swf-файлов...
Компонент FlashPlayerControl... Только там поперёк надпись "DEMO VERSION"... Денег требует, гад... ![]() А в принципе можно просто TWebBrowser использовать... ![]()
I am the First of Cyber Evolution...
I am the First to Program your Future... |
![]() |
![]() |
![]() |
#9 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Допустим я согласен юзать TShockwaveFlash. Но к примеру вот два урл, через opera и firefox все ок, но вот через этот ActiveX не работает:
Код:
|
![]() |
![]() |
![]() |
#10 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]()
Про "TShockwaveFlash" не слышал... Есть ссыль на этот компонент..?
А обязательно брать этот Swf-файл из интернета? Нельзя ли его на локальный диск заранее скачать или может даже в ресурсы программы зашить..? К тому же как я понял та ссыль не на сам Swf-файл...
I am the First of Cyber Evolution...
I am the First to Program your Future... |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование BlockRead | Никки | Общие вопросы Delphi | 17 | 22.04.2008 08:23 |
использование таймера | KancJler | Помощь студентам | 13 | 19.04.2008 01:13 |
использование using namespace std; | che | Общие вопросы C/C++ | 7 | 11.10.2007 17:13 |
Использование длл | Anatolij | Win Api | 1 | 02.01.2007 19:54 |