'Set di record' non ha senso. Immagino tu intenda "raccolta di record". In questo caso, puoi implementarlo in più modi.
Quello che consiglierei sarebbe utilizzare "open array" (non lo stesso di "array dinamici").
Avresti bisogno di scrivere un paio di le routine, uno è questo:
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;
e chiamare in questo modo:
RecordInCollection (Record1, [Record2, RECORD3, Record4])
oppure è possibile utilizzare array costanti pre-dichiarati anziché [Record2, Record3, Record4].
Il tipo di base di un set in pascal è ordinale. –
Chiediti quanto sarebbe grande un insieme di tutte le possibili stringhe. –