中国被爱可以在线[博客园]

普及WAP 让每个拥有自己的企业WAP网站......

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

  WAP设备显示屏有限、连接速度也比较慢,仅此两点就决定用户使用手机浏览WAP文章或新闻时不能一下子把内容全部下载下来,而需要分页、分屏显示。如果每次请求的数据量过大,那么一方面会造成信息迟迟不能被发送过来,多次请求反而造成信息费的增加,甚至数据量过大,手机无法及时响应,以至于出现手机死机现象。

  一般手机每页显示的字符数量以200--300内为佳。下面我们用实例介绍QuickWAP是怎样实现长文章分页的。

  假如我们需要把下面的文字分页:

  WAP (Wireless Application Protocol) is a specification for a set of communication protocols to standardize the way that wireless devices, such as cellular telephones and radio transceivers, can be used for Internet access, including e-mail, the World Wide Web, newsgroups, and instant messaging. While Internet access has been possible in the past, different manufacturers have used different technologies. In the future, devices and service systems that use WAP will be able to interoperate.

  只要我们把英文代码看成一段字符串,作为一个变量,然后就可以利用EasyMorePage函数进行分页了。

<%
Set Wap=Server.CreateObject("QuickWAP.WAP")
Wap.CardTitle="www.quickwap.cn"
Wap.PageHeader
'以下为文件正文。
Wap.WriteRow "++++++++++++++++++"
Content="WAP (Wireless Application Protocol) is a specification for a set of communication protocols to standardize the way that wireless devices, such as cellular telephones and radio transceivers, can be used for Internet access, including e-mail, the World Wide Web, newsgroups, and instant messaging. While Internet access has been possible in the past, different manufacturers have used different technologies. In the future, devices and service systems that use WAP will be able to interoperate."
Wap.WriteRow Wap.Ascii("<b>WAP Definition</b>")
Wap.WriteOut Wap.EasyMorePage(Content,180)
Wap.WriteRow "++++++++++++++++++"
'以下为返回链接等信息。
Wap.WriteRow Wap.BackA("Go Back")
Wap.WriteRow Wap.ImgA("",Wap.WapPath,"Back Home")
Wap.WriteRow Wap.DoGo(Wap.WapPath, "option", "Back Home")
Wap.WriteRow Wap.DoPrev("prev", "Back", "ToBack")
Wap.PageFooter
Set Wap=Nothing
%>

  预览效果如下图:

  然后,我们看看怎样用EasyMorePage来对中文怎样分页,要分页的字符串为:

  WAP是一种无线应用协议,是一个全球性的开放协议。WAP定义可通用的平台,把目前Internet网上HTML语言的信息转换成用WML描述的信息,显示在移动电话或者其他手持设备的显示屏上。多种网络,也就是说,它不依赖某种网络而存在,今天的WAP服务在3G到来后仍然可能继续存在,不过传输速率更快,协议标准也会随之升级。

  只要我们把中文看成一段字符串,作为一个变量,然后就可以利用EasyMorePage函数进行分页了,当然还可以使用MorePage函数。

<%
Set Wap=Server.CreateObject("QuickWAP.WAP")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'以下为文件正文。
Wap.WriteRow "++++++++++++++++++"
Content="WAP是一种无线应用协议,是一个全球性的开放协议。WAP定义可通用的平台,把目前Internet网上HTML语言的信息转换成用WML描述的信息,显示在移动电话或者其他手持设备的显示屏上。多种网络,也就是说,它不依赖某种网络而存在,今天的WAP服务在3G到来后仍然可能继续存在,不过传输速率更快,协议标准也会随之升级。 "
Wap.WriteRow Wap.Ascii("<b>WAP介绍</b>")
Wap.WriteOut Wap.EasyMorePage(Content,120)
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
%>

  预览效果如下图:

  如果我们希望分页的时候,同时把简体中文转换为繁体,那么怎么办呢。其实在QuickWAP中这是再简单不过的事情了,只需要一个简体转繁体的函数(JToF),反之则用繁体转简体的函数(FToJ),下面我们看看代码,与上边的代码不同的是下划线的部分。

<%
Set Wap=Server.CreateObject("QuickWAP.WAP")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'以下为文件正文。
Wap.WriteRow "++++++++++++++++++"
Content="WAP是一种无线应用协议,是一个全球性的开放协议。WAP定义可通用的平台,把目前Internet网上HTML语言的信息转换成用WML描述的信息,显示在移动电话或者其他手持设备的显示屏上。多种网络,也就是说,它不依赖某种网络而存在,今天的WAP服务在3G到来后仍然可能继续存在,不过传输速率更快,协议标准也会随之升级。 "
Wap.WriteRow Wap.Ascii("<b>WAP介绍</b>")
Wap.WriteOut Wap.EasyMorePage(Wap.JToF(Content),120)
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
%>

  预览效果如下图:



  另外分页的时候,要用WriteOut,而没有采用WriteRow,这是因为EasyMorePage函数尾部自动添加了换行符“<br/>”,而不用WriteRow避免出现两个换行符。

  EasyMorePage函数声明及参数说明

  Public Sub EasyMorePage(ByVal ToShowContent As String, Optional ByVal TextLong As Integer = 300, Optional ByVal IsUseUbbWml As Boolean = True)
  ToShowContent 设置要分页的字符串。
  TextLong 用于设置每页显示的字符数量,默认值为300。  
  IsUseUbbWml 设置是否支持WML的UBB代码,如果为True,则内容中的"[b]"、"[/b]"等UBB代码将不被转化。

  关于第三个参数我们可以举例说明:

  代码如下:

<%
Set Wap=Server.CreateObject("QuickWAP.WAP")
Wap.CardTitle="中国被爱可以在线"
Wap.PageHeader
'以下为文件正文。
Wap.WriteRow "++++++++++++++++++"
Content="[url=http://wap.bicyle.org]中国被爱可以在线[/url]:[b]WAP[/b]是一种无线应用协议,是一个[u]全球性的开放协议[/u]。WAP定义可通用的平台,把目前Internet网上HTML语言的信息转换成用WML描述的信息,显示在移动电话或者其他手持设备的显示屏上。多种网络,也就是说,它不依赖某种网络而存在,今天的WAP服务在3G到来后仍然可能继续存在,不过传输速率更快,协议标准也会随之升级。 "
Wap.WriteOut Wap.EasyMorePage(Content,120,True)
Wap.WriteRow "++++++++++++++++++"
Wap.PageFooter
Set Wap=Nothing
%>

  效果图如下:

  QuickWAP用简单的代码实现了许多WAP初学者最大的难题--文章分页,真可谓用作用不小,其实它不简简单单是分页,其中里面还集成了转码函数、处理特别字符、UBB函数支持等功能,为我们开发WAP提供了极大的便利。


posted on 2008-01-27 11:48  中国被爱可以在线  阅读(470)  评论(0编辑  收藏  举报