我想知道是否有一种方法可以用帕斯卡制作一组记录。我正在寻找整个互联网,并相信这是不可能的。
type
TRecord = record
StrField: string;
IntField: Integer;
end;
TSetOfRecord = set of TRecord;
我想知道是否有一种方法可以用帕斯卡制作一组记录。我正在寻找整个互联网,并相信这是不可能的。
type
TRecord = record
StrField: string;
IntField: Integer;
end;
TSetOfRecord = set of TRecord;
是的,集合成员不可能是序数类型。据我所知,您也只能拥有有限数量的成员,255 个响铃。
似乎比您的记录中的组合更多,但尚不清楚是什么定义了成员的唯一性。
“记录集”没有意义。我猜你的意思是“收集记录”。如果是这种情况,您可以通过多种方式实现它。
我建议使用“开放数组”(与“动态数组”不同)。
您需要编写几个自己的例程,其中一个是:
function RecordInCollection(const ARecord: TYourRecord; const ACollection: array of TYourRecord): Boolean;
var
Index1: Integer;
begin
Result := False;
for Index1 := Low(ACollection) to High(ACollection) do begin
Result := (ACollection[Index1].StrField = ARecord.StrField) and (ACollection[Index1].IntField = ARecord.IntField);
if Result then Exit;
end;
end;
并这样称呼它:
RecordInCollection(Record1, [Record2, Record3, Record4])
或者您可以使用预先声明的常量数组而不是 [Record2, Record3, Record4]。