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;