Не совсем понял смысл, но вот:
procedure TForm1.Button1Click(Sender: TObject);
var
i, s: integer;
begin
for i := 0 to (StrToInt(Edit1.Text) - 1) do
begin
if (s > StrToInt(Edit2.Text)) then break;
s := s + StrToInt(Memo1.Lines[i]);
end;
Memo2.Text := IntToStr(s);
end;
Эта штука суммирует числа из Memo1 (числа в строках), пока количество суммируемых не превысит N, либо их сумма не превысит M, либо числа не кончатся