In-out parameters

Functions

procedure SwapStrings(var S1, S2: string);
var
  Tmp: string;
begin
  Tmp := S1;
  S1 := S2;
  S2 := Tmp;
end;

var
  S1, S2: string;
begin
  S1 := 'A';
  S2 := 'B';

  SwapStrings(S1, S2);
  //s1 is 'B', s2 is 'A'

  WriteLn('s1 is ', S1, ', s2 is ', S2);
end.