Ir para conteúdo
Fórum Script Brasil
  • 0

Contar Letras (RESOLVIDO)


Kristian

Pergunta

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

  • 0

essa código que você está usando é pra contar palavras, pra contar letras use esse:

function WordsCount( s : string ) : integer;
var
  ps: PChar;
  nSpaces,n,o : integer;
begin
   n := 0;
   o := 0;
   s := s + #0;
   ps := @s[ 1 ];
   while( #0 <> ps^ ) do begin
      while((' ' = ps^)and(#0 <> ps^)) do begin
         inc( ps );
         inc(o);
      end;
      nSpaces := 0;
      while((' ' <> ps^)and(#0 <> ps^))do begin
         inc(nSpaces);
         inc(ps);
         inc(o);
      end;
      if ( nSpaces > 0 ) then
         inc( n );
   end;
   Result := o;
end;

wink.gif

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...