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

Delphi XE5通过WebService开发Web服务端和手机客户端DelphiXE5通过WebService开发Web服务端和手机客户端介绍我们开发一个三层的android程序建立一个webservicesstand-alonevclapplication作为手机访问的服务端1、new->other->webservices2、选择stand-alonevclapplication…

大家好,又见面了,我是你们的朋友全栈君。

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

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

建立一个webservices  stand-alone vcl application 作为手机访问的服务端

1、new->other->webservices

 

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


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

 

2、选择 stand-alone vcl application

 

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

 

3、这里使用 默认端口8080

 

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

 

4、选择创建接口

 

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

 

5、给服务起个名字

 

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

 

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

 

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

 

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

 

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

 

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

 

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


一个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服务器,在控件上邮件 设置一下信息

 

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

 

     3、其他数据控件连接

 

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

 

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

 

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

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

 

   function TAndroidWM.GetEmployee_Mi: widestring;

    begin

    with clientdataset1 do

    begin

       close;

       open;

       result:=xmldata;

       close;

    end;

    end;

 

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

 

     function GetEmployee_mi:widestring;stdcall;

 

      function TAdroidServices.GetEmployee_mi: string;

    var

      dm:TAndroidWM;

    begin

      dm:=TAndroidWM.Create(nil);

      result:=dm.GetEmployee_Mi;

      dm.Free;

   end;

 

6、在 AdroidServicesIntf.pas 单元实现以下代码


type

 

  IAdroidServices = interface(IInvokable)   [‘{9B1596C5-AD43-4849-830E-0B82D8BAA043}’]  

 

  function GetEmployee_mi:widestring;stdcall;  

 

  end;


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

 

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

 

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


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


1、新建firemonkey mobile application

 

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

 

2、选择blank application

 

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

 

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

 

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

 

4、界面布局摆放如下:

 

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

 

5、绑定数据集

 

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

 

   先在clintdataset中添加字段

 

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

 

依次添加 code ,name ,py_code 三个字段,然后选中grid,点击
Delphi XE5通过WebService开发Web服务端和手机客户端,然后将dataset拖拉到grid中:如图

 

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

 

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

 

然后调整列宽等选项。


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

 

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

 

    导入webservices单元,file->new->other->webservices->选择 wsdlimporter

 

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

 

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

 

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


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

 

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

 

procedure TForm1.button1Click(Sender: TObject);

  var

  ws:IAdroidServices;

  s:string;

begin

  ws:=GetIAdroidServices(true,’http://10.110.0.56:8080/soap/IAdroidServices’,nil);   //参数中可以使用配置的url

  s:=ws.GetEmployee_mi;

  if length(s)<>0 then

  clientdataset1.xmldata:=s;

end;


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

 

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

 

win32平台上没问题 ok,接下来target选择我的 大平板手机 O(∩_∩)O~ ,p3100

 

运行如下:

 

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

 

转载于:https://www.cnblogs.com/m0488/p/7560948.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/161332.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 批处理for语句_批处理for循环跳出循环

    批处理for语句_批处理for循环跳出循环
    @echooff
    set/Ai=1
    :loop
    if “%i%”==”14” (
    gotoend
    )
    copy/Ydata%i%.indata.in
    echodata.in
    typedata.in
    stu
    copy/Ydata.outdata%i%.out
    echodata%i%.out
    typedata%i%.out
    comp/A

    2022年10月10日
  • mac录屏软件推荐_mac 录屏软件

    mac录屏软件推荐_mac 录屏软件工作和生活中,我们常常需要录制电脑屏幕,例如老师和学生上网课、游戏大神分享操作技巧。那么,在Mac上有哪一些好用的录屏软件呢?作为一个工具软件重度爱好者,我整理了以下五大最好用的录屏软件,大家可以自行参考种草:一、FilmageScreenRecorderforMacFilmageScreen是一款简单易操作,功能十分强大的一站式视频软件,集屏幕录制、摄像头录制、音频录制、视频剪辑、视频格式转换为一体,可以说是真正满足你对于视频操作的所有需求。目前是只有Mac端,所以用Mac的童鞋们千万不.

  • 如何在Chrome下使用Postman进行rest请求测试

    如何在Chrome下使用Postman进行rest请求测试

    2021年10月12日
  • 大整数乘法的详解

    大整数乘法的详解一.问题由于编程语言提供的基本数值数据类型表示的数值范围有限,不能满足较大规模的高精度数值计算,因此需要利用其他方法实现高精度数值的计算,于是产生了大数运算。尤其是乘法运算,下面就是大整数的乘法的过程(加减法都一样的原理)。二.解决问题的方法方法一(传统的相乘逐步相加)乘法规律,一个数的第i位和另一个数的第j位相乘,一定会累加到结果的第i+j位,结果的数组一个数组元素存2位数,最后对结果整除得到进位,mod得到余数就是i+j位的数字,最后打印出来。对于大整数比较方便的输入方法是,.

  • 统计学的卡方检验方法是什么呢?用几个生活实例带你揭秘!

    统计学的卡方检验方法是什么呢?用几个生活实例带你揭秘!作者|文文酱的数据课堂来源|知乎专栏https://zhuanlan.zhihu.com/p/69888032卡方检验,统计学的方法,现在机器学习看变量的时候也会用到。很多不知道…

  • bt3 u盘版安装教程_bt3下载中文版下载

    bt3 u盘版安装教程_bt3下载中文版下载安装bt3u盘版在我们生活中非常常见,使用简单、方便,为了安装bt3u盘版,今天推荐给大家的安装bt3u盘版,操作简单,适用于绝大部分用户使用bt3u盘版下载准备工具Bt3程序U盘电脑第一步首先格式化U盘,选择FAT32方式。打开下载好的文件,将下图圈内的两个文件拷贝到U盘bt3u盘安装电脑图解-1点击【运行】,或者点windows+R,输入“CMD”进入,依次输入以下命令输入“U盘盘符”进入U…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号