fltValue := value * 2;
eso dará siempre el mismo resultado y no potencias de 2.
Debes hacer algo como esto:
function tForm1._shl(Value:integer; Despl: integer): integer; var j: integer; begin for j := 1 to Despl do begin Value := Value * 2; Memo2.Lines.Add(IntToStr(Value)); end; result := Value; end;
Otro detalle de menos importancia, no es necesario que esa función pertenezca a la clase tForm1 o a otra, puede ser una función de propósito general.
Saludos.