国内知名WAP组件
国内目前每天有大批量程序员开始使用中国被爱可以在线开发的QuickWAP组件。由于QuickWAP基于组件技术,所以它可以被使用到大多数的编程语言中,尽管它往往只是被用在ASP中。
QuickWAP 2005诞生于2006年4月,它听取了众多程序员、WAP爱好者的意见,根据QuickWAP V1.5的工作原理,在原有基础上加入了许多新的模块重新制作而成。
您可以使用QuickWAP 2005做什么呢?我们可以告诉您:非常多!您第一想做的事情是您要制作一个WAP网页或者建设一个WAP网站,这时您可以使用我们崭新的QuickWAP 2005组件建立既可以手机访问,也可以IE访问的WAP站点,强大的自动分页功能,Access和SQL Server2000数据库支持,中文简繁体简单切换,免费发送WEB/WAP邮件,访问记录轻松统计,这一切的一切都是QuickWAP带给您的极具震撼力的WAP应用。
现在,请运行安装程序(您可能已经安装了),感受这个国内知名的WAP组件。
安装
要使用QuickWAP 2005,您必须在您的服务器上注册QWap2005.dll。这可以通过以下方法实现:
方法一:使用QuickWAP安装程序安装。
方法二:将QWap2005.dll复制到您的服务器上并运行 regsvr32 QWap2005.dll。
安装QuickWAP 2005后,并不影响先前任何版本QuickWAP的运行。
双击Setup.exe运行安装程序,安装程序默认将该组件安装到系统System32下,其他文件默认安装到C:\Program Files\Bicyle\QuickWAP 2005\这个文件夹下。相关实例和教程可以到网站www.quickwap.cn上查看。安装程序将注册QWap2005.dll为系统组件,以备于ASP等代码调用。
卸载
您可以从控制面板中的"添加/删除程序"项目中卸载QuickWAP,也可以直接取消对Qwap2005.dll的注册(使用命令regsvr32 /U QWap2005.dll ),然后删除这个文件。
服务器配置
您的操作系统最好为Windows Server 2003或Windows Advanced Server2000,并安装有IIS5.0/6.0,对于IIS6.0,某些程序可能要求以IIS6.0以IIS5.0隔离模式运行WWW服务,同时启用父路径。
为了保证手机能够查看WAP页面,还需要配置WAP的MIME类型。例如Windows配置方法如下:
配置地址:Internet 服务管理器Internet 服务管理器-->主机属性(右键菜单)-->计算机(MIME映射)-->编辑-->新类型
后缀 类型
wml text/vnd.wap.wml
wmlc application/vnd.wap.wmlc
wbmp image/vnd.wap.wbmp
wmlsc application/vnd.wap.wmlscriptc
wmls text/vnd.wap.wmlscript
wsc application/vnd.wap/wmlscriptc
开始使用
本文将分几大部分讲述QuickWAP是怎样工作的,所有的示例都是使用ASP中最常用的VBScript语
言编写的。
下面的例子将告诉你如何创建QuickWAP对象,并使用它创建一个新的WAP页面。
首先我们应该创建一个Wap2005对象。
Set Wap=Server.CreateObject("QWAP.WAP2005")
下面我们设置WAP页面的卡片标题。
Wap.CardTitle="中国被爱可以在线"
通常我们使用智能型的WAP框架,这样程序具有终端适配功能。
Wap.AutoHeader
WriteRow可以以UTF-8的形式输出字符串,包括中文、特殊符号等,也可以使用WriteOut函数。
Wap.WriteRow "欢迎光临中国被爱可以在线"
最后封闭WAP框架,并释放创建的WAP对象。
Wap.AutoFooter
Set Wap=Nothing
搞定!你已经知道了一些使用QuickWAP 2005的基本方法,你可以到技术站点http://www.quickwap.cn上去查找更多更精彩的例子,代码测试演示可以到http://demo.bicyle.org 查看。
完整代码:
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.CardTitle="中国被爱可以在线"
Wap.AutoHeader
'以下为文件正文。
Wap.WriteRow "欢迎光临中国被爱可以在线"
Wap.AutoFooter
Set Wap=Nothing
%>
创建WAP框架
QuickWAP 2005中包含了四种创建WAP框架的函数。
全功能框架: PutFileType PutPageHeader PutPageFooter
精简版框架: PageHeader PageFooter
智能型框架: AutoHeader AutoFooter
WAP2.0框架: XhtmlHeader XhtmlFooter
1.全功能框架,可以设置的属性较多,比如字符编码等。
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.PutFileType("utf-8") '设置WAP网页的编码方式,有utf-8、gb2312、iso-8859-1等。
Wap.PutPageHeader
'以下为文件正文,书写ASP代码。Wap.PageFooter
Set Wap=Nothing
%>
2.精简版框架,用于设计独立WAP网页时常用,采用utf-8编码。
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'以下为文件正文,书写ASP代码。Wap.PageFooter
Set Wap=Nothing
%>
3.智能型框架,根据终端为手机或IE生成WML或HTML网页,推荐使用。
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.CardTitle="中国被爱可以在线"
Wap.AutoHeader
'以下为文件正文,书写ASP代码。Wap.AutoFooter
Set Wap=Nothing
%>
4.WAP2.0框架,提供了一种创建WAP2.0网页的框架,与WAP1.2无关,只能用于WAP2.0。
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.CardTitle="中国被爱可以在线"
Wap.XhtmlHeader
'以下为文件正文,书写ASP代码。Wap.XhtmlFooter
Set Wap=Nothing
%>
输出图片和超链接
Img和Image是输出图片的函数,后者能够智能检测图片支持类型,调用相应图片。
Wap.WriteRow Wap.Img("Images/help.png","QuickWAP","width='30' height='30'")
Wap.WriteRow Wap.Image("../images/Logo")
其中三个参数,依次为图片路径,文字信息和其他属性,最后两个参数可以省略。
A和Anchor是用于生成超链接的函数。
Wap.WriteOut Wap.A("链接","../index.asp","返回首页")
Wap.WriteRow Wap.Anchor("确定","#SecondCard","第二栏目")
其中三个参数,依次为软键提示信息,链接地址和屏幕上的链接文字。
输出函数
与QuickWAP V1.5相比,增加了WriteTo、WriteLine函数,现比较四个输出函数如下:
WriteOut 对要输出的文字进行UTF-8转码,然后进行输出。
WriteRow 在WriteOut输出结果的基础上,最末尾自动加上换行的"<br/>"标记。
WriteLine 对要输出的字符串直接输出,相当于ASP中Response.Write。
WriteTo 对要输出的字符串直接输出,同时在末尾自动加上换行"<br/>"标记。
使用方法如下:
Wap.WriteOut "待输出字符串。" '其他类似。
Access和Sql Server2000相关函数
QuickWAP 2005可以轻松调用数据库内容,相关函数如下:
内容列表类: MdbList MdbListPages MdbListPagesTwo MdbListPagesThree
内容显示类: MdbShow
执行类: MdbDo (可以替代MdbDelete MdbUpdate MdbInsert函数)内容列表类: SqlList SqlListPages ?8qlListPagesTwo SqlListPagesThree
内容显示类: SqlShow
执行类: SqlDo (可以替代SqlDelete SqlUpdate SqlInsert函数)内容列表类函数,主要用于查询数据库后显示索引列表(链接形式),目前提供4种样式。
内容显示类函数,可以用于直接显示给定字段名称的记录值。
执行类函数,执行SQL语句。
数据库每次连接程序都会自动建立一个名为RS的记录集,你可以通过Wap.Rs.属性进行引用。
1.建立数据库连接。
Wap.MdbPath="DataBase/#HaoXiao.mdb" '用于设置Access数据库的路径。
对于Sql Server2000则如下:
Wap.SqlServerName="Bicyle" '"数据库服务器名。
Wap.SqlUserId="Bicyle" '您的登录帐号。
Wap.SqlUserPwd="Bicyle" '您的登录密码。
Wap.SqlDBName="QuickWAP" '您的数据库名称。
'您可以直接写数据库连接代码,如果下面这句进行了设置则上面四句代码无效。
'Wap.SqlStrConn="driver={SQL server};server=Bicyle;uid=Bicyle;pwd=Bicyle;database=QuickWAP"
2.设置数据库的SQL语句。
Wap.StrSql="Select * From HaoXiao" '要查询数据库的SQL语句。
3.执行SQL语句。
Wap.MdbDo '如果为Sql Server2000则为:Wap.SqlDo
4.显示某条记录的某个字段的内容。
Wap.WriteRow Wap.MdbShow("Content")
Wap.WriteRow Wap.SqlShow("Content")
对于列表显示,我们涉及的属性较多,下面通过实例说明。
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'以下为文件正文。
Wap.WriteRow "++++++++++++++++++"
Wap.MdbPath="DataBase/#HaoXiao.mdb" '用于设置Access数据库的路径。
Wap.StrSql="Select Id,Title From HaoXiao order by ID Desc" '要查询数据库的SQL语句。
Wap.EveryPageSize=10 '每页显示的记录条数。默认为10。
Wap.FieldShow="Title" '要显示的记录的字段名称。
'Wap.FieldHeader="Id" '数据列表的前缀字段的名字
'Wap.FieldFooter="Id" '数据列表的后缀字段的名字
Wap.FieldId="Id" '数据库中的关键字段的名称。
Wap.GoFileName="HaoXiaoShow.asp" '连接到页面的文件的名字。
Wap.DbIsShowImage=True '数据记录显示前面是否显示小图标。可选择False。
Wap.ErrorPagePath="" '当页面发生错误,或者没有记录时,跳转到的页面。默认为站点首页。
'Wap.RsInfoPlace="top" '设置显示的数据集合信息的位置[top\bottom\none,默认是top]
'Wap.DBListSymbol="◆" '设置数据记录显示前的符号,默认为空。[新增较V1.5]
'Wap.DBOrderNumber=True '设置数据记录前是否显示自动编号数字。[新增较V1.5]
Wap.DBListNumber=True '设置数据记录前是否显示自动编号数字。[新增较V1.5]
Wap.MdbList
Wap.WriteRow "++++++++++++++++++"
'以下为返回链接等信息。
Wap.WriteRow Wap.A("确定",Wap.WapPath,"返回首页")
Wap.WriteRow Wap.DoGo(Wap.WapPath, "option", "回首页")
Wap.WriteRow Wap.DoPrev("prev", "后退", "ToBack")
Wap.PageFooter
Set Wap=Nothing
%>
若更改数据库类型和列表样式,仅修改以上代码的绿色部分即可。
下面介绍接收显示数据库内容的WAP页面。
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'以下为文件正文。
Wap.WriteRow "++++++++++++++++++"
Wap.MdbPath="DataBase/#HaoXiao.mdb" '用于设置Access数据库的路径。
Dim ListKey : ListKey=Request.QueryString("Id") '对应Wap.FieldId的值。
If ListKey="" Then ListKey= Session("FindId")
Wap.StrSql="Select * From HaoXiao Where Id =" & ListKey
ShowContent=Wap.MdbShow("Content")
ShowContent="标题:" & Wap.MdbShow("Title") & "<br/>" & "日期:" & Wap.MdbShow("DateTime") & "<br/>-----<br/>" & ShowContent
Wap.MorePage(ShowContent)
Wap.WriteRow "++++++++++++++++++"
'以下为返回链接等信息。
Wap.WriteRow Wap.BackA("返回上页")
Wap.WriteRow Wap.ImgA("",Wap.WapPath,"返回首页")
Wap.WriteRow Wap.DoGo(Wap.WapPath, "option", "回首页")
Wap.WriteRow Wap.DoPrev("prev", "后退", "ToBack")
Wap.PageFooter
Set Wap=Nothing
%>
5.高级应用,引用QuickWAP内部的RS记录集。
Wap.MdbPath="DataBase/#HaoXiao.mdb" '用于设置Access数据库的路径。
Wap.StrSql="Select Id,Title From HaoXiao order by ID Desc" '要查询数据库的SQL语句。
Wap.MdbDo '执行SQL语句。
For I=0 To Wap.Rs.RecordCount - 1
Wap.WriteRow Wap.A("确定",Wap.Rs("SiteUrl") & "&Title=" & Wap.Rs("SiteName"),Wap.Rs("SiteName"))
Wap.Rs.MoveNext
Next
与ASP、WML相结合
使用QuickWAP组件编写WAP网页程序,支持QuickWAP+ASP+WML+WMLScript一起使用进行WAP程序开发。
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'使用ASP函数
Response.Write "Hello" & "<br/>"
%>
<!--*(^O^)请把注释语句写在这里。(^O^)*-->
<a href="http://wap.bicyle.org">About Bicyle</a>
<%
Wap.PageFooter
Set Wap=Nothing
%>
字符串智能分页
函数MorePage用途比较广泛,除了应用于分页长字符串外,还可以对数据库的查询出的内容进行动态分页。
Wap.MorePage "中国人民",3,False,True
其中共有四个参数,分别如下:
ToShowContent 设置要分页的字符串。
TextLong 用于设置每页显示的字符数量,默认值为300。
IsThisShowImage 设置是否显示翻页链接前的图片。
IsUseUbbWml 设置是否支持WML的UBB代码,如果为True,则内容中的"<"、">"将不被转化。
简繁体中文切换
设置网站语言类型,包含Complex、Simple两种,前者为繁体中文、后者为简体中文。
Wap.ChineseType="Complex" '当不进行设置或为Simple均为简体中文。
中文字符串参数传递
SubmitText和RequestText函数分别是传递前编码和接收后解码的函数。
Wap.WriteRow Wap.A("","Search.asp?Name=" & Wap.SubmitText("女"),"搜索含'女'字标题")
Name=Wap.RequestText("Name") '接收参数值,值为中文汉字。
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'以下为文件正文。
Wap.WriteRow "++++++++++++++++++"
Dim Site : Dim Url
Site=Wap.RequestText("Site") '接收中文字符串值
Url=Wap.SafeRequest("Url")
If Site="" Then Site="Wap之家" : Url="wapzj"
Wap.WriteRow "您最喜欢的门户网站:"
Wap.WriteRow "名称:" & Site
Wap.WriteRow "地址:http://www." & Url & ".com"
Wap.WriteRow "++++++++++++++++++"
Wap.WriteRow Wap.ImgA("",Wap.ThisFileName & "?Url=163&Site=" & Wap.SubmitText("网易"),"我爱'网易'")
Wap.WriteRow Wap.ImgA("",Wap.ThisFileName & "?Url=sohu&Site=" & Wap.SubmitText("搜狐"),"我爱'搜狐'")
Wap.WriteRow Wap.ImgA("",Wap.ThisFileName & "?Url=sina&Site=" & Wap.SubmitText("新浪"),"我爱'新浪'")
Wap.WriteRow Wap.ImgA("",Wap.ThisFileName & "?Url=yahoo&Site=" & Wap.SubmitText("雅虎"),"我爱'雅虎'")
Wap.WriteRow "++++++++++++++++++"
'以下为返回链接等信息。
Wap.WriteRow Wap.BackA("返回上页")
Wap.PageFooter
Set Wap=Nothing
%>
访问统计
VisitCount是记录终端访问的函数,可以将记录存入Access和Sql Server2000数据库,也可指定被统计的终端类型。
Wap.MdbPath="../MydataBase/#VisitCount.mdb"
Wap.VisitCount "Phone","Mdb"
记录模式: All、WEB、WAP、Phone、NotIE ,默认为All。
设置数据库的类型,有Mdb、Sql两种。当为Access时可以省略"Mdb"。
数据库的结构一定要正确。
UBB标签支持
UbbWml函数是用于将WML标记语言的UBB标签转换为WML代码的函数。
Wap.WriteOut Wap.UbbWml("[url]http://wap.bicyle.org[/url]")
UBB支持样式(不区分大小写),以下仅为部分:
[small]中国被爱可以在线[/small]
[big]中国被爱可以在线[/big]
[em]中国被爱可以在线[/em]
[u]中国被爱可以在线[/u]
[i]中国被爱可以在线[/i]
[strong]中国被爱可以在线[/strong]
[b]中国被爱可以在线[/b]
[img=Images/Logo.png]标志[/img]
[img]Images/Logo.png[/img]
[url=http://wap.bicyle.org]中国被爱可以在线[/url]
[url]http://wap.bicyle.org[/url]
[br]
几个重要的QuickWAP属性
ThisFileName 用于返回包含文件所在的服务器的HTTP路径在内的文件名,但不包括文件名后的任何参数信息。
Public ThisFileName As StringPhoneIP 返回终端的IP地址。
Public PhoneIP As StringFileName 获得当前文件的纯文件名称,不包含路径信息。
Public FileName As StringWapPath 用于返回当前文件所在的HTTP文件夹路径。
Public WapPath As StringDiskPath 用于返回当前文件所在硬盘的文件夹路径。
Public DiskPath As String
使用方法如:
Wap.WriteRow Wap.A("确定",Wap.ThisFileName & "?ToDo=Add","相加")
几个现成的WAP模块
WeekQuery是查询星期几的函数,要求输入日期。如果没有输入,则表示当前日期。
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'以下为文件正文。
Wap.WriteRow "++++++++++++++++++"
Wap.WeekQuery
Wap.WriteRow "++++++++++++++++++"
'以下为返回链接等信息。
Wap.WriteRow Wap.BackA("返回上页")
Wap.PageFooter
Set Wap=Nothing
%>CallPhone是生成输入电话号码框,并产生呼叫链接的函数。
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'以下为文件正文。
Wap.WriteRow "++++++++++++++++++"
Wap.CallPhone
Wap.WriteRow "++++++++++++++++++"
'以下为返回链接等信息。
Wap.WriteRow Wap.BackA("返回上页")
Wap.PageFooter
Set Wap=Nothing
%>GoUrl用于产生输入WAP地址框,并产生转到链接的函数。
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'以下为文件正文。
Wap.WriteRow "++++++++++++++++++"
Wap.GoUrl True 'True\False是否显示推荐的知名门户网站连接。
Wap.WriteRow "++++++++++++++++++"
'以下为返回链接等信息。
Wap.WriteRow Wap.BackA("返回上页")
Wap.PageFooter
Set Wap=Nothing
%>SendMail用于产生发送邮件页面的并进行邮件发送的函数。
<%
Set Wap=Server.CreateObject("QWAP.WAP2005")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'以下为文件正文。
Wap.WriteRow "++++++++++++++++++"
'Wap.MailServerUserName="CnBikeOnline@163.com"
'Wap.MailServerPassword="******"
'Wap.MailSmtp="smtp.163.comt"
'Wap.MailWebUrl="http://wap.bicyle.org"
'Wap.MailResultFileName="Success.asp"
'以上几个属性可以根据需要更改。
Wap.SendMail
Wap.WriteRow "++++++++++++++++++"
'以下为返回链接等信息。
Wap.WriteRow Wap.BackA("返回上页")
Wap.PageFooter
Set Wap=Nothing
%>
软件使用和注册说明
由于使用QuickWAP 2005造成的一切后果,中国被爱可以在线(含作者本人)概不负责,亦不承担任何法律责任。
QuickWAP 2005首次安装完毕后,是没有注册的。未注册版本WAP程序的第一卡片标题后附加“(被爱可以)”几个字,注册版本正常显示,功能、时间、使用次数等方面无任何限制。