delphi(kylix)开发wap(wml)程序的配置攻略

原创 2004年08月20日 11:10:00

delphi(kylix)开发wml程序的配置攻略

delphi(kylix)提供了websnap技术可以用来开发web程序,分析web程序与wap程序的差异在于内容的标签不同,http流中的Content-Type不同。

http的Content-Type为text/html

wap的Content-Type为text/wml

以下例子在linux下的kylix环境中通过,delphi中与此相似.

1、首先下载HTTP协议调试器httpdebug.exe。检查Content-Type的内容。为text/html

r_http_d_html.JPG

2、分析websnap构成,在kylix安装目录下,以kylix3为例,默认安装目录在/usr/local/kylix3下。

在/usr/local/kylix3/source/internet目录下,执行

grep "text/html" * -ri

结果如下:

ApacheApp.pas: r.content_type := 'text/html';
ApacheHTTP.pas: ContentType := 'text/html';
二进制文件 CGIApp.dcu 匹配
CGIApp.pas: 'Content-Type: text/html'#13#10 + { do not localize }
二进制文件 CGIHTTP.dcu 匹配
CGIHTTP.pas: ContentType := 'text/html'; { do not localize }
CGIHTTP.pas: ContentType := 'text/html'; { do not localize }
DBAdaptImg.pas: Response.ContentType := 'text/html'; // for any exceptions that may happen
二进制文件 oxmldom.dcu 匹配
oxmldom.pas: IndyHttp.Request.Accept := 'text/xml, text/html, application/octet-stream'; { Do not localize }
SockHTTP.pas: ContentType := 'text/html'; {do not localize}
SockHTTP.pas: ContentType := 'text/html'; {do not localize}
SockHTTP.pas: 'Content-Type: text/html'#13#10 + //Not resourced
SvrHTTPIndy.pas: ContentType := 'text/html';
SvrHTTPIndy.pas: ContentType := 'text/html';

3、再看websnap模板中引入的头文件与websnap相关,并且文件中含有text/html的文件一共有三个:

CGIApp.pas

CGIHTTP.pas

DBAdaptImg.pas

4、分别将三个文件,复制一份,名字前冠以Wap,并修改unit名称与文件名一致,修改其中的text/html为text/wml即可

(1)cp CGIApp.pas WapCGIApp.pas

vi WapCGIApp.pas

修改文件头部的unit CGIApp为unit WapCGIApp

替换其中的text/html为text/wml

(2)cp CGIHTTP.pas WapCGIHTTP.pas

vi WapCGIHTTP.pas

修改文件头部的unit CGIHTTP为unit WapCGIHTTP

替换其中的text/html为text/wml

(3)cp DBAdaptImg.pas WapDBAdaptImg.pas

vi WapDBAdaptImg.pas

修改文件头部的unit DBAdaptImg为unit WapDBAdaptImg

替换其中的text/html为text/wml

5、编译后,放到/usr/local/kylix3/lib目录中

(1)dcc WapCGIApp.pas

dcc WapCGIHTTP.pas

dcc WapDBAdaptImg.pas

(2)cp Wap*.dcu /usr/local/kylix3

6、创建websnap应用程序后,将

uses中的CGIApp改为WapCGIApp即可。

对于模块中出现的相应CGIHTTP与DBAdaptImg处,也用WapCGIHTTP或WapDBAdaptImg替换即可。

将程序编译。

r_websnap_replace_uses.JPG

7、用httpdebug检查结果。

r_http_d_wml.JPG

?

WAP(wml)开发问答

1. 开发WAP软件需要哪些工具?     为了开发WAP应用程序,需要一个WAP网关(注意:这里的网关可能是指支持WML的服务器。可以通过配置WWW服务器达到这个目的)和WAP工具包。工具包应...
  • xjbclz
  • xjbclz
  • 2016年07月14日 20:34
  • 584

手机wap前端开发经验

对于我们前端来讲,wap2.0开发无疑是对我们的一个考验,这个考验主要是考验我们对于重构方面的功底。下面主要分 UI、HTML、CSS、Javascript三方面给大家分享在wap2.0开发中的一些个...
  • zhjian6
  • zhjian6
  • 2015年03月18日 08:46
  • 6798

WEB前端开发 » WAP页面制作需要注意的几点

1.遵循html页面的编写规则 2.新建的时候注意文档类型:xhtml-mobile10.dtd 3.特殊的meta标签         网页手机wap2.0网页的head里加入下面这条元标...
  • DingYe_Names
  • DingYe_Names
  • 2015年10月20日 09:17
  • 3559

Delphi for iOS开发指南(2):在Windows PC上配置你的开发环境

在这篇教程开始之前,你应该阅读并按教程里的步骤执行: “Delphi for iOS开发指南(1):在Mac上配置你的开发环境”   为iOS目标平台开发的FireMonkey应用程序最初可以在...
  • wei_wu49036233
  • wei_wu49036233
  • 2013年09月03日 09:09
  • 3011

以Delphi Package架构多人开发应用程序环境

印象中的Package   在一般的AP开发时,我们知道在Delphi7.0整合环境中将Project->Options->选到Packages卷标页,Builder with runtime p...
  • xiexuan2007
  • xiexuan2007
  • 2013年12月20日 12:24
  • 1270

Delphi for iOS开发指南(1):在Mac上配置你的开发环境

为iOS目标平台开发的FireMonkey应用程序最初可以在Mac的iOS Simulator上测试。 测试过程的第二阶段可以使用iOS Device目标平台,需要一台连接到Mac的测试iOS De...
  • wei_wu49036233
  • wei_wu49036233
  • 2013年09月03日 09:08
  • 9348

用Delphi编写Windows服务程序

一、Windows服务简介   服务程序(Service Application)是一种运行于WinNT的后台程序,每个服务程序(Service Application)中可能包含若干个服务(Ser...
  • xiexuan2007
  • xiexuan2007
  • 2014年01月06日 11:51
  • 1951

构建WAP应用程序开发环境

WAP(Wireless Application Protocal)是开放的协议,这与日本的I-MODE有所不同,后者是封闭的。WAP事实上是无线网络和Internet网络相结合的产物。本来的无线网络...
  • xjbclz
  • xjbclz
  • 2016年07月14日 20:36
  • 286

Delphi创建服务程序

Windows 2000/XP和2003等支持一种叫做”服务程序”的东西.程序作为服务启动有以下几个好处: 不用登陆进系统即可运行. 具有SYSTEM特权.所以你在进程管理器里面是无法结束它的. 如何...
  • wsgqp
  • wsgqp
  • 2016年07月13日 20:13
  • 2716

delphi服务程序(service)的调试方法

delphi服务程序(service)的调试
  • Trassion
  • Trassion
  • 2013年08月02日 09:09
  • 7844
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:delphi(kylix)开发wap(wml)程序的配置攻略
举报原因:
原因补充:

(最多只允许输入30个字)