FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9268
Вход
Расширение возможностей VFP путем использования объектов ShockWave.Flash

Флеш анимация становится все более популярной среди разработчиков ПО. Причем за счет ActiveX , эту технологию можно применять практически для любого языка программирования. Здесь рассматривается пример, как создать свой собственный ProgressBar на основе Shockwave.Flash Object


 
Прислал: Yuri Abramenkov   Категория: Интерфейс


Расширение возможностей VFP путем использования объектов ShockWave.Flash

Надо сказать что данный пример, лишь малая часть того , как применить флеш в фоксе. Я не буду останавливаться на том как создаются файлы SWF. Скажу только, что я для этой цели использую Macromedia Flash 4.0 (5.0)или COREL R.A.V.E. 1.0.
Итак, создаем флеш ролик длиной в 100 кадров. На одном из слоев помещаем текстовое поле, обзываем его txt.
Получаем файл pbar.swf
Создаем в фоксе новую форму, добавляем туда ActiveX Control класса Shockwave Flash Object (Swflash.ocx). (Если такого объекта у Вас нет- его можно скачать с
http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash.
Впрочем если данный класс в Вашей системе не зарегистрирован, то при просмотре этой страницы- Вам будет предложено его загрузить.)
Присваиваем новому объекту имя fl из всех свойств, методов и событий этого объекта, нас в данном случае интересуют
MOVIE -Свойство, указывает путь к файлу pbar.swf
GotoFrame- Метод, переход к уазанному в качестве параметра кадру ролика
STOP - стоп в полном смысле этого слова
SetVariable- метод, присваения внутренней переменной флеш ролика (первый параметр), какого-либо значения (второй параметр)
В моем примере прогресс бар построен на чтении определенного количества байт данных из какого -либо файла
j=GETFILE()
lf=FOPEN(j)

*!* Далее определяем максимальное условное значение отслеживаемого процесса и сохраняем его в переменной
flmax=FSEEK(lf,0,2)
=FSEEK(lf,0,0)
*!* Затем наша задача состоит в том, чтобы определить какой процент данных считан , присвоить внутренней переменной ролика TXT, это значения и перейти на нужный кадр. Все это делать в цикле до конца файла
DO WHILE FEOF(lf)=.f.
cstring=FREAD(lf,12)
flcur=FSEEK(lf,0,1)
THISFORM.fl.SetVariable('txt',INT(flcur/flmax*100))
THISFORM.fl.GotoFrame(INT(flcur/flmax*100))
THISFORM.fl.stop
ENDDO
FCLOSE (lf)
Вот собственно и все.
В прилагаемом архиве flashbar.zip есть исходники для примера
А так это должно выглядеть

Посмотреть

 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.628) Вложение [8.31]kb
Дополнения пользователей
Расширение возможностей VFP путем использования объектов ShockWave.Flash
[+][?]
Соколов Н. Г.
11.02.02 16:34:04

А где flashbar.zip ?
Joys
20.02.05 15:13:47

11
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика