Введи глобальную переменную строкового типа и добавь в процедуры кнопок, чтобы в эту строку при нажатии на "4" добавлялась четвёрка, нажатие на "+" - плюс, а при нажатии на "=" - знак равенства и, собственно, ответ, после чего эта строка выводилась в Memo и переменная очищалась
Трудно сказать не видя структуры твоего калькулятора. Если у тебя два поля для ввода чисел (edit1 и edit2), а результат записываешь в Memo1 (кстати, а зачем именно тип Memo?), то можно сделать следующим образом (пример для кнопок "+" и "-")
procedure TForm1.PlusClick(Sender: TObject); var x,y:real; r:string; begin val(edit1.Text,x); val(edit2.Text,y); str(x+y,r); Memo1.Lines[0]:=edit1.Text+'+'+edit2.Text+'='+r; end;
procedure TForm1.MinusClick(Sender: TObject); var x,y:real; r:string; begin val(edit1.Text,x); val(edit2.Text,y); str(x-y,r); Memo1.Lines[0]:=edit1.Text+'-'+edit2.Text+'='+r; end;
procedure TForm1.PlusClick(Sender: TObject);
var x,y:real;
r:string;
begin
val(edit1.Text,x);
val(edit2.Text,y);
str(x+y,r);
Memo1.Lines[0]:=edit1.Text+'+'+edit2.Text+'='+r;
end;
procedure TForm1.MinusClick(Sender: TObject);
var x,y:real;
r:string;
begin
val(edit1.Text,x);
val(edit2.Text,y);
str(x-y,r);
Memo1.Lines[0]:=edit1.Text+'-'+edit2.Text+'='+r;
end;