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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.02.2007, 09:48
Kaifolom Kaifolom вне форума
Прохожий
 
Регистрация: 27.11.2006
Сообщения: 7
Репутация: 10
По умолчанию Delphi и Flash

Помогите дополнить программу разными фишками на своё усмотрение
Код здесь http://ishodniki.ru/art/artshow.php?id=47
Прога о том как совместить Delphi и Flash
Заранее премногоблагодарен! (Студент II курса)
Ответить с цитированием
  #2  
Старый 15.02.2007, 14:04
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
По умолчанию

Я точно непомню. Но в Delphi должен быт компонент TFlash чего то там.
Он по умолчанию отключен. Попробуй установить его через палитру компонентов. Я сталкивался с точно такой же проблемой.
Ответить с цитированием
  #3  
Старый 15.02.2007, 19:32
Аватар для Artem28
Artem28 Artem28 вне форума
Прохожий
 
Регистрация: 07.08.2006
Сообщения: 32
Репутация: 10
По умолчанию

Теперь напишем обработчик события 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.CurrentFrame;

Приведу полный код приложения:

Код:
unit flash; 

interface 

uses 
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 
  ComCtrls, StdCtrls, OleCtrls, ShockwaveFlashObjects_TLB, ExtCtrls; 

type 
  TForm1 = class(TForm) 
    Flash1: TShockwaveFlash; 
    Button1: TButton; 
    TrackBar1: TTrackBar; 
    Open1: TOpenDialog; 
    Button2: TButton; 
    Button3: TButton; 
    Timer1: TTimer; 
    procedure Button1Click(Sender: TObject); 
    procedure Button2Click(Sender: TObject); 
    procedure Button3Click(Sender: TObject); 
    procedure TrackBar1Change(Sender: TObject); 
    procedure Timer1Timer(Sender: TObject); 
  private 
{ Private declarations } 
  public 
{ Public declarations } 
  end; 

var 
  Form1: TForm1; 

implementation 

{$R *.DFM} 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  if open1.Execute then 
    begin 
      flash1.Movie := open1.FileName; 
      trackbar1.Max := flash1.TotalFrames; 
    end; 
end; 

procedure TForm1.Button2Click(Sender: TObject); 
begin 
  flash1.Play; 
end; 

procedure TForm1.TrackBar1Change(Sender: TObject); 
begin 
  if Flash1.IsPlaying = true then Flash1.Stop; 
  flash1.GotoFrame(trackbar1.position); 
end; 

procedure TForm1.Button3Click(Sender: TObject); 
begin 
  flash1.Stop; 
end; 

procedure TForm1.Timer1Timer(Sender: TObject); 
begin 
  trackbar1.Position := flash1.CurrentFrame; 
end; 

end. 
Ну вот и все. Как оказалось ничего сложного.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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