--- ---

You can exchange two integers without using a third temporary variable as follows, assuming A and B are integers with values assigned:

    A := A + B;
    B := A - B;
    A := A - B;

To demonstrate this, drop two TEdit controls and one TButton on a form in a new Delphi VCL forms project and create an OnClick event handler for the button as follows:

    procedure TForm1.Button1Click(Sender: TObject);
    var
      A, B: Integer;
    begin
      A := StrtoInt(Edit1.Text);
      B := StrtoInt(Edit2.Text);
      A := A + B;
      B := A - B;
      A := A - B;
      Edit1.Text := InttoStr(A);
      Edit2.Text := InttoStr(B);
    end;

Now enter a numbers in both edit controls. Clicking the button should swap the numbers in the controls.