Можно конечно все написать руками, но у вас Delphi а не Pascal, а потому грех не использовать его средства.
Код:
Var
T: String;
i: Integer;
begin
T := 'Дано предложение. Вывести на экран длины всех слов строки.';
with TStringList.Create
do begin
Text := StringReplace(T,#32,#13,[rfReplaceAll]);
for i := 0 to Count - 1
do Memo1.Lines.Add(Strings[i] + ' ' + IntToStr(Length(Strings[i])));
Free;
end;
end;