Поиск

Вход на сайт

Файлы

  • Игры 240х400 - Сборник из 72 игр для сенсорных телефонов
  • Windows 7 активатор
  • WallHack для Call of Duty 4 Modern Warfare[multiplayer]
  • Обои для Samsung s5230 720х400
  • Kassy 0.3 + crack (печать товарных чеков)
  • Jimm 0.6.0
  • Mail Agent на телефон (jar)
  • Механоиды гонки на выживание nocd
  • Читы CS 1.6 - Wallhack v4
  • Tequilacat Book Reader 2.2.8
  • Обои для Samsung s5230 720х400
  • Обои для Samsung s5230 720х400
  • l4d_update_1013_to_1014
  • Windows 7 Activator Pack
  • Сборник виджетов для SAMSUNG S5230
  • Шпаргалка по русскому языку
  • Ad Muncher 4.9 Build 31235
  • TMS Component Pack v5.4.2.0 (C++Builder, Delphi) Full Source
  • Архив файлов для Guitar Pro
  • Шпаргалка по математике
  • KKiller v3.4.4
  • Решатель транспортных задач
  • Radmin_3.3_+_Key
  • Sound_Forge_9.0a + crack
  • GPU-Z 0.3.8 (RUS/2009)
  • Чит для Battlefield 2 || ArtificialAiming Radar v2.6
  • Игры для Nokia 5800, N97, 5230, 5530, X6 - Игры для смартфонов серии Nokia Touch, с сенсорным экраном 360 x 640 (S60 5th Edition)
  • Читы CS 1.6 - BadBoy v5.0
  • Читы для lineage 2
  • Tom Clancy's Splinter Cell: Conviction Multiplayer patch
  • Каталог статей

    Главная » Статьи » Веб программирование » Flash

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

    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.

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

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

    Категория: Flash | Добавил: _Hz_ (04.12.2009)
    Просмотров: 361 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]

    Статистика





    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Ссылки

    dim-dragon.ucoz.ru