function Summ(n:integer):boolean;
var a,b,c,d:byte;
begin
a:=n div 1000;
b:=n div 100 mod 10;
c:=n div 10 mod 10;
d:=n mod 10;
if a+b=c+d then Summ:=true
else Summ:=false;
end;
В программе
for i:=1001 to 9999 do
begin
if Summ(i) then writeln(i);
if i mod 20=0 then readln;//это чтоб все числа увидеть
end;