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

满堂花醉三千客,一剑霜寒十四洲。这篇文章主要讲述10分钟10行代码开发APP(delphi 应用案例)相关的知识,希望能为你提供帮助。
总结一下用到的知识(开发环境安装配置不计算在内):

  •   第六章  使用不同风格的按钮;
  •   第十七章  让布局适应不同大小与方向的窗体;
  •   第二十五章  使用 dbExpress访问 InterBase ToGo
  •   第二十九章  从移动客户端连接到企业数据库;
 
以下是具体制作步骤:
 
1、创建DataSnap服务VCL应用程序 1.1 创建服务程序新建一个项目:Delphi Projects > DataSnap Server > DataSnap Server
 
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
 
1.    第一步,选择Forms Application项目类型。
 
 
10分钟10行代码开发APP(delphi 应用案例)

文章图片

2.    第二步,VCL Application应用程序类型。
 
10分钟10行代码开发APP(delphi 应用案例)

文章图片
 
3.    第三步,在服务器功能列表是选择TCP/IP协议、Server Methods Class、Sample Methods。
 
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
 
4.    第四步,保留默认的TCP/ IP通信端口211。这将确保客户端和服务器之间的通信将通过默认 DataSnap 端口。
 
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
 
 
5.    选择服务器继承至TDSServerModule。
 
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
 
6.      保存窗体单元为DataSnapServerUnit。
7.      切换到DataSnapServerUnit,并将窗体的Name属性更改为DSServerForm。
8.    保存服务器方法单元 (默认情况下,通过该向导所创建︰  ServerMethodsUnit1)作为ServerModuleUnit。
9.      保存服务器容器单元 (默认情况下,通过该向导所创建︰  ServerContainerUnit1)作为ServerContainerUnit。
10.       将新项目保存为DataSnapServerProject。
11.    在Project Manager选择 ProjectGroup1,并将项目另存为DataSnapTutorialProjectGroup.groupproj.
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
1.1定义DataSnap 服务器上的数据集 
1.  切换到ServerContainerUnit.pas文件把implementation下的uses子句替换成:usesWinapi.Windows,ServerModuleUnit。
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
2.  切换到ServerModuleUnit.pas  文件。
3.    在窗体设计器,更改Name属性为DSServerModule_Demodata。
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
4.    在服务器模块(ServerModule)配置以下属性:
(1)拖放 TSQLConnection 控件到服务器模块,并设置以下属性:
  • 设置 Name 属性为SQLConnection_Demodata.
  • 设置 LoginPrompt 属性为 False.
  • 设置 Driver 属性为 InterBase Server.
  • 展开 Driver节点,设置 DataBase属性为:G:demoDataSnapdatabaseDEMO_DATA.GDB.(本机数据文件位置。)
  • 更改 Connected属性为 True。
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
(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 应用案例)

文章图片
 
 
 
  •   点击Params后面[… ]按钮,设置参数类型如下:
10分钟10行代码开发APP(delphi 应用案例)

文章图片

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

文章图片
 
 
 
 
  • 更改   Active   属性为 True。
 
 
(3)拖放TdataSetProvider控件到服务器模块,并设置以下属性:
  •   设置 Name属性为 DataSetProvider_login.
  •   设置 DataSet属性为 SQLDataSet_login:
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
(4)拖放TSQLDataSet控件到服务器模块,并设置以下属性:
  •   设置 Name 属性为 SQLDataSet_city.
  •   设置SQLConnection 属性为SQLConnection_Demodata.
  •   设置CommandType属性为 ctTable.
  •   设置CommandText属性为 T_CITY.
  •   设置Active   属性为 True。
 
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
(5)拖放TdataSetProvider控件到服务器模块,并设置以下属性:
  • 设置 Name 属性为 DataSetProvider_city.
  • 设置 DataSet 属性为 SQLDataSet_city:
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
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 应用案例)

文章图片

 
运行效果如下:
 
 
10分钟10行代码开发APP(delphi 应用案例)

文章图片

2、 创建连接到DataSnap服务器的移动应用程序1.    在 ProjectManager,右键点击DataSnapTutorialProjectGroup,选择Add New Project。
10分钟10行代码开发APP(delphi 应用案例)

文章图片

2.    在Delphi Projects页选择Multi-Device Application:
10分钟10行代码开发APP(delphi 应用案例)

文章图片


 
3.    保存新单元为DataSnapClientUnit。
4.    保存新项目为DataSnapClientProject。
5.    打开DataSnapClientUnit,更改Name属性为DSClientForm。
6.    拖放以下控件到窗体设计器:
(1)TSQLConnection控件(SQLConnection1)
  • 设置Driver属性为DataSnap.
  • 展开Driver属性,并设置HostName  属性为DataSnap服务器的主机名或IP。
  • 设置 LoginPrompt 属性为 False。
  • 设置 Connected 属性为 True。
10分钟10行代码开发APP(delphi 应用案例)

文章图片

(2)TDSProviderConnection控件(DSProviderConnection1)
  • 设置 SQLConnection 属性为 SQLConnection1。
  • 设置 ServerClassName为 TDSServerModule_demodata。此名称应匹配 DataSnap服务器的服务器模块中类的名称。
  • 设置 Connected 属性为 True。
10分钟10行代码开发APP(delphi 应用案例)

文章图片

(3)TClientDataSet控件(ClientDataSet1)
l  设置 Name属性为ClientDataSet_login。
l  设置 RemoteServer属性为 DSProviderConnection1。
l  设置 ProviderName属性为:DataSetProvider_login。这个名称必须与DataSnap服务器提供者的名称匹配。
10分钟10行代码开发APP(delphi 应用案例)

文章图片

  • 点击Params后面[… ]按钮,设置参数类型如下:
10分钟10行代码开发APP(delphi 应用案例)

文章图片

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

文章图片

  • 设置 Active 属性为 True。
 
 
(4)TListView控件
  • 设置 Align 属性为 Client。
  • 其他设置如下属性:
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
(5)TLayout控件
  • 设置 Align 属性为Center.
(6)两个Tlabel,两个TEDIT,一个按钮控件放入Tlayout中;
  • 分别设置Tlabel的属性Text为用户名、密码;.
  • 设置EDIT2 属性PassWord为True;
  • 设置按钮Text属性为登录;
 
7.    打开LiveBindings Designer连接数据的用户界面,如下所示:
(1)点击BindSourceDB1中的 COU,拖动到ListView1中Visible;
(2)点击BindSourceDB1中的 COU,拖动到BindSourceDB2中Active;
(3)点击BindSourceDB2中的 CITY_NAME,拖动到ListView1中Item.Detail;
10分钟10行代码开发APP(delphi 应用案例)

文章图片
 
 
(3)选中LinkFillControlToField1,设置下图三个属性;
10分钟10行代码开发APP(delphi 应用案例)

文章图片

 
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开发iOS和Android移动应用开发教程[完整中文版]》内的介绍
【10分钟10行代码开发APP(delphi 应用案例)】 

    推荐阅读