Можно попробовать через функцию Pos(Что ищем(Char), где ищем(строка)). Возвращает позицию символа(больше 0).
Итак примерный код такой:
//циклом проверяем наличие пробелов в строке и записываем позицию в переменную.
var words,position:integer;
while Pos(" ",text)<>0 do
begin
position:=Pos(" ",text);
Delete(text,position,1); //удаляем символы из строки с Позиции, в кол-ве 1 штука
Words:=words+1;
end;
как то так.