Var s,s1,max:string;
begin
write('Введите строку: ');
readln(s);
s:=s+' ';
max:='';
while Pos(' ',s)>0 do
begin
s1:=Copy(s,1,Pos(' ',s)-1);
delete(s,1,Pos(' ',s));
if Length(s1)>Length(max) then max:=s1;
end;
writeln('Самое длинное слово в строке = ',max);
readln;
end.
В качестве разделителя, используйте пробел.