To com um probleminha aqui, deve ser burrice minha pois procurei em varios lugares e só encontrei essa função para contar letras, dem uma olhada para ver o que estou fazendo errado...
Function WordsCount( s : string ) : integer;
var
ps: PChar;
nSpaces,n : integer;
begin
n := 0;
s := s + #0;
ps := @s[ 1 ];
while( #0 <> ps^ ) do
begin
while((' ' = ps^)and(#0 <> ps^)) do
begin
inc( ps );
end;
nSpaces := 0;
while((' ' <> ps^)and(#0 <> ps^))do
begin
inc(nSpaces);
inc(ps);
end;
if ( nSpaces > 0 ) then
begin
inc( n );
end;
end;
Result := n;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text := IntToStr(WordsCount(Edit1.Text));
end;
A palvra a ter as letras contadas está dentro do Edit1.text, só que meu resultado é sempre "1". O que eu estou fazendo errado?
Pergunta
Kristian
Dae galera...
To com um probleminha aqui, deve ser burrice minha pois procurei em varios lugares e só encontrei essa função para contar letras, dem uma olhada para ver o que estou fazendo errado...
Function WordsCount( s : string ) : integer;
var
ps: PChar;
nSpaces,n : integer;
begin
n := 0;
s := s + #0;
ps := @s[ 1 ];
while( #0 <> ps^ ) do
begin
while((' ' = ps^)and(#0 <> ps^)) do
begin
inc( ps );
end;
nSpaces := 0;
while((' ' <> ps^)and(#0 <> ps^))do
begin
inc(nSpaces);
inc(ps);
end;
if ( nSpaces > 0 ) then
begin
inc( n );
end;
end;
Result := n;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text := IntToStr(WordsCount(Edit1.Text));
end;
A palvra a ter as letras contadas está dentro do Edit1.text, só que meu resultado é sempre "1". O que eu estou fazendo errado?
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados