Sign in Join
FPDoc Onlineexperiment

Exclude procedure

In unit System

Exclude element from a set if it is present.

Declaration

pascal
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

Example: ex111

pascal
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.

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.