flash和DELPHI(50分)

  • 主题发起人 主题发起人 jobsxy
  • 开始时间 开始时间
J

jobsxy

Unregistered / Unconfirmed
GUEST, unregistred user!
为了强调效果,我现在做的网页全是FLASH的SWF文件,包括一些动态网页,
如显示查询结果。我知道用DELPHI做的ISAPI可以很容易地在网页模板文
件里更替数据,可FLASH的SWF文件我就不知道如何搞定了,我研究了一下
FLASH,发现它可以支持JAVA,可惜我还不懂JAVA,想学也没时间了,只
想用DELPHI能对FLASH的SWF文件传递数据,不知有哪位高手能不能指点一二
分数先暂为50分吧,就怕搞不定浪费了,: ),如果搞定分数好说。
 
Flash中有FSCommand可以向网页传送命令和参数,不过只支持JavaScript.但是你可
能找一些Flash参考书看一下。只要简单学一些FSCommand的命令就行了,不要去学
JavaScript的(不过知道一些总是好的)。由于FSCommand命令很多,我不能在这儿一一说明了:-(
 
FSCommand命令我也研究了一下,可我不懂JAVA,只会用DELPHI做一点点ISAPI,
有没有办法把这两者给结合一下了?
 
愿意和大家共享:

FLASH是Macromedia公司出品的,用在互联网上动态的、可互动的shockwave。它的优点是体积小,可边下载边播放,这样就避免了用户长时间的等待。

---- FLASH可以用其生成动画,还可在网页中加入声音。这样你就能生成多媒体的图形和界面,而使文件的体积却很小。

---- FLASH虽然不可以象一门语言一样进行编程,但用其内置的语句并结合JAVASCRIPE,您也可作出互动性很强的主页来。

---- FLASH另外一个特点就是必须安装插件PLUG-IN,才能被浏览器所接受!当然这也避免了浏览器之间的差异,使之一视同仁!

---- 但是你知道吗?在delphi中可以直接打开flash动画,并控制它播放和停止。你还可以得到它的总帧数,知道怎么实现的吗?请跟我来。

---- 在delphi中的Component|Import ActiveX Contrals...中选中 "Shockwave Flash(Version 1.0)",并单击Install, 会出现一个install窗口。

---- 如果要把它添加到一个已经存在的包中,在"into existing package"对话框中的"File name:"窗口中选择你想安装的路径,并单击"OK";会弹出一个确认的对话框,它问你"Package dclusr50.bpl will be rebuilt. Continue?",单击"Yes";在弹出的窗口中单击击"install",该插件就安装完毕。

---- 如果要把它添加到一个新建的包中,在"into new package"对话框中的 "File name:"窗口中选择你想安装的路径,并新建一个包,假如命名为test,并单击"OK";它问你"Package test.bpl will be built. Continue?",单击"Yes"。 在弹出的窗口中单击击"install",该插件就安装完毕。

---- 这时,你会在控件条的ActiveX下发现一个新的控件,名字为ShokewaveFlash, 单击它把它放在form中,在该form中放一个OpenDialog控件和一个panel,在该panel上放四个button,他们的caption属性分别命名为"Openfile","Play","Stop","Close".设置panel1,ShockwaveFlash的Align 属性分别为Alleft 和AlClient;分别在这四个Button的OnClick事件中写下如下代码:

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
ShockwaveFlash1.Movie:= OpenDialog1.FileName;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ShockwaveFlash1.Play;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ShockwaveFlash1.StopPlay;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
ShockwaveFlash1.FreeOnRelease;
close;
end;
---- 你可以得到打开的flash图像的总帧数.
---- 在panel1上添加一个label,在form1的OnClick事件中写下如下代码:

procedure TForm1.FormCreate(Sender: TObject);
begin
label1.caption:=shockwaveflash.totalframes;
end;
你还可以控制该打开的flash图像从那一帧开始播放,
在panel1上添加一个button和一个Edit控件,

在该button的OnClick事件中添加如下代码。
if ShockwaveFlash1.playing then
ShockwaveFlash1.GotoFrame(SpinEdit1.Value);
ShockwaveFlash1.Play;

---- 在edit中填上你想跳到的帧,并单击该button,你即可实现该功能。
---- 怎么样,试试吧,效果还不错吧。
 
kang_en:
哪有Shockwave Flash(Version 1.0)这个包?
delphi 只有shockwave active control ...
请给我发一个
mailto :buptwqs@263.net
Thank you...
 
我看了一下你的描述,是不是只能对FLASH的播放进行控制,可FLASH和数据库如何
交换数据呢?非要用JAVA吗?
 
诸高手再给点提示吧。
 
一个笨办法:都有文件进行数据交流。(Flash支持文件操作哦)
 
to beta:
你的意思是不是我把数据生成一个文件,然后FLASH调用这个文件的数据?
如果这样做,网上多个人方问,是不是要生成多个文件?而且什么时候我
该把生成的文件删掉了?
 
Shockwave Flash(Version 1.0)这个包,
delphi 5.0 安装之后就有啊!

用flash搞什么数据库图象啊?!
 
to kang_en: flash可以取代网页,作出的东西的确与众不同。
 
诸位老兄,还有没有高招呢?
 
:jobsxy

Flash 可以取代网页,但是传递参数可差远了(只能SWF与SWF之间传,具体做法是Load Moive)
而JaveScript or VBscript 就可以通过test.htm?参数名1=参数1&参数名2=参数2
所以……通常要么就完全用Flash要么就只让Flash做专供浏览的网页……

 
唉,没高手能搞定啦?
 
Shockwave Flash(Version 1.0)这个包
可不是安装了Delphi5后就有的,而装了Shockwave Flash(Version 1.0)才有。
当然没有专门的Shockwave Flash(Version 1.0)安装包,它是同其它一起发行的。
如安装IE5时同时选装了Flash组件。

只要你的机器不管是哪个程序可以读取Flash就有了这个控件。
但你们想在ISAPI中用它,这可不行,这不是一回事的。
不能这样用的。
 
是啊程云,那个控件对我似乎根本没有帮助。
to Atomic: 我现在的确是想整个网站用FLASH搞定,因为我们网站的方案已经确定
用FLASH,不过里面有部分需和数据库打交道,这可给我出了难题,现在我把难题
也出给大家吧。
 
能不能用Flash的 GET URL 来实现?
我的意思是:
传参数时用 GET URL 将一个CGI网页,或ASP网页打开,将参数传给CGI、ASP。
然后在他们中同样根据参数调用SWF……

Not sure.
SWF可不可以 asdf.swf?x=32&y=1
这样?
 
唉,还是没解,算了发分吧。
 
Hi, jobsxy
<a href=DispQ.asp?LID=306295>Bukoo Flash Objects</a> can be used to create SWF in Delphi or ASP.
 
后退
顶部