查看: 24|回覆: 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.

在本版发帖返回顶部