新手上路
入门动画
高级创作
 
总体导航图
学习指南
当前位置:多媒体应用基础>>多媒体创作工具>>FLASH专区>>高级创作>>结合ASP制作留言板(二)
高级创作
结合ASP制作留言板(二)

2.ASP完成的操作

ASP程序完成的是最基础的工作:读取和写入;其它的功能,比如显示、浏览方式等是由 Flash 动画来完成的。下面是asp文件的代码:

subject = request("sub")
author = request("author")
content = request("content")//sub、author、content三个参数在flash动画中定义,并传给asp
action = request("action")
if (action <> "add") then
  set fin = Server.CreateObject("Scripting.FileSystemObject")
  filepath = Server.MapPath("guest.txt")
  set f = fin.OpenTextFile(filepath)
buf = f.readAll//把文本文件 guest.txt 中所有数据读入 buf
response.write(buf)   //将所得结果全部返回给 Flash

f.close
end if //前面的代码用于读取

if (action = "add") then
  set fin = Server.CreateObject("Scripting.FileSystemObject")//先读取文件
  filepath = Server.MapPath("guest.txt")
  set f = fin.OpenTextFile(filepath)
  line = f.readline//先读入第一行,因为第一行有总的个数
  total = int(mid(line,8))//将 &total=n 中的 n 提取出来,并转成整型
  buf = f.readAll//其余内容读入缓冲区
  f.close

set fout = Server.CreateObject("Scripting.FileSystemObject")
  Application.lock//写文件之前先锁定

  filepath = Server.MapPath("guest.txt")
  set f = fout.CreateTextFile(filepath,TRUE)

  total = total + 1//总数添加一个
  f.writeline "&total="&total//将新数据写入文件
  f.writeline "&sub"&total&"="&subject
  f.writeline "&name"&total&"="&name
  f.writeline "&text"&total&"="&text
  f.write buf//将缓冲区的旧数据写回

  f.close

  Application.unlock//解开锁定
  response.write("&added=1")//返回成功写入的标志

end if

下面对程序做进一步的说明:

buf 在这里很关键,它保存着目前留言板上的所有信息。程序中实现的是:把老信息保留,然后添加入新的信息,再把老信息加在后面。这是程序的主要功能。

Application.Lock 和 Application.Unlock 是保护文件的方法,因为有可能出现大家一起读写一个文件的情况,会使数据丢失。使用它们就可以避免这种现象。

total = int(mid(line,8)) 是简单的 VBSCRIPT (ASP中可以使用的两中语言之一,另一中是JAVASCRIPT)语句,因为 line 读进来以后应该是“&total=2”,我们需要的是2,但是 Flash 需要“&total=xxx”,所以必须要这样做,使用 mid() 函数可以帮助我们得到“=”号后面的数据2。int() 则把得到的字符型数据转换成整型,使之可以进行运算。

上一页 下一页   下一个知识点
¨flash编程基础¨ ¨精确下载制作¨ ¨制作音乐开关按钮¨ ¨洋葱皮效果¨
¨制作动画控制面板¨ ¨结合asp制作留言板¨ ¨用Generator作后台数据库¨ ¨使用新技术xml¨