在ASP中使用VFP编写脚本程序
网站设计众所周知,VFP是一个数据库管理系统,对于中小型数据库,他是非常得心应手的,但利用VFP开发Web系统、制作网站,可能许多人都没听说过。制作网站 最传统的方法就是用ASP,ASP脚本中可以使用VbScript与JavaScript两种脚本语言。下面要介绍的就是如何在ASP中使用另一种语言VFP进行脚本程序的编写。
1、VfpWeb介绍
VfpWeb是一个ASP的VFP接口系统,使用他之后就可以像在ASP中使用VbScript与JavaScript脚本那样,用VFP编写 脚本程序了。用VfpWeb并不是仅仅能使用DBF数据库,而是可以真正用VFP程序进行编程。系统的实现原理是ASP调用VfpWeb的COM接口,再 由COM接口调用VFP脚本程序,完成系统的工作。由于系统是一体化的,这些调用关系都是透明的,对用户来讲是不需要掌握的。因此系统的使用并不比直接用 ASP麻烦。
由于系统的本质还是ASP,因此系统是需要ASP支持的,也就是说,必须先安装WEB服务器。系统安装后包括内核、管理工具与示例。管理工具进行脚本编辑与编译等工作,内核部分以DLL文件的方式提供发布服务。系统目前用于 VFP7.0版,需要7.0版的VFP支持。虽然发布只需要VFP7.0的几个动态链接库,但最好安装开发环境,以便直接开发。
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进行解码。
由于脚本的结构与ASP的基本相同,因此脚本也可以利用FrontPage,DreamWeaver等网页制作软件编写,但这对于编辑VFP脚本的部分是不方便的。所以,可以既根据脚本的特点任意选用编辑软件,也可以同时使用,相互剪贴。
4、VfpWeb的特点
由于VfpWeb就是ASP+VFP,因此VFP的特点就是VfpWeb的特点。VFP提供了大量的语句与函数可以直接操作表,以及VFP具有 Rushmore技术,因此使用VFP进行编程时,可以快速、方便地操作VFP的数据库与表。其次,由于VFP是直接操作数据库的,并不像ASP必须通过 ADO等方式才能与其他数据库连接,因此从使用的方便性及速度方面来讲,ACCESS之类的数据库是远远不及VFP的。另外,使用VfpWeb系统,可以 使得后台数据库、Web发布在一台普通的机器上就可方便快速地运行。当
VFP 除了数据库的操作非常方便快速外,作为一种编程语言,其功能也是非常强的,如其具有大量的字符串操作、文件操作的函数与语句,使用非常方便。而对文件的操 作,VBScript只能用一个可怜的FSO对象操作。因此编写功能类似的一个动态网页,用VfpWeb编写的代码要比用 VBScript编写的代码简练得多。
更重要的是,利用VFP制作网站的方法的应用范围非常广泛。但是由于FoxBase/FoxPro曾在中国风行多年,他们中的许多人多少都懂得一 些VFP或FoxPro方面的编程知识,对于这些人来讲,VfpWeb刚好可以解决上述矛盾,他们只需掌握一些VFP及HTML的知识就可制作网站了。
5.结语
小编VFPWeb系统在网上推出后,得到了极大的反响。因此特地把他介绍给大家,希望能对广大VFP爱好者有所帮助。想了解更多数据库教程相关知识可登陆e良师益友网。