2 Denkfehler:
1. Die Übergabe muss ByReference erfolgen, sonst sind alle Änderungen nach Abarbeitung verschwunden (also das Wörtchen var vor die Parameter).
2. Wenn Du das so machst, haben beide Variablen anschließend immer denselben Wert, da Du keinen Puffer verwendest.
Also so:
Delphi-Quellcode:
procedure tausche (var x, y: integer);
var temp: integer;
begin
temp := x;
x := y;
y := temp;
end;