No Delphi, podemos criar uma função para contar o número de palavras em uma string fornecida.
Código da Função
A função WordsCount
percorre a string, identificando palavras separadas por espaços.
function WordsCount(s: string): integer;
var
ps: PChar;
nSpaces, n: integer;
begin
n := 0;
s := Trim(s) + #0; // Remove espaços extras e adiciona um caractere nulo no final
ps := @s[1];
while ps^ <> #0 do
begin
// Ignora espaços em branco
while (ps^ = ' ') and (ps^ <> #0) do
Inc(ps);
nSpaces := 0;
// Conta os caracteres da palavra
while (ps^ <> ' ') and (ps^ <> #0) do
begin
Inc(nSpaces);
Inc(ps);
end;
// Se encontrou uma palavra, incrementa o contador
if nSpaces > 0 then
Inc(n);
end;
Result := n;
end;
Como Usar?
Para utilizar a função e contar palavras em um TMemo
, por exemplo:
ShowMessage('Número de palavras: ' + IntToStr(WordsCount(Memo1.Text)));
Como Funciona?
- Remove espaços extras no início e no final da string.
- Percorre cada caractere, ignorando espaços.
- Conta palavras separadas por espaços.
Conclusão
Essa função é útil para contar palavras em textos, frases ou inputs de usuários. Pode ser aplicada em editores de texto, processadores de dados e muito mais.