El codigo q has puesto para comprobar si es un numero primo, no funciona bien.
Para hacer lo q quieres, es mejor un
while o
repeat.
El codigo seria algo parecido a esto:
Código Delphi
[-]function S_primo(n:integer):integer;
var
i, m: Integer;
begin
i:=1; m:=0;
Result:=0;
while m <> n do
begin
if primo(i) then
begin
Result:=Result + i;
Inc(m);
end;
Inc(i);
end;
end;
No lo he probado mucho el codigo q te he puesto, pero diria que funciona.
Saludos.