dellphi可变数组
dellphi可变数组
unit Unit1; interface uses DB, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} type TRec = array of TVarRec; procedure addRec(var P: TRec; values: array of const); var i: integer; begin Setlength(P, High(values) + 1); for i := Low(P) to High(P) do begin P[i].VType := values[i].VType; case values[i].VType of vtInteger: P[i].VInteger := values[i].VInteger; vtInt64: P[i].VInt64 := values[i].VInt64; vtBoolean: P[i].VBoolean := values[i].VBoolean; VtChar: P[i].VPchar := values[i].VPchar; vtString: P[i].VString := values[i].VString; vtAnsiString: P[i].VAnsiString := values[i].VAnsiString; vtWideString: P[i].VWideString := values[i].VWideString; vtPointer: P[i].VPointer := values[i].VPointer; end; end; end; procedure TForm1.Button1Click(Sender: TObject); var p, p2: TRec; //array of TVarRec; i, l: integer; b:array of Byte; begin addRec(p, ['中华人民共和国', 123]); l:=SizeOf(p); SetLength(b,l); Move(p, b[0], l); SetLength(p2, l); Move(b[0], p2, l); for i := low(p2) to high(p2) do case p2[i].VType of vtInteger: ShowMessage(IntToStr(p2[i].VInteger)); //中华人民共和国 VtChar, vtString, vtAnsiString: ShowMessage(p[i].VPchar); //123 end; end; end.
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/16053567.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2018-03-25 安卓安装ZXING(二维码)SDK
2015-03-25 JSON如何序列图片
2012-03-25 处理死锁