線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1746
推到 Plurk!
推到 Facebook!

Delphi與flash的資訊通道

 
AB
高階會員


發表:166
回覆:262
積分:125
註冊:2003-08-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-18 22:50:24 IP:61.64.xxx.xxx 未訂閱
http://www.delphiboy.com/cgi-bin/doc/datacontent.php?no=353 Delphi與flash的資訊通道 一.添加FlashActiveX控制項 要在Delphi中播放flash依賴於FlashActiveX控制項,所以我們要先安裝它。運行Delphi後,選擇選單Component→Import ActiveX Control,找到SWFlash.OCX(或者Shockwaveflash.ocx) 文件進行安裝。安裝完成後,ActiveX面板裏出現TShockwaveFlash控制項,這是Delphi對FlashActiveX控制項的封裝,現在我們就可以用這個控制項來播放Flash了。 二.TShockwaveFlash主要屬性、方法和事件 TShockwaveFlash主要屬性如下: ReadyState:讀一個flash文件時的狀態; TotalFrames:總幀數,只有當ReadyState = 4時才能訪問該屬性; FrameNum:當前播放的幀; Playing:播放或暫停一個flash; Quality:指定當前渲染的質量,包括0=Low, 1=High、2=AutoLow、3=AutoHigh; ScaleMode:縮放模式,0=ShowAll、1= NoBorder、2 = ExactFit; AlignMode:對齊模式,Left=1、Right=2、Top=4、Bottom=8; BackgroundColor:背景色,-1爲默認顔色; Loop:是否迴圈; Movie:指定播放的flash文件路徑,可以爲一個URL。 TShockwaveFlash主要方法如下: Play():開始播放動畫; Stop();停止播放動畫; Back();播放前一幀動畫; Forward():播放後一幀動畫; Rewind():播放第一幀動畫; SetZoomRect(int left, int top, int right, int bottom):設置縮放的區域; Zoom(int percent):縮放(按百分比); Pan(int x, int y, int mode):縮放播放面板,其中模式0爲按像數、1爲按視窗百分比。 TSetProperty(target:widestring,property_:integer,const value widestring):設定flash中影 片的屬性; TGetProperty(target:widestring,property_:integer):取得flash中影片的屬性; GetVariable(const name:widestring):取得flash中動態文本的值; SetVariable(const name:widestring,const value:widestring):設定flash中動態文本的值; TShockwaveFlash主要事件如下: OnProgress(int percent):讀取一個flash時觸發; OnReadyStateChange(int state):狀態改變時觸發。states的值可以爲0=Loading、 1=Uninitialized、2=Loaded、3=Interactive和4=Complete。 OnFSCommand(const command, args: WideString):可用來讀取flash按鈕中的參數; 三.Delphi與flash的資訊通道 1.利用flash控制項的Fscommand屬性來讀取flash按鈕中的參數及參數的值。 例: 新建一個flash文件,在flash主場景中添加四個按鈕依次在按鈕中添加如下腳本: 第一個按鈕: on (release) { fscommand (”Num1”, ”1”); } 第二個按鈕: on (release) { fscommand (”Num1”, ”2”); } 第三個按鈕: on (release) { fscommand (”Num2”, ”1”); } 第四個按鈕: on (release) { fscommand (”Num2”, ”2”); } 新建一Delphi工程,在Form中添加flash控制項,設置好其movie屬性,雙擊FSCommand事 件,添入以下代碼: procedure TForm1.ShockwaveFlash1FSCommand(Sender: TObject; const command,args: WideString); begin if command=’Num1’ then showmessage(’Num1’); if ((command=’Num1’) and (args=’1’)) then showmessage(’Num1 1’); if ((command=’Num1’) and (args=’2’)) then showmessage(’Num1 2’); if command=’Num2’ then showmessage(’Num1’); if ((command=’Num2’) and (args=’1’)) then showmessage(’Num2 1’); if ((command=’Num2’) and (args=’2’)) then showmessage(’Num2 2’); end; 2.利用flash控制項的Setvariable或Getvariable方法來讀或寫flash動態文本框中的內容。 例: 新建一個flash文件,在flash主場景中添加一動態文本框,將其variavle設爲Text1. 新建一Delphi工程,在Form中添加flash控制項,設置好其movie屬性,再添加二個Button控制項,雙 擊Button1,添入以下代碼: procedure TForm1.Button1Click(Sender: TObject); begin shockwaveflash1.SetVariable(’Text’,’資訊已經到達!’); end; 雙擊Button2,添入以下代碼: procedure TForm1.Button2Click(Sender: TObject); begin showmessage(shockwaveflash1.GetVariable(’Text’)); end; 3. 利用flash控制項的TSetProperty或TGetProperty方法來讀或寫flash影片的屬性。 例: 新建一個flash文件,在flash主場景中添加一影片(MC),將其name設爲MC1. 新建一Delphi工程,在Form中添加flash控制項,設置好其movie屬性,再添加二個Button控制項和timer 控制項,button1的caption設爲Start;button2的caption設爲End;代碼如下: procedure TForm1.Timer1Timer(Sender: TObject); var i:integer; s:string; begin s:=shockwaveflash1.TGetProperty(’MC1’,6); i:=strtoint(s); i:=i-10; s:=inttostr(i); shockwaveflash1.TSetProperty(’MC1’,6,s); end; procedure TForm1.Button1Click(Sender: TObject); begin timer1.Interval :=500; end; procedure TForm1.Button2Click(Sender: TObject); begin timer1.Interval :=0; end; 運行後,可以看到影片的透明度越來越小。shockwaveflash1.TGetProperty(’MC1’,6)語句中的6表示影片的透明度屬性, 其他屬性如下: 0----------->表示影片x座標 1----------->表示影片y座標 2----------->表示影片xscale 3----------->表示影片yscale 6----------->表示影片的透明度 7----------->表示影片可見性 8----------->表示影片的寬度 9----------->表示影片的高度 10---------->表示影片旋轉 小第第一次發表,有何意見儘管往我郵箱裏扔吧!^_^ 如需源碼請Email我,我將會把源碼(Delphi和flash)發過去。 文章作者:雨天 文章來源:自創 作者郵箱:yunantian@mail.china.com
AB
高階會員


發表:166
回覆:262
積分:125
註冊:2003-08-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-21 18:41:14 IP:61.64.xxx.xxx 未訂閱
以下是原作者 回覆的說明 ================================================================== 你好! 資源共享!知識共享! 現給出一個簡單的示例代碼!以供學習!如有不明白的地方!可以提出來 大家一起交流學習! 同時,謝謝你讓更多需要它的人的到了它! 雨天 --------------------------------------------------------------------------------- 免費使用時尚通訊工具 http://ads.china.com/suna/link.html 中華網影音交友社區"X都市萬人迷" http://x.china.com 我存在,因為我是中國人!中華網信天郵 http://mail.china.com 中華網企業郵箱,商務成功的標誌 http://corpmail.china.com ==================================================== 先進 作者的熱心分享 下載位置 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=42481 發表人 - ab 於 2003/12/21 18:49:35
系統時間:2024-05-18 5:00:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!