微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

delphi 两个有意思的函数

函数可以用variant返回多个字段的值

function TDataSet.GetFieldValue(const FieldName: string): Variant;

var
  I: Integer;
  Fields: TList;
begin
  if Pos(';',FieldName) <> 0 then
  begin
    Fields := TList.Create;
    try
      GetFieldList(Fields,FieldName);
      Result := VararrayCreate([0,Fields.Count - 1],varVariant);
      for I := 0 to Fields.Count - 1 do
        Result[I] := TField(Fields[I]).Value;
    finally
      Fields.Free;
    end;
  end else
    Result := FieldByName(FieldName).Value

end;

---此函数可以返回FieldNames中多个字段中第pos个字段的字段名,在db文件中;ps:我手里有一组api,也是类似功能。应该比它更强大,因为接口有Mask字段,不知道性能怎么样?

ExtractFieldName(FieldNames,Pos);

--可以在不影响dataset游标的情况下返回指定的值--ps:太爽啦,找了几年这个函数,终于找到了。

function Lookup(const KeyFields: String; const keyvalues: Variant; const ResultFields: String): Variant; override;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐