zoukankan      html  css  js  c++  java
  • fundamentals5 protobuf使用

    fundamentals5 protobuf使用

    1)编辑.proto结构文件

    2)编译生成ProtoBufCodeGen.exe。

    .ProtoBufCodeGen tables.proto

    3)根据.proto结构文件自动生成pascal源码文件pbTablesMessages.pas。

    3)编写测试代码

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      var t: TTablesRecord;
      SetLength(t.GoodsArr, 1);
      SetLength(t.UnitsArr, 9999);
    
      var sp: TGoodsRecord;
      sp.Goodsid_HasValue := True;
      sp.Goodsid := '1';
      sp.Goodsname_HasValue := true;
      sp.Goodsname := '商品';
      t.GoodsArr[0] := sp;
    
      var dw: TUnitsRecord;
      for var i: Integer := 0 to 9998 do
      begin
        dw.Unitid_HasValue:=true;
        dw.Unitid := i.ToString;
        dw.Unitname_HasValue:=true;
        dw.Unitname := i.ToString;
        t.UnitsArr[i] := dw;
      end;
    
    
      var b: tbytes;
      var l: Integer := SizeOf(sp) + SizeOf(dw)*9999;
      SetLength(b, l);
      l := pbEncodeValueTablesRecord(b[0], l, t);
    
      var t2: TTablesRecord;
      l := pbDecodeValueTablesRecord(b[0], l, t2);
      for var dw2: TUnitsRecord in t2.UnitsArr  do
      begin
        Memo1.Lines.Add(dw2.Unitid);
        Memo1.Lines.Add(dw2.Unitname);
      end;
    end;
    

      

  • 相关阅读:
    lnmp环境搭建
    Git常用命令
    博客园写随笔环境搭建
    Win常用软件
    Docker环境搭建
    ESP-8266 RTOS 环境搭建
    查看Linux信息
    博客园markdown语法
    Java后台技术(TDDL)
    Java后台技术(Dubbo入门)
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/15164910.html
Copyright © 2011-2022 走看看