Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.12.2008, 10:37
oloks вне форума Посмотреть профиль Отправить личное сообщение для oloks Найти все сообщения от oloks
  № 1  
Ответить с цитированием
oloks

Регистрация: Dec 2008
Сообщений: 7
По умолчанию flash<vars>exsel

На листе exsel лежит flash-мувик.
Подскажите пожадуста как им обменятся переменными?

Старый 26.12.2008, 11:45
artem_fs вне форума Посмотреть профиль Отправить личное сообщение для artem_fs Найти все сообщения от artem_fs
  № 2  
Ответить с цитированием
artem_fs

Регистрация: Jul 2008
Сообщений: 257
excel? незнал что можно в него флэшку вставить. подозреваю что обменяться не получится.

Старый 26.12.2008, 11:47
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 3  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Варианты:
- ExternalInteface (круто)
- fscommand (из флэша вызываем функции оболочки, наооборот нельзя)
- SetVariable/GetVariable(устарело. но самое простое)
Общий подход:
Размещаем флэш-контрол (ActiveX) на листе.
Кликаем два раза по нему. Откроется редактор VBA.
В редакторе видим окно с кодом для этого контрола.
В ObjectBrowser редактора находим поиском ShockWaveFalsh и смотрим список
доступных свойств и методов данного объекта.
В редакторе кода пишем необходимый функционал.
В окне свойств контрола выбираем мувик, который будет загружен в плеер и режим его отображения.

При использовании ExternalInterface в обработчик события FlashCall будет из флэша направлена xml-строка вида
Код:
<invoke name="functionName" returntype="xml"><arguments><string>my_string</string><number>my_number</number></arguments></invoke>
Код:
// во флэше 
ExternalInterface.call("functionName","my_string",my_number);
так что прежде чем вызвать funcName(my_string, my_number) уже в оболочке придется распарсить эту строку.
То же происходит и при использовании CallFunction (вызов функции во флэше из оболочки), только наоборот: вам придется аргументом CallFunction передать подобного же вида xml-строку.
Т.е. речь идет о сериализации/десериализации запросов. На стороне флэша сериализация/десериализация происходит автоматически.

При использовании обработчика FSCommand аргументами его будут имя вызываемой функции и строка с аргументами. Вернуть значение после выполнения функции во флэш нельзя.
Код:
fscommand("functionName","bla-bla, 45");
SetVariable/GetVariable проще. Но фо флэше нужно будет делать какую-то "следилку" за переменной, что бы отловить момент ее изменения и предпринять какие-то действия. Т.е. вызов этих методов просто читает/пишет переменные в мувике, при этом никак не оповещая плеер об этом.

Само-собой, в редакторе кода VBA на ряду с флэш-контролом вы можете использовать стандартные переменные, свойства, методы любых других VBA-объетов, того же экселя, и не только. Т.е. листы экселя со значениями их полей и таблиц будут так же доступны и вы сможете передать их во флэш, обработать там и вернуть обратно.


Последний раз редактировалось alexcon314; 26.12.2008 в 12:15.
Старый 26.12.2008, 14:31
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 4  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
круто! надо запомнить

Старый 27.12.2008, 13:45
oloks вне форума Посмотреть профиль Отправить личное сообщение для oloks Найти все сообщения от oloks
  № 5  
Ответить с цитированием
oloks

Регистрация: Dec 2008
Сообщений: 7
Спасибо за косультацыю.
ExternalInterface - для меня слишком круто будет.
А с остальным у меня проблемы с синтаксисом:
Код flash:
fscommand("functionName","bla-bla, 45"); - тобиш
functionName = моя функция в VB?
bla-bla, 45 = параметры к ней?
Код VB:
Private Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String)

End Sub
А тут что-куда писать?
-------------------------------
SetVariable/GetVariable проще. - не плохо бы примерчик
что в VB
что во flash
именно синтаксис - а то редактор VB или ругается или не компилирует.
Спасибо за участие.

Старый 08.01.2009, 23:13
Ksunny вне форума Посмотреть профиль Отправить личное сообщение для Ksunny Найти все сообщения от Ksunny
  № 6  
Ответить с цитированием
Ksunny

Регистрация: Jan 2009
Сообщений: 1
простите, что тут не в тему...я совсем не знаю Excel, но очень надо как то вытащить флеш игру из xsl документа... это возможно на самом примитивном уровне... или где то почитать про это можно??? в поисковиках я так толком не нашла ничего(((
заранее спасибо!

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:00.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.