El codigo que has mostrado convierte a binario y no a decimal.
Una variable entera que es lo que retornas en la funcion de conversion ya se guarda en formato binario
que es lo unico que entienden los procesadores.
Lo que pretendes seguramente es crear un string con una representacion binaria en ascii de la variable entera.
Para ello puedes usar un codigo como este (ojo no se si compila):
Código:
function FormatBin(n:Cardinal ):string;
var
p:PChar;
begin
Result:= StringOfChar('0',sizeof(n));
p:= @Result[sizeof(n)];
while n<>0 do begin
p^:= '01' [n AND 1];
Dec(p);
n:= n SHR 1;
end{while};
end;
Salud2 !!!