最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Delphi通过WebService开发Web服务端和手机客户端

IT圈 admin 94浏览 0评论

2024年2月19日发(作者:金秀丽)

Delphi通过WebServiceWeb服务端和手机客户端

开发

介绍

本文章介绍了Delphi XE5通过WebService开发Web服务端和手机客户端,下面是操作的详细过程。

我们开发一个三层的android程序

建立一个webservices stand-alone vcl

application 作为手机访问的服务端

1、new->other->webservices

2、选择 stand-alone vcl application

3、这里使用 默认端口8080

4、选择创建接口

5、给服务起个名字

6、点ok后保存工程,保存为目录如下:

7、至此为止,什么代码都不写,点击运行,我们看到

8、启动并点击 open browser按钮在浏览器里看到

一个web服务就创建完成了。

接下来创建一个返回数据集的过程,用webservices发布,供手机端调用。这里我使用firedac

1、打开上一篇自动创建的WebModule

然后分别拖放以下数据连接控件

FDConnection1:firedac连接数据库的

FDPhysMSSQLDriverLink1: 数据驱动

选的是sqlserver ,另外还有

db2 ,oracle,acess ,excel ,sqllite,mysql等

FDQuery1: 相当于adoquery

DataSetProvider1:delphi的provider

ClientDataSet1: delphi的我最喜欢的cds

2、数据库的连接

首先用 FDConnection1 连接sqlserver服务器,在控件上邮件 设置一下信息

3、其他数据控件连接

FDquery1已经自动连上了connection,我们在sql里写以下语句

接下来 DataSetProvider1 连好fdquery1,clientdataset1的providername选择 DataSetProvider1

4、在WebModule 中的public中实现以下代码

function

loyee_Mi:

widestring;

begin

with clientdataset1 do

begin

close;

open;

result:=xmldata;

close;

end;

end;

5、在 引用WebModule 的接口实现的public单元实现以下代码

function

GetEmployee_mi:widestring;stdcall;

function

loyee_mi: string;

var

dm:TAndroidWM;

begin

dm:=(nil);

result:=loyee_Mi;

;

end;

6、在 单元实现以下代码

type

IAdroidServices =

interface(IInvokable) ['{9B1596C5-AD43-4849-830E-0B82D8BAA043}']

function

GetEmployee_mi:widestring;stdcall;

end;

6、运行server 查看webservice是否实现了GetEmployee_mi服务

服务端至此完成,实现了用clientdataset的xmldata返回数据集的过程,当然您可以对返回的xml进行压缩和解压缩的操作,减小网络传输压力。

我们把供手机端调用的web服务完成,接下来实现手机端调用webservices获取数据

1、新建firemonkey mobile application

2、选择blank application

3、这里选择分辨率,我用的手机是三星的p3100,没别的优点 就是大,7寸的屏,我女儿管这个叫平板手机 O(∩_∩)O~

4、界面布局摆放如下:

5、绑定数据集

xe5中使用livebingding来绑定数据集,没有datasource熟悉了,理论上所有的控件都可以绑定数据集。

先在clintdataset中添加字段

依次添加 code ,name ,py_code 三个字段,然后选中grid,点击后将dataset拖拉到grid中:如图

,然

当然,您要选择clientdataset1下的这个*号再拖拽,,这就完成了绑定。。。

然后调整列宽等选项。

界面就这样吧,继续。。。,先启动咱们上几片文章建立的手机服务端

导入webservices单元,

file->new->other->webservices->选择

wsdlimporter

输入wsdl地址 localhost:8080/wsdl/IAdroidServices

之后施展一路回车大法,只到生成一个单元文件保存并在手机窗体单元中引用。

在窗体上的按钮的click事件中实现以下代码:

procedure 1Click(Sender:

TObject);

var

ws:IAdroidServices;

s:string;

begin

ws:=GetIAdroidServices(true,'1

0.110.0.56:8080/soap/IAdroidServices',nil); //参数中可以使用配置的url

s:=loyee_mi;

if length(s)<>0 then

a:=s;

end;

可以在win32平台上先测试一下,如图:

2024年2月19日发(作者:金秀丽)

Delphi通过WebServiceWeb服务端和手机客户端

开发

介绍

本文章介绍了Delphi XE5通过WebService开发Web服务端和手机客户端,下面是操作的详细过程。

我们开发一个三层的android程序

建立一个webservices stand-alone vcl

application 作为手机访问的服务端

1、new->other->webservices

2、选择 stand-alone vcl application

3、这里使用 默认端口8080

4、选择创建接口

5、给服务起个名字

6、点ok后保存工程,保存为目录如下:

7、至此为止,什么代码都不写,点击运行,我们看到

8、启动并点击 open browser按钮在浏览器里看到

一个web服务就创建完成了。

接下来创建一个返回数据集的过程,用webservices发布,供手机端调用。这里我使用firedac

1、打开上一篇自动创建的WebModule

然后分别拖放以下数据连接控件

FDConnection1:firedac连接数据库的

FDPhysMSSQLDriverLink1: 数据驱动

选的是sqlserver ,另外还有

db2 ,oracle,acess ,excel ,sqllite,mysql等

FDQuery1: 相当于adoquery

DataSetProvider1:delphi的provider

ClientDataSet1: delphi的我最喜欢的cds

2、数据库的连接

首先用 FDConnection1 连接sqlserver服务器,在控件上邮件 设置一下信息

3、其他数据控件连接

FDquery1已经自动连上了connection,我们在sql里写以下语句

接下来 DataSetProvider1 连好fdquery1,clientdataset1的providername选择 DataSetProvider1

4、在WebModule 中的public中实现以下代码

function

loyee_Mi:

widestring;

begin

with clientdataset1 do

begin

close;

open;

result:=xmldata;

close;

end;

end;

5、在 引用WebModule 的接口实现的public单元实现以下代码

function

GetEmployee_mi:widestring;stdcall;

function

loyee_mi: string;

var

dm:TAndroidWM;

begin

dm:=(nil);

result:=loyee_Mi;

;

end;

6、在 单元实现以下代码

type

IAdroidServices =

interface(IInvokable) ['{9B1596C5-AD43-4849-830E-0B82D8BAA043}']

function

GetEmployee_mi:widestring;stdcall;

end;

6、运行server 查看webservice是否实现了GetEmployee_mi服务

服务端至此完成,实现了用clientdataset的xmldata返回数据集的过程,当然您可以对返回的xml进行压缩和解压缩的操作,减小网络传输压力。

我们把供手机端调用的web服务完成,接下来实现手机端调用webservices获取数据

1、新建firemonkey mobile application

2、选择blank application

3、这里选择分辨率,我用的手机是三星的p3100,没别的优点 就是大,7寸的屏,我女儿管这个叫平板手机 O(∩_∩)O~

4、界面布局摆放如下:

5、绑定数据集

xe5中使用livebingding来绑定数据集,没有datasource熟悉了,理论上所有的控件都可以绑定数据集。

先在clintdataset中添加字段

依次添加 code ,name ,py_code 三个字段,然后选中grid,点击后将dataset拖拉到grid中:如图

,然

当然,您要选择clientdataset1下的这个*号再拖拽,,这就完成了绑定。。。

然后调整列宽等选项。

界面就这样吧,继续。。。,先启动咱们上几片文章建立的手机服务端

导入webservices单元,

file->new->other->webservices->选择

wsdlimporter

输入wsdl地址 localhost:8080/wsdl/IAdroidServices

之后施展一路回车大法,只到生成一个单元文件保存并在手机窗体单元中引用。

在窗体上的按钮的click事件中实现以下代码:

procedure 1Click(Sender:

TObject);

var

ws:IAdroidServices;

s:string;

begin

ws:=GetIAdroidServices(true,'1

0.110.0.56:8080/soap/IAdroidServices',nil); //参数中可以使用配置的url

s:=loyee_mi;

if length(s)<>0 then

a:=s;

end;

可以在win32平台上先测试一下,如图:

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论