FLASH文件与外部文件的数据交换

FLASH 提供了与外部文件进行数据交换的功能，这无疑是扩大了 FLASH 的应用范围。FLASH 与外部联姻的最典型文件格式是TXT文件和ASP文件。前者可在客户机运行，后者要服务器支持。此外，也可以直接接受HTML文件的变量。下面分别进行介绍。

FLASH 能接受的变量格式为： 变量名=变量值 .FLASH 支持多变量接受, 将上格式的多个变量分别用 & 分隔便可。

1. 从HTML 页面中向FLASH 传送变量：

1.1 把调用SWF文件的那条语句:
<param name=movie value="您的SWF文件.SWF">改为:<param name=movie value="您的SWF文件.SWF?变量名=变量值">
此时，SWF文件中就能接受到变量。

1.2 如果要在同一个HTML文件中传送多个变量则书写格式为：
<param name=movie value="您的SWF文件.SWF?变量名1=变量值1&变量名2=变量值2&变量名3=变量值3">

1.3 在SWF文件中设一文本字段,其字段的名（变量名）设置成与HTML文件传送的变量名相一致。

1.4 运行HTML文件，可见调用的SWF文件中显示出HTML中的变量。

2. 从TXT文件中读取变量:

2.1 建立一个TXT文件，文件中的变量书写格式为：
txt1=这是FLASH读取TXT文件 ,其中“txt1” 是变量名，“这是FLASH读取TXT文件” 是变量值。

2.2 如果要在同一个TXT文件中设置多个变量则书写格式为：
txt1=data1&txt2=data2.......

2.3 在SWF文件中设一文本字段,其字段的名（变量名）设置成与TXT文件中的变量名相一致，要读取多少个变量，就设多少个字段。

2.4 在关健帧上设Actions
双击关健帧，弹出Actions设置框，单击"+"号和Load/Unload Movie.
选择"Load Variables Into Location" 在URL输入框内输入你的TXT文件名(例如flashtxt.txt). 选择Target. 最后选择Variables中的Send using GET.
全部Actions如下：
Load Variables ("flashtxt.txt", "",vars=GET)

2.5 运行SWF文件，您可以看到TXT文件中的变量在SWF文件中显示。
当然，FLASH所接受的变量不仅是可以显示，还可以在FLASH中作为其它用途，比如作为Acyions的参数使用等等，您可以发挥您的想像，创造出很多的用途。

3. 从ASP文件中读取变量:
关于ASP文件，这里不准备作详细介绍，只讲涉及FLASH读取部份的内容。先介绍一个ASP的内置对象：response 。这个对象用来从服务器向客户机传送信息。其中 Response.Write 是输出信息的方法。对象是另一个是Server。
Server.URLEncode 方法则把ASP中的字符串作为URL格式编码为目标字符串，这正是FLASH所能接受的格式。好了，下面具体讲述：

3.1 编写ASP 文件。（具体内容视功能而定）

3.2 在ASP文件设置中向客户机输出的语句。如：
<% m0="OK" response.write("m1="+Server.URLEncode(m0)) %>
("m1="+Server.URLEncode(m0))是保证输出的变量格式为：
变量名=变量值。这一点最为重要，否则接受会不成功。
多个变量输出到SWF文件则用&联接如：
response.write("m1="+Server.URLEncode(m1))
response.write("&m2="+Server.URLEncode(m4))

3.3 SWF文件中设文本字段，这和上面（一）（二）所讲的方法和要点相同。本例SWF文件中文本字段名为m1。

3.4 在关健帧上设Actions
双击关健帧，弹出Actions设置框，单击"+"号和Load/Unload Movie.
选择"Load Variables Into Location"在URL输入框内输入你的ASP所在的URL和文件名(例如：http://***.***.****.***/js.asp). 选择Target.
最后,选择Variables中的Send using GET.
全部Actions如下：
Load Variables ("http://***.***.****.***/js.asp", "", vars=GET)
由于ASP文件是在服务器端运行的，所以文件名前要加上服务器的地址，这一点也要注意。

3.5 保证与服务器是联接的并运行SWF的HTML文件，可见变量m1的值“OK”显示在SWF文件中。

4. 向ASP文件中输送变量：
这是3的相反过程。 也先介绍一个ASP的内置对象：Request 这个ASP对象的作用是从客户机获取信息。 Request.form 表方法就是从客户机取得表单信息，如Request("REMOTE_ADDR")，加上REMOTE_ADDR参数则取得客户机的IP地址
.....这些已经不是FLASH的相关内容了，就此打住，讲正题：

4.1 在ASP文件中设读客户机表单的语句：如：m3=Request.form("input")

4.2 在SWF文件设文本字段，并定义为可编辑输入的字段。（不应该不会吧？），另设一个文本字段用来接受ASP处理后的变量，方法与（2）同不另。注意文本字段名要与ASP文件中所接受的变量名一致，本例为“input“。

4.3 在SWF中设一个按钮，在按钮Actions上设脚本指令。（相当于HTML的

发送按钮，总要让FLASH知道什么时候发送吧）双击按钮，选择Actions，弹出Actions设置框，单击"+"号和Load/Unload Movie.
选择"Load Variables Into Location"在URL输入框内输入你的ASP所在的URL和文件名(例如：http://***.***.****.***/js.asp). 选择Target.
最后,选择Variables中的Send using POST表单发送是以POST传送的)
全部Actions如下：
Load Variables ("http://***.***.****.***/js.asp", "", vars=POST)

4.4 保证与服务器是联接的并运行SWF文件，运行SWF的HTML文件，显示出输入框，随便输入几个字，点发送按钮，可见您输入的变量值经过ASP又由您的FLASH读也显示的SWF文件中。
到目前为止，您已经掌握了ASP文件与FLASH文件的接口要点，实际上FLASH做的留言本、计数器、聊天室的基本接口技术不过如此。