利用VFP脚本开发动态Web系统
来源:优易学  2011-12-9 18:27:54   【优易学:中国教育考试门户网】   资料下载   IT书店
  编写的一个软件系统VfpWeb,讨论了VfpWeb的功能、用途、特点及脚本程序的编写方法。提出利用VfpWeb进行网站设计制作的方案。

  网站设计 众所周知,VFP是一个数据库管理系统,对于中小型数据库,他是非常得心应手的,但利用VFP开发Web系统、制作网站,可能许多人都没听说过。制作网站最传统的方法就是用ASP,ASP脚本中可以使用VbScript与JavaScript两种脚本语言。下面要介绍的就是如何在ASP中使用另一种语言VFP进行脚本程序的编写。当然,ASP本身是不能使用VFP程序的,为了能使用VFP,笔者专门开发了一个名叫VfpWeb的接口系统,该系统使得在ASP下使用VFP脚本程序成为可能。

  1 VfpWeb介绍

  VfpWeb是一个ASP的VFP接口系统,使用他之后就可以像在ASP中使用VbScript与JavaScript脚本那样,用VFP编写脚本程序了。用VfpWeb并不是仅仅能使用DBF数据库,而是可以真正用VFP程序进行编程。系统的实现原理是ASP调用VfpWeb的COM接口,再由COM接口调用VFP脚本程序,完成系统的工作。由于系统是一体化的,这些调用关系都是透明的,对用户来讲是不需要掌握的。因此系统的使用并不比直接用ASP麻烦。

  由于系统的本质还是ASP,因此系统是需要ASP支持的,也就是说,必须先安装WEB服务器。VfpWeb支持Windows 98/Me下的PWS与Windows 2000下的IIS。系统安装后包括内核、管理工具与示例。管理工具进行脚本编辑与编译等工作,内核部分以DLL文件的方式提供发布服务。系统目前用于VFP7.0版,需要7.0版的VFP支持。虽然发布只需要VFP7.0的几个动态链接库,但最好安装开发环境,以便直接开发。 VfpWeb脚本文件不需要放在Web发布树中,因此客户端是无法查看到源程序代码的,这样可以起到保密的作用。

  2 VfpWeb脚本程序格式

  VfpWeb脚本程序的扩展名为FWX,是一个文本文件。其内容是HTML文本与VFP脚本程序的组合。所有的VFP脚本程序应该放在<%与%>中,即在<%%>内的是VFP脚本程序,其外的是HTML文本。这些与ASP的结构是一样的。FWX文件由系统编译成FXP文件,在ASP中调用,因此,使用VfpWeb并不排斥继续在ASP中使用另外2种脚本程序。

  HTML文本块的格式:HTML文本块中可以使用各种HTML标签。包括HTML注释:即写在<!--与-->之间的内容,浏览器忽略其内容,一般用于注释及编写客户端脚本程序用,VfpWeb对其不做任何外VfpWeb增加了一种注释,内容放在<*与*>之间,其内容在编译时就直接丢弃,因此不会发送到客户端。

  在HTML文本中,用<%=表达式%>的格式可以直接输出VFP表达式的值。表达式可以是任意类型的,系统会自动转换为字符串与HTML文本进行合并。 HTML块与VFP脚本块可以任意混合,甚至在一行中也可以多次相互变换。

  在VFP脚本块中,VfpWeb增加了在一行中写多条语句的功能,只需在多条语句之间用“:”隔开即可(系统可以自动区分语句中的冒号)。这样把有关的几条语句写在一行中,可以增加程序的可读性。

  3 VfpWeb脚本程序的使用

  由于所有的脚本程序都在服务器端后台执行,因此在VFP脚本程序中,不能使用任何有输入输出的语句或函数(如:WAIT,GETFILE()等)、表单及控件、报表、内存清理语句等。若在程序中有这些语句,大部分会出错。在没打开表的情况下操作表,若在普通VFP环境下,会自动提示打开对话框;而在VfpWeb中则会产生错误,原因是出现了界面。除此以外,脚本程序还可以使用VFP提供的语句与函数、数据库与表的操作等,包括OOP编程方法。

  脚本编译后,会自动在Web根文件夹中,生成一个与FWX文件同名的ASP文件。在浏览网页或网页的超链接中要使用此ASP文件。

  有关的ASP内置对象在VFP脚本中可以直接操作。VfpWeb系统已经定义了Request,Response,Server,Session和VfpWeb共5个对象,其中前4个就是ASP中同名的对象,VfpWeb对象则是本系统新增加的,目前系统没有Application对象。VfpWeb对象的方法和属性与ASP的类似,大部分是相同的。当然,使用对象的属性与方法是用VFP的语法,而其中有一部分与ASP的VBScript有点区别。如ASP中的对象使用集合,在VFP中不能操作对象,因此ASP中所有集合的操作,在VfpWeb中都用相应的方法代替,如Cookies集合就用SetCookie()及GetCookie()方法来操作。

  VfpWeb系统除了保留绝大多数ASP内置对象的属性与方法外,还添加了一些新的方法,如:在Request对象中增加了一个Upload()方法,他可以直接接受客户端上载的多个文件,保存在指定的目录下;又如:Server对象的HtmlEncode()方法增加了对空格和回车等编码的可选参数,增加了UrlDecode()方法对URL进行解码。

  若使用VfpWeb的管理工具进行脚本程序编写,可以利用VFP7.0提供的智能感应功能快速输入程序。系统已经对VFP7.0的智能感应进行了增强,由于系统认识VfpWeb的对象,输入对象名及点之后,属性与方法名称会自动列出,并提示方法的相应参数的用法。

  由于脚本的结构与ASP的基本相同,因此脚本也可以利用FrontPage,DreamWeaver等网页制作软件编写,但这对于编辑VFP脚本的部分是不方便的。所以,可以既根据脚本的特点任意选用编辑软件,也可以同时使用,相互剪贴。

  4 VfpWeb的特点

  由于VfpWeb就是ASP+VFP,因此VFP的特点就是VfpWeb的特点。VFP提供了大量的语句与函数可以直接操作表,以及VFP具有Rushmore技术,因此使用VFP进行编程时,可以快速、方便地操作VFP的数据库与表。其次,由于VFP是直接操作数据库的,并不像ASP必须通过ADO等方式才能与其他数据库连接,因此从使用的方便性及速度方面来讲,ACCESS之类的数据库是远远不及VFP的。另外,使用VfpWeb系统,可以使得后台数据库、Web发布在一台普通的机器上就可方便快速地运行。当然,VFP也可以连接SQLServer等大型数据库,不过对于几十万条记录以内的表,VFP已经能轻松处理,一般不需再用其他的更高档的数据库系统了。

  VFP除了数据库的操作非常方便快速外,作为一种编程语言,其功能也是非常强的,如其具有大量的字符串操作、文件操作的函数与语句,使用非常方便。而对文件的操作,VBScript只能用一个可怜的FSO对象操作。因此编写功能类似的一个动态网页,用VfpWeb编写的代码要比用VBScript编写的代码简练得多。

  更重要的是,利用VFP制作网站的方法的应用范围非常广泛。对于非计算机专业的网站制作者,如大中学的教师、普通工程技术人员、普通公务员、大学非计算机专业的学生等,特别是年纪大一点的人,可能对VB或JAVA之类的根本不懂,也较害怕去学,若还要他们再学习SQLServer之类的数据库,并要学会在ASP中如何连接、操作数据库,对他们来说是非常困难的。但是由于FoxBase/FoxPro曾在中国风行多年,他们中的许多人多少都懂得一些VFP或FoxPro方面的编程知识,对于这些人来讲,VfpWeb刚好可以解决上述矛盾,他们只需掌握一些VFP及HTML的知识就可制作网站了。因此,对于普通的网站制作者来讲,本系统的确是一个简便易行的操作方案。

  5.结 语

  IT领域一直有这样一种观点,VFP不能编写B/S(Browser/Server)方式的软件系统,这个观点一直让VFP抬不起头。有人说VFP在单机、F/S及C/S方式的数据库管理方面功能这么强,不能做B/S方式的太可惜了(其实直接也能用,只是太麻烦了,会的人又太少)。现在我可以大胆地说,通过笔者编写的VfpWeb,VFP也能方便地开发B/S系统,并能便捷地制作网站。

  笔者的VfpWeb系统在网上推出后,得到了极大的反响。因此特地把他介绍给大家,希望能对广大VFP爱好者有所帮助。目前VfpWeb的版本是用于VFP7.0的,用于VFP8.0的版本将马上推出。对于系统,笔者将继续修改、扩充,不断完善。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训