Skip to content

Exclude

Exclude element from a set if it is present.

Declaration

Source position: system.fpd line 44

  procedure Exclude(var S: TSetType; E: TSetElement);

Description

Exclude removes E from the set S if it is included in the set. E should be of the same type as the base type of the set S.

Thus, the two following statements do the same thing:

S:=S-[E];
Exclude(S,E);

Errors

If the type of the element E is not equal to the base type of the set S, the compiler will generate an error.

See also

Name Description
Include Include element in set if it was not yet present.

Example

program Example111;
{ Program to demonstrate the Include/Exclude functions }
Type
  TEnumA = (aOne,aTwo,aThree);
  TEnumAs = Set of TEnumA;
Var
  SA : TEnumAs;
  Procedure PrintSet(S : TEnumAs);
  var
    B : Boolean;
    procedure DoEl(A : TEnumA; Desc : String);
    begin
      If A in S then
        begin
        If B then
          Write(',');
        B:=True;
        Write(Desc);
        end;
    end;
  begin
    Write('[');
    B:=False;
    DoEl(aOne,'aOne');
    DoEl(aTwo,'aTwo');
    DoEl(aThree,'aThree');
    Writeln(']')
  end;
begin
  SA:=[];
  Include(SA,aOne);
  PrintSet(SA);
  Include(SA,aThree);
  PrintSet(SA);
  Exclude(SA,aOne);
  PrintSet(SA);
  Exclude(SA,aTwo);
  PrintSet(SA);
  Exclude(SA,aThree);
  PrintSet(SA);
end.