DELPHI PROTOBUF免费的开源支持库fundamentals5
DELPHI PROTOBUF免费的开源支持库fundamentals5
1、源码URL:
https://github.com/fundamentalslib/fundamentals5
2、编译ProtoCodeGen.exe
下载完上面的文件后,在子目录中找到 ProtocolBuffers\CodeGenApp\ProtoCodeGen.dpr ----- 编译它
3、编译完毕后,得到ProtoCodeGen.exe一个。它就可以把 *.proto 文件,生成为PAS文件了。
4、在D盘下,我新建了一个Google文件夹,把刚刚生成的protocodegen.exe放了进去
在这个文件夹下,我用记事本新建了一个文件,里面的内容如下
message Person {
required string name = 1;
required int32 id = 2;
}
保存为 message.proto
同样,我在Google文件夹下用建立一个叫做 pas_out文件夹
具体编译的指令时这样的。
打开 CMD。(DOS命令行那个,在开始——》运行——》CMD——》回车)
敲入命令
这个时候,去D:\google\pas_out下去找,会发现生成了一个pbMessageMessages.pas文件。
大功告成!!!!!
5、如何使用
新建一个项目
把Fundamentals.ProtoBuf.4.0.01(加压文件夹中的) ProtocolBuffers和Utils目录下的文件拷贝到我们新建的项目下,添加到项目里。
恩,其实并不是都能用的上的。这个自己看生成的pbMessageMessages.pas其他它就需要3个引用
cUtils,
cStrings,
cProtoBufUtils;
加密或者解密(序列化或者反序列化的代码如下)
var p1,p2:TPersonRecord;
len:Integer;
Bt:TBytes;
begin
p1.Name := edtName.Text;
p1.Id := StrToInt(edtID.Text);
SetLength(Bt,100);
//加密
//len := pbEncodeValuePersonRecord(Bt[0],100,p1);
len := pbEncodeValuePersonRecord(Bt[0],100,p1);
SetLength(Bt,len);
mmo1.Lines.Add(IntToStr(len));
//解密
//PersonRecordInit(p2);
len :=pbDecodeValuePersonRecord(Bt[0],len,p2);
mmo1.Lines.Add(IntToStr(len));
mmo1.Lines.Add(p2.Name);
end;
彻底大功告成!!!!!
DELPHI PROTOBUF免费的开源支持库fundamentals5相关推荐
- 十大免费和开源计算机辅助翻译软件
在商业全球化的时代,公司正在跨越地理界限,建立自己的本地业务,以瞄准更广泛的受众和市场.在这种情况下,语言障碍(两个人无法理解对方语言之间的沟通障碍)成为最大的挑战,这可能会阻止企业成长和实现目标. ...
- “易写易库(EXEK)”项目启动,用易语言开发易语言支持库
"易写易库"(EXEK,E Xie E Ku)项目已经启动,用易语言开发易语言支持库.我(liigo)准备用一个月左右的业余时间,完成本项目的一期工程. 用易语言开发易语言支持库, ...
- 2019 年 10 大顶级 Python 支持库
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 安得广厦千万间,大庇天下寒士俱欢颜 ...
- Google开源机器学习示例库:浏览器上可运行,免费GPU后端支持
安妮 编译整理 量子位 出品 | 公众号 QbitAI 青铜段位的机器学习研习者可能有着同样的困境:脑海中有个模糊的项目想法,但不知从何处动手,也不清楚用怎样的方法去实现. 从今天起,有个贴身小 ...
- php icon素材,Feather Icon - 简单漂亮的免费开源图标库
介绍 Feather 是一套面向设计师和开发者的开源图标库,是一个简单漂亮的开源图标库. 每个图标都设计在一个24×24的网格上,强调简单,一致性和易读性.很多大厂出品的前端框架都内置了这款可以免费商 ...
- 2022年10大最受欢迎的顶级机器学习库(免费、开源)
目录 机器学习库到底是什么? 那为什么 机器学习库最受欢迎? 2021 年10大的Python 机器学习库 机器学习库到底是什么? 在人工智能.机器学习开荒的年代,程序员需要手打公式.算法来执行ML认 ...
- GmBox – 支持批量下载谷歌音乐MP3的客户端 (免费开源支持Windows、Linux与Mac)
谷歌音乐对于国人来说绝对是一个伟大的服务,它不仅所有MP3都是合法版权,而且还完全免费开放给大家下载.之前我们介绍过一款 谷歌音乐盒 的PC客户端,可以比网页版更方便地试听与下载正版音乐,可惜它只能在 ...
- css.gg - 一套漂亮的纯 CSS 实现的免费开源图标库
700多个时尚漂亮的 css 图标库,特别适合 UI 设计师和前端开发者下载使用. 700+ CSS 图标 css.gg 是一套纯 css 实现的轻量美观的开源图标库,特点是所有的图形都通过 css ...
- 股票数据爬虫进阶:免费、开源的股票爬虫Python库,实测真香
数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学,点击下方链接报名: 量化投资速成营(入门课程) Python股票量化投资 Python期货量化投资 Pyth ...
最新文章
- Ubuntu 调试的时候,不能查看变量值
- 飞桨框架2.0正式版重磅发布,一次端到端的“基础设施”革新
- python find函数 和index的区别_python中index()与find()的区别
- 揭秘神仙高校的课堂!网友跪了:这就是差距啊!
- 第一百二十九期:阿里内部员工,排查Java问题常用的工具单
- 关于在软件中添加扫描二维码功能的详细步骤及对应的资源。
- python调用ping命令_在Python中调用Ping命令,批量IP的方法
- bzoj4600 [Sdoi2016]硬币游戏 sg函数+结论
- 2016年第七届(C/C++)B组蓝桥国赛题
- wps文档一敲空格就换行_wps敲空格变成点
- python海龟绘图代码大全-编程入门06:Python海龟绘图
- WPS文字表格自动填充序号
- Linux三剑客练习
- 【微信小程序】 map 组件 callout 自定义气泡 (实实在在的讲解)
- part-4 运放噪声快速计算
- Sentinel-1A卫星数据下载
- 【Python】 网格策略回测(日内高频数据)
- 第七周 项目四 队列数组
- linux read函数详解及应用
- There is no getter for property named 'distinct' in 'class cn.ly.item.pojo.SpciGroup'] with root cau
热门文章
- java isequal_Java LocalDate isEqual()用法及代码示例
- ajax编写前台的时候,列表显示部分,表格显示不出来,但是可以获取到数据
- oracle查看session阻塞,oracle查询blocking session阻塞情况
- c#启动mysql数据库服务器_c# - 使用C#应用程序连接Web服务器中的mysql数据库
- python动物代码大全_python爬虫代码大全
- 手机端html5 面试,今日头条 张祖俭 - H5动画在移动平台上的性能优化实践
- Sql为什么连接不上服务器上的数据库
- Spring Boot基础学习笔记10:配置国际化页面
- 大数据学习笔记40:Hive - 内置函数(3)
- 二级VB培训笔记08:公共基础知识