查看: 21|回复: 0

delphi model

[复制链接]

1

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-2-19
发表于 2022-9-17 19:49:00 | 显示全部楼层 |阅读模式

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;

 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部