Delphi array of TVarRec类型使用方法

array of TVarRec  //代表传递的动态数组中元素的类型可变,数组大小可变个数可变,网上这个真找不到可以使用的教程。自己摸索了很久才找到了使用方法。

正常都是像下面这样手工添加

Dataset.AppendRecord([1, '张三', 33, True]);

如果要自动添加要怎么操作,查了一下AppendRecord的参数是(TVarRec[])

const Values: array of const

const Values: array of TVarRec

 

TVarRec 可变类型可变长度 参数

用法如下:

var

  param:array of TVarRec; 

SetLength(param,4);
 param[0].VType:=VTInteger;
 param[0].VInteger:=18;
 param[1].VType:=vtPChar;
 param[1].VpChar:=PAnsiChar('TestBinary');
// param[2].VType:=VtInteger;
 param[2].VInteger:=288;
 param[3].VType:=VtBoolean;
 param[3].VBoolean:=FALSE;

dsTemp.AppendRecord(param);

循环体中用法:

var
  param: array of TVarRec; 
--------------------------------------
   SetLength(param,Dataset.FieldCount);
    for k := 0 to Dataset.FieldCount - 1 do
    begin
       sValue := jf.AsObject.GetValues.AsArray[k].AsString;  //取DATA节点下的字段值
       param[K].VType:=vtPWideChar;
       param[K].VPWideChar:=PChar(sValue);

     // Dataset.FieldByName(ColList[k]).AsString := sValue;
     // Dataset.Fields[k].Value:=sValue;                        //上下两种速度是一样的
    end;
    Dataset.AppendRecord(param); 

 

posted @ 2022-10-04 00:15  IT情深  阅读(181)  评论(0编辑  收藏  举报