在flash中控制delphi程序的方法

时间:2022-06-20 09:56:59

在flash中控制delphi程序的方法

[摘要]通过介绍Flas如何传递命令和参数给Delphi,从而实现通过丰富的flas界面,控制delphi程序运行的目的。

[关键词]flashDelphi传递命令

中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1120032-01

在delphi中尽管有许多第三方界面控件,但制作一个能够与flash相媲美的绚丽的程序界面确实不容易。既然这样,那么我们能不能采用flash制作程序界面,在flash界面中控制delphi程序的运行与显示呢?

熟悉delphi的朋友一定都知道,在delphi中我们可以通过安装shockwaveflash这个控件来实现在delphi程序中flas的播放、元件的控制。反过来我们能不能在flas中来控制delphi程序呢?毫无疑问,这一定是能够做到的。我们不但可以用flas来封装delphi应用程序的界面,并且可以通过flas来控制delphi程序的运行。

要想让flas控制delphi程序,我们必须先在flas的设计过程中加入一些action script(简称as)脚本语言,在flash的as中有一个叫做fscommand()的函数,它的主要功能就是发送FScommand命令,例如使动画全屏播放,隐藏动画菜单,更重要的就是可以与外部文件和程序进行通信,(而在delphi程序中,我们就是利用的shockwaveflash控件的fscommand()过程来完成这一通信过程,实现信息发送的功能),并且根据发送出来的不同的命令及参数来实现对delphi程序的控制。

下面我就以一个简单的程序来说明:

1.首先建立一个名为shili的flash文件,在主场景中放进一个名为“显示一”的按钮和一个名为“显示二”的按钮。

2.然后分别为这两个按钮加入as:

//发送xianshi命令,这个命令名可以自定义。

on(release){ //“显示一”按钮释放后向程序发送参数

on(release){ //“显示二”按钮释放后向程序发送参数

fscommand("xianshi ","2");}

这段as的主要作用是:当鼠标点击按钮后发送“xianshi"命令,“1”、“2”是fscommand()函数的参数,其书写和大小在as中和delphi程序中必须保持一致。这样动画中的工作就完成了,生成动画文件存储在与下面生成的delphi程序同一目录下,接下来的就是delphi中的事了。

3.在Delphi中使用FlashActiveX控件

要在Delphi中播放flash依赖于FlashActiveX控件,所以我们要先安装它。运行Delphi后,选择选单ComponentImport ActiveX Control,找到SWFlash.OCX(或者Shockwaveflash.ocx) 文件进行安装。安装完成后,ActiveX面板里出现TShockwaveFlash控件,这是Delphi对FlashActiveX控件的封装,现在我们就可以用这个控件来播放Flash了。

4.建立delphi程序

新建一Delphi工程,在Form中添加flash控件。

设置ShockwaveFlash1的 align属性值为alclient,使flash界面随窗口大小而调整

在FormCreate事件中添加

ShockwaveFlash1.Movie:=GetCurrentdir+'\shili.swf';//载入生成的flash文件。

在ShockwaveFlash1控件的onFSCommand事件中填写如下代码:

procedure TFrmMain.Flash1FSCommand(Sender: TObject; const command,args: WideString);

这样,程序就完成了。程序运行的时候单击flas中按钮,按钮会传递命令和参数给delphi程序,delphi程序中ShockwaveFlash1控件的onFSCommand事件会接收flas传递的命令和参数,分析判断后执行相应的功能。这种方式能够满足程序既要丰富的界面显示功能,又要强大的数据处理和数据库功能的要求。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

上一篇:应用WEB标准进行网站重构的探讨 下一篇:药监系统电子政务系统的设计及其关键技术的研...