注册
 找回密码
 注册
江西广告网
查看: 469|回复: 0
打印 上一主题 下一主题

flash与asp的结合应用实例之一 论坛的实现(下)

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2007-4-26 22:11:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  三、查看具体内容部分   查看具体内容部分的原理跟查看主题部分的原理类似:向服务器端发送请求,根据返回情况显示返回内容。   a、 asp部分   新建一个空白文件,命名为show.asp,内容如下:   注释1部分为根据id号去查询相应的记录内容。注释2部分为查到相应的记录,返回记录内容。注释3部分为没有找到相应的记录,返回id的值为0。   b、 flash部分   1、新建一个组件,命名为“showloop”,在第一帧的action面板上增加下面的语句: _root.count = 0; stop();   在第五帧上插入关键帧,在其action面板上插入如下语句: if (!(_root.id)) { _root.count = _root.count + 1; if (_root.count > 50) { _root.gotoandplay("netfalse"); _root.showloop.gotoandstop(1); } _root.showloop.gotoandplay(2); } else if (_root.id == "0") ‘注释1 { _root.showtxt = "找不到符合条件的记录"; }else { _root.showtxt =_root.id add _root.author add _root.sub; ‘注释2 _root.showloop.gotoandstop(1); _root.gotoandplay("show"); }   注释1部分为没有找到相应的记录,注释2部分为显示返回的记录内容,并跳转到相应的界面。   2、将组件“showloop”从图库中拖放到场景中,命名为“showloop”。   3、在场景中的“查看”button的action面板上依次增加下面的语句:   button 0上增加: on(release){ loadvariables("show.asp?id=" add _root.id0, this, "post"); _root.showloop.gotoandplay(2); }   button 1上增加: on(release){ loadvariables("show.asp?id=" add _root.id1, this, "post"); _root.showloop.gotoandplay(2); }   button 2上增加: on(release){ loadvariables("show.asp?id=" add _root.id2, this, "post"); _root.showloop.gotoandplay(2); }   button 3上增加: on(release){ loadvariables("show.asp?id=" add _root.id3, this, "post"); _root.showloop.gotoandplay(2); }   button 4上增加: on(release){ loadvariables("show.asp?id=" add _root.id4, this, "post"); _root.showloop.gotoandplay(2); }   button 5上增加: on(release){ loadvariables("show.asp?id=" add _root.id5, this, "post"); _root.showloop.gotoandplay(2); }   button 6上增加: on(release){ loadvariables("show.asp?id=" add _root.id6, this, "post"); _root.showloop.gotoandplay(2); }   button 7上增加: on(release){ loadvariables("show.asp?id=" add _root.id7, this, "post"); _root.showloop.gotoandplay(2); }   这些action无非就是向服务器端发送请求,启动循环,只是发送的参数不同而已。   4、在主场景中的第15帧插入关键帧,帧标签为“show”,在其action面板上插入:stop(); 场景中的布局如图6所示。其中文本框的属性设置如图7所示。在“返回”button的action面板上增加下面的语句: 图06 图07 on(release){ _root.gotoandplay("main"); }   四、发表新主题部分   发表新主题的原理为:向服务端发送要发表的内容,服务器端做相应的操作之后返回操作结果。   a、 asp部分   新建一个文件,命名为insert.asp,其内容如下:   注释1部分为向数据库中插入相应的值,注释2部分为返回操作的结果。   b、 flash部分   1、新建一个组件,命名为“insertloop”,在其第一帧的action面板上增加下面的语句: _root.count = 0; stop();   在第五帧上插入关键帧,在其action面板上增加下面的语句: if (!(_root.insert)) { ‘注释1 _root.count = _root.count + 1; if (_root.count > 50) { _root.gotoandplay("netfalse"); _root.insertloop.gotoandstop(1); } _root.insertloop.gotoandplay(2); } else ‘注释1 { _root.gotoandstop("show"); _root.showtxt = "插入成功,请返回"; _root.insertloop.gotoandstop(1); }   注释1部分为检查是否已经有返回的操作结果。注释2部分为根据返回的结果跳转到相应的界面。   2、回到主场景第10帧,在“发表”button的action面板上增加下面的语句: on (release){ _root.gotoandplay("insert"); }   3、在主场景的第20帧上插入关键帧,设帧标签为“insert”,在帧的action面板上增加下面的语句:stop();   场景的布局如图8所示。其中标题所对应的文本框的设置如图9所示,正文所对应的文本框的设置如图10所示。 图08 图09 图10   4、将组件“insertloop”从图库中拖到第20帧的场景中,命名为“insertloop”。   c、 小结与提高   注意在这里一定要从服务器端返回操作结果,不然flash中不会知道操作的情况。论坛的回复功能也差不多的制作方法,在这里就不再实现了。   五、删除部分   删除部分的原理为:向服务器端发送要删除的记录的id号,服务器端进行相应的操作后返回操作结果。   a、 asp部分   新建一个文件,命名为del.asp,内容如下:   注释1部分为根据id号去删除记录,注释2部分为返回操作结果。   b、 flash部分   1、新建一个组件,新建一个组件,命名为“delloop”,在其第一帧的action面板上增加下面的语句: _root.count = 0; stop();   在第五帧上插入关键帧,在其action面板上增加下面的语句: if (!(_root.del)) { ‘注释1 _root.count = _root.count + 1; if (_root.count > 50) { _root.gotoandplay("netfalse"); _root.delloop.gotoandstop(1); } _root.delloop.gotoandplay(2); } else ‘注释2 { _root.gotoandstop("show"); _root.showtxt = "删除成功,请返回"; _root.delloop.gotoandstop(1); }   注释1部分为检查是否已经有返回的结果,如果没有则继续循环。注释2部分则根据返回的结果进行相应的处理。   2、将组件“delloop”从图库拖到场景的第10帧上,命名为“delloop”。   3、在场景中的“删除”button的action面板上依次增加下面的语句:   button 0上增加: on(release){ loadvariables("del.asp?id=" add _root.id0, this, "post"); _root.delloop.gotoandplay(2); }   button 1上增加: on(release){ loadvariables("del.asp?id=" add _root.id1, this, "post"); _root.delloop.gotoandplay(2); }   button 2上增加: on(release){ loadvariables("del.asp?id=" add _root.id2, this, "post"); _root.delloop.gotoandplay(2); }   button 3上增加: on(release){ loadvariables("del.asp?id=" add _root.id3, this, "post"); _root.delloop.gotoandplay(2); }   button 4上增加: on(release){ loadvariables("del.asp?id=" add _root.id4, this, "post"); _root.delloop.gotoandplay(2); }   button 5上增加: on(release){ loadvariables("del.asp?id=" add _root.id5, this, "post"); _root.delloop.gotoandplay(2); }   button 6上增加: on(release){ loadvariables("del.asp?id=" add _root.id6, this, "post"); _root.delloop.gotoandplay(2); }   button 7上增加: on(release){ loadvariables("del.asp?id=" add _root.id7, this, "post"); _root.delloop.gotoandplay(2); }   这些按钮上面的action是向服务器端发送要删除的相应记录的id,同时开始循环,等待返回结果。   4、新场景   在第25帧上插入关键帧,帧实例名为“netfalse”,在帧的action面板上增加下面的语句: stop();   场景的布局如图11所示。 “返回”button的action面板上增加下面的语句: 图11 on (release) { _root.gotoandplay("login"); }   c、 小结与提高   删除记录也一定要返回操作结果以方便控制流程。还要注意的是,一般论坛中的删除记录功能是需要一定权限的,所以在完善功能的时候要控制用户的权限。   六、总结   至此,一个比较完善的论坛功能就算完成。在这里重点是介绍功能的实现,至于界面就还要请大家多多包涵了。如果在制作过程中有什么不明白的地方,可以一边参考源文件一边制作,也可以给我写e-mail: zengyu111@sohu.com。   本实例的开发环境和开发工具如下:win2000 advanced server、iis5.0、sql server2000、flash mx、记事本。注意论坛的效果要先将文件放在iis里面才能看到。   附录:数据库字段   在本实例中用到两个表:用户表(userinfo)和内容表(bbsinfo),其字段如下所示。   userinfo表有userid、password两个字段。   bbsinfo表有id、title、author三个字段。   可以根据应用的需要增加相应的字段。 -------------------------------------- 拥有三人行论坛管理系列软件,一个人就可以管理一个论坛的更新维护。还能使您的论坛有千人在线的真实火暴效果,让您不在为论坛因没有人气而留不住会员而烦恼,使您的论坛早日成为一流的论坛。详情请登陆网站:http://www.cnsrx.cn 三人行论坛管理软件,站长必备的专业好工具。(您使用的是免费版本,购买收费版本后,将不带广告。业务QQ:247216 44985227)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表