10分钟10行代码开发APP(delphi 应用案例)

10分钟10行代码

开发AndroidiOS等平台程序

10分钟10行代码开发APP(delphi 应用案例)_第1张图片

 

  现在,在国内使用Delphi的人数总体很少,但我相信这样一个好的工具应该让更多的人知道,让大家去了解这个工具,并从中获得工作效率的提升。

  前段时间,完成《Delphi XE8 iOSAndroid移动应用开发教程[完整中文版]》(在此购书)一书,每天都有人询问并购买。偶然间突发奇想,用书中的内容做一次突破性的尝试,就10分钟10行代码,看看能完成什么样的工作,于是在尝试了多个方案后确定现在这套。

  我不知道还有没有其他开发工具能用10分钟10行代码开发出一个后台数据服务+多个运行平台前端应用。虽然功能简单不一定适用(仅登录与数据展示),但至少Delphi能做到。此代码也可作为delphi开发手机连接企业数据库的教程使用。

  整个过程已录制视频,有兴趣的朋友可在腾讯或优酷搜索“10分钟10行代码”观看。

  也可在CSDN搜索“10分钟10行代码”下载源码(http://download.csdn.net/detail/tanqth/9630395)。

  在视频中可以看到,仅用不到三分钟时间,没写一行代码完成数据服务器程序开发;余下5分钟完成应用端程序配置与界面、再用2分钟完成10行代码,总共10分钟10行代码完成包括用户登录、数据读取、数据显示、检索等功能,并可生成AndroidiOSMacWin32Win64多个运行平台下的应用程序(APP)。视频中使用Delphi XE8作为开发工具。


视频地址:http://v.qq.com/x/page/m0328h73bs7.html

 

 

总结一下用到的知识(开发环境安装配置不计算在内):

  •   第六章  使用不同风格的按钮;
  •   第十七章  让布局适应不同大小与方向的窗体;
  •   第二十五章 使用 dbExpress访问 InterBase ToGo
  •   第二十九章  从移动客户端连接到企业数据库;

 

以下是具体制作步骤:


1、创建DataSnap服务VCL应用程序

1.1 创建服务程序

新建一个项目:Delphi Projects >DataSnap Server > DataSnap Server

 10分钟10行代码开发APP(delphi 应用案例)_第2张图片

 

1.   第一步,选择Forms Application项目类型。

 10分钟10行代码开发APP(delphi 应用案例)_第3张图片

2.   第二步,VCL Application应用程序类型。

10分钟10行代码开发APP(delphi 应用案例)_第4张图片 

3.   第三步,在服务器功能列表是选择TCP/IP协议、Server Methods ClassSample Methods

 10分钟10行代码开发APP(delphi 应用案例)_第5张图片

 

4.   第四步,保留默认的TCP/ IP通信端口211。这将确保客户端和服务器之间的通信将通过默认 DataSnap 端口。

 10分钟10行代码开发APP(delphi 应用案例)_第6张图片

 

 

5.   选择服务器继承至TDSServerModule

 10分钟10行代码开发APP(delphi 应用案例)_第7张图片

 

6.    保存窗体单元为DataSnapServerUnit

7.    切换到DataSnapServerUnit,并将窗体的Name属性更改为DSServerForm

8.   保存服务器方法单元 (默认情况下,通过该向导所创建︰ ServerMethodsUnit1)作为ServerModuleUnit

9.    保存服务器容器单元 (默认情况下,通过该向导所创建︰ ServerContainerUnit1)作为ServerContainerUnit

10.    将新项目保存为DataSnapServerProject

11.   在Project Manager选择 ProjectGroup1,并将项目另存为DataSnapTutorialProjectGroup.groupproj.

10分钟10行代码开发APP(delphi 应用案例)_第8张图片

1.1定义DataSnap 服务器上的数据集

 

1.  切换到ServerContainerUnit.pas文件把implementation下的uses子句替换成usesWinapi.Windows,ServerModuleUnit

10分钟10行代码开发APP(delphi 应用案例)_第9张图片

2.  切换到ServerModuleUnit.pas 文件。

3.   在窗体设计器更改Name属性为DSServerModule_Demodata

10分钟10行代码开发APP(delphi 应用案例)_第10张图片


4.   在服务器模块ServerModule配置以下属性

(1)拖放 TSQLConnection 控件到服务器模块,并设置以下属性:

  • 设置 Name 属性为SQLConnection_Demodata.
  • 设置 LoginPrompt 属性为 False.
  • 设置 Driver 属性为 InterBase Server.
  • 展开 Driver节点,设置 DataBase属性为:G:\demo\DataSnap\database\DEMO_DATA.GDB.(本机数据文件位置。)
  • 更改 Connected属性为 True

10分钟10行代码开发APP(delphi 应用案例)_第11张图片

(2)拖放TSQLDataSet控件到服务器模块并设置以下属性

  •  设置 Name 属性为 SQLConnection_login.
  •  设置SQLConnection 属性为SQLDataSet_Demodata.
  •  设置CommandType属性为 ctQuery.
  •  设置 CommandText属性为 select CASE count(id) when 1 then 1else 0 end as cou from T_USER where user_name=:user_nameand pass=:pass

10分钟10行代码开发APP(delphi 应用案例)_第12张图片 


  •  点击Params后面[]按钮,设置参数类型如下:

10分钟10行代码开发APP(delphi 应用案例)_第13张图片

10分钟10行代码开发APP(delphi 应用案例)_第14张图片 

 

  • 更改  Active  属性为 True

 

 

(3)拖放TdataSetProvider控件到服务器模块,并设置以下属性:

  •  设置 Name属性为 DataSetProvider_login.
  •  设置 DataSet属性为 SQLDataSet_login:

10分钟10行代码开发APP(delphi 应用案例)_第15张图片


(4)拖放TSQLDataSet控件到服务器模块并设置以下属性

  •  设置 Name 属性为 SQLDataSet_city.
  •  设置SQLConnection 属性为SQLConnection_Demodata.
  •  设置CommandType属性为 ctTable.
  •  设置CommandText属性为 T_CITY.
  •  设置Active  属性为 True

 10分钟10行代码开发APP(delphi 应用案例)_第16张图片

(5)拖放TdataSetProvider控件到服务器模块,并设置以下属性:

  • 设置 Name 属性为 DataSetProvider_city.
  • 设置 DataSet 属性为 SQLDataSet_city:

10分钟10行代码开发APP(delphi 应用案例)_第17张图片

 

1.3暴露DataSnap 服务器数据集

1.   在窗体设计器中打开ServerContainerUnit.

2.   选择DSServerClass1并更新OnGetClass事件的现有事件处理程序。DSServerClass1事件处理程序中添加以下代码

 

PersistentClass := ServerMethodsUnit.TDSServerModule_Demodata;

1.4运行 DataSnap 服务

右键单击DataSnapServerProject.exe并选择Run Without Debugging

10分钟10行代码开发APP(delphi 应用案例)_第18张图片

运行效果如下:

 10分钟10行代码开发APP(delphi 应用案例)_第19张图片

2、 创建连接到DataSnap服务器的移动应用程序

1.   ProjectManager,右键点击DataSnapTutorialProjectGroup,选择Add New Project

10分钟10行代码开发APP(delphi 应用案例)_第20张图片

2.   Delphi Projects页选择Multi-Device Application

10分钟10行代码开发APP(delphi 应用案例)_第21张图片

3.   保存新单元为DataSnapClientUnit

4.   保存新项目为DataSnapClientProject

5.   打开DataSnapClientUnit更改Name属性为DSClientForm

6.   拖放以下控件到窗体设计器:

1TSQLConnection控件(SQLConnection1)

  • 设置Driver属性为DataSnap.
  • 展开Driver属性并设置HostName 属性为DataSnap服务器的主机名或IP
  • 设置 LoginPrompt 属性为 False
  • 设置 Connected 属性为 True

10分钟10行代码开发APP(delphi 应用案例)_第22张图片

2TDSProviderConnection控件(DSProviderConnection1)

  • 设置 SQLConnection 属性为 SQLConnection1
  • 设置 ServerClassName TDSServerModule_demodata。此名称应匹配 DataSnap服务器的服务器模块中类的名称。
  • 设置 Connected 属性为 True

10分钟10行代码开发APP(delphi 应用案例)_第23张图片

3TClientDataSet控件(ClientDataSet1)

设置 Name属性为ClientDataSet_login

设置 RemoteServer属性为 DSProviderConnection1

设置 ProviderName属性为:DataSetProvider_login这个名称必须与DataSnap服务器提供者的名称匹配。

10分钟10行代码开发APP(delphi 应用案例)_第24张图片

  • 点击Params后面[]按钮,设置参数类型如下:

10分钟10行代码开发APP(delphi 应用案例)_第25张图片

10分钟10行代码开发APP(delphi 应用案例)_第26张图片

  • 设置 Active 属性为 True


 

4TListView控件

  • 设置 Align 属性为 Client
  • 其他设置如下属性:

10分钟10行代码开发APP(delphi 应用案例)_第27张图片

5TLayout控件

  • 设置 Align 属性为Center.

6)两个Tlabel,两个TEDIT,一个按钮控件放入Tlayout中;

  • 分别设置Tlabel属性Text为用户名、密码;.
  • 设置EDIT2 属性PassWordTrue
  • 设置按钮Text属性为登录;

 

7.   打开LiveBindings Designer连接数据的用户界面,如下所示:

1)点击BindSourceDB1中的 COU,拖动到ListView1Visible;

2)点击BindSourceDB1中的 COU,拖动到BindSourceDB2Active;

3)点击BindSourceDB2中的 CITY_NAME,拖动到ListView1Item.Detail;

10分钟10行代码开发APP(delphi 应用案例)_第28张图片 

3选中LinkFillControlToField1,设置下图三个属性;

10分钟10行代码开发APP(delphi 应用案例)_第29张图片

8.   双击按钮,在代码编辑器中输入如入代码:

  if not((Edit1.Text.IsEmpty()) or(Edit2.Text.IsEmpty())) then
  begin
    ClientDataSet_login.Active := False;
    ClientDataSet_login.ParamByName('user_name').Value := Edit1.Text;
    ClientDataSet_login.ParamByName('pass').Value := Edit2.Text;
    ClientDataSet_login.Active := True;
    Layout1.Visible :=not(ClientDataSet_login.FieldByName('cou').AsInteger=1);
  end
  else
    ShowMessage('用户名或密码不能为空。');
 

9.   所有开发完成,可编译运行。发布IOS模拟器前需要部署MIDAS库,具体部署方法可参看Delphi XE8开发iOSAndroid移动应用开发教程[完整中文版]内的介绍。

 

你可能感兴趣的:(10分钟,10行代码,开发APP,delphi应用案例,XE8)