Ошибка: Failed to parse the Currency Converter XML document.
$1 603.45


Ошибка: Failed to parse the Currency Converter XML document.
$2 530.84


Ошибка: Failed to parse the Currency Converter XML document.
$1 196.28


Delphi и Flash. Совмещение несовместимого!

Разве возможно совместить Флэш-ролики и Дельфи-приложения. Раньше я думал что НЕТ. Но теперь я знаю не только, что это возможно, но и знаю как это делается!!! И сейчас я вам расскажу об этом. Во-первых хочется отметить преимущества использования флэш-роликов в ваших программах. Если вы сумеете гармонично вписать небольшой флэш-ролик в вашу программу, то несомненно внешний вид программы будет намного привлекательнее (главное не переборщить, увлекаясь дизайном, не надо забывать о том что программа должна быть удобна и проста в использовании! ).

Итак, как же совместить Флэш и Дельфи? (Надеюсь, что у вас Флэш установлен:))


Запустите Дельфи и выберите пункт меню Component->Import ActiveX Control... Перед вами откроется диалоговое окно с заголовком Import ActiveX Control. В разделе Registered Controls выберите Shockwave Flash. В разделе Pallete Page... Выберите страницу в палитре компонентов, на которой будет располагаться установленный компонент (по умолчанию это ActiveX). В разделе Unit Dir Name... путь к папке куда будет установлен компонент.

Нажмите на кнопку Install. Перед вами появится окно, в котором вам нужно будет выбрать в какой пакет будет установлен компонент (вы можете установить как в уже существующий, так и в новый пакет). Затем перед вами появится окно редактирования выбранного пакета и Дельфи вас спросит: «...Package will be rebuilt. Continue?». Ответьте Yes. Все готово теперь можно использовать флэш в ваших приложениях!!!


Теперь, чтобы показать вам как пользоваться этим компонентом, попробуем вместе сделать программу для просмотра *.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.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.

Ну вот и все. Как оказалось ничего сложного.

Удачи в программировании...

 

Интересное

Assembler. Введение
Микропроцессоры корпорации Intel и персональные компьютеры на их базе прошли не очень длинный во времени, но значительный по существу путь развития, на протяжении которого кардинально изменялись и...
Подробнее...
Проблемы в работе Windows...
Проблемы в работе Windows Server 2003 Terminal ServicesЕсли вы занимаетесь настройкой Windows 2003 Terminal Services, имейте в виду, что Microsoft выпустила 22 программы коррекции для известных...
Подробнее...
Управление сетями. Правила...
Идея создания сетей для передачи данных на большие и не очень большие расcтояния витала в воздухе с той самой поры, как человек впервые задумался над созданием телекоммуникационных устройств. В...
Подробнее...
Java-приложение: заглянем...
Чтобы отладить приложение, можно поступить по-разному. Во-первых, можно воспользоваться штатным отладчиком из какого-либо программного пакета. Во-вторых, можно самостоятельно вычислить ошибку...
Подробнее...
Будущее - за Ethernet DSLAM
Популярность существующих методов широкополосного интернет-доступа (DSL) во многом обеспечивает стабильное состояние рынка решений DSLAM (Digital Subscriber Line Access Multiplexer). Современные...
Подробнее...
Установка межсетевого...
Чтобы придать сетевому узлу достаточную степень надежности, установите одну из доступных и свободно распространяемых программ, известных под названием файрволов. А для подстраховки не мешало бы...
Подробнее...
Новый способ удаления Msn...
Не секрет, что жесткая инсталляция и невозможность простого удаления программы Msn Messenger не очень радует многих пользователей Windows XP. Какой бы хорошей не была эта программа, большинство из...
Подробнее...
Параметры установки Windows XP
Параметры командной строки программы установки ОС чрезвычайно важны, несмотря на то, что процедура установки Windows XP, да и чуть более старой, но многими любимой за непревзойдённую надёжность...
Подробнее...
Коммутаторы уровня SOHO
Интересно пронаблюдать историю массового развития локальных сетей. Помнится, еще десять лет назад не составляло особого труда построить сеть буквально в чистом поле, без какого бы то ни было...
Подробнее...
PHP кодировка писем
У меня часто спрашивают, как отсылать письма с помощью php в правильной кодировке: после отправки письма с русскими буквами, на почту людям приходит абракадабра.А все дело в том, что для почты у...
Подробнее...