Hola, quizá una función como esta te sirva:
Código Delphi
[-]
function Palabras(Cadena:string):integer;
var
n:integer;
AntEspacio:boolean;
begin
AntEspacio:=FALSE;
If Cadena='' then Result:=0 else Result:=1;
for n:=1 to Length(Cadena) do
begin
if AntEspacio and
(Cadena[n]<>' ')and
(Cadena[n]<>#13)and
(Cadena[n]<>#10)
then Inc(Result);
AntEspacio:=(Cadena[n]=' ') or
(Cadena[n]=#13) or
(Cadena[n]=#10);
end;
end;
Saludos