delphi model

delphi model

model就是record(记录或结构体)。model来源于以下几种途径。面向model编程适用于任何开发语言。

1)人工书写model。

复制代码
type
  Ttunit = record
    [Serialize(1)] unitid: string;
    [Serialize(2)] unitname: string;
  end;

  TtunitArray = record
    [Serialize(1)] status: integer;
    [Serialize(2)] exception: string;
    [Serialize(3)] message: string;
    [Serialize(4)] tunits: TArray<Ttunit>;
  end;

  TRes = record
    [Serialize(1)] status: integer;
    [Serialize(2)] exception: string;
    [Serialize(3)] message: string;
  end;
复制代码

2)从数据表生成。

这个一般是通过工具自动生成,当然也可以人工书写(太费时)。

 

3)从*.proto生成。

这个一般是通过工具自动生成,当然也可以人工书写(太费时)。一般用于3方异构系统对接,只需要提供*.proto文件即可。

准备好*.proto文件。

通过工具将*.proto翻译为pascal代码。

得到pascal代码。

最后程序操作的都是model。

复制代码
procedure TForm1.Button5Click(Sender: TObject);
//json查询
begin
  var t: TtunitArray := TRest.select<TtunitArray>('tunit');
  if t.Status = 500 then
  begin
    ShowMessage(t.Exception);
    Exit;
  end;
  FDMemTable1.EmptyDataSet;
  FDMemTable1.DisableControls;
  for var dw: Ttunit in t.tunits do
    FDMemTable1.AppendRecord([dw.Unitid, dw.Unitname]);
  FDMemTable1.First;
  FDMemTable1.EnableControls;
end;
复制代码

 

posted @   delphi中间件  阅读(331)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2021-09-17 咏南GO数据库中间件
2019-09-17 fdconnection自动重连
2018-09-17 INDY10 IDHTTPSERVER返回中文不乱码
2018-09-17 mormot当作内存数据库(缓存)使用
2014-09-17 快餐触摸屏收银系统
点击右上角即可分享
微信分享提示