Fórum Contar Letras #333639

24/11/2006

0

Pessoal,

Alguem sabe alguma rotina ou forma para contar quantas letras tem em uma palavra.

Agradeço Antecipadamente.


Marcelovms

Marcelovms

Responder

Posts

24/11/2006

Adriano_servitec

Pessoal, Alguem sabe alguma rotina ou forma para contar quantas letras tem em uma palavra. Agradeço Antecipadamente.

Olah amigo serah que eh isso que vc deseja

//Para contar quantos caracteres existem em uma frase, declare a seguinte função:
function WordsCount(s: string): integer;
var
ps: PChar;
nSpaces,n,o : integer;
begin
//total de palavras
n := 0;
//total de letras
o := 0;
s := s + #0;
ps := @s[ 1 ];
while( 0 <> ps^ ) do
begin
while((´ ´ = ps^)and(0 <> ps^)) do
begin
inc( ps );
//conta total de letras
inc(o);
end;
nSpaces := 0;
while((´ ´ <> ps^)and(0 <> ps^))do
begin
inc(nSpaces);
inc(ps);
//conta total de letras
inc(o);
end;
if ( nSpaces > 0 ) then
begin
inc( n );
end;
end;
//recebe o total de letras contadas incluindo os espacos
Result := o;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
label1.caption:=FloatToStr(WordsCount(Edit1.Text))
end;


Usei um edit e button e um label para msotrar o resultado


Responder

Gostei + 0

24/11/2006

Marcelovms

Não tá funcionando, aparece o erro que WordsCount não foi declarado, coisa semelhante.

Tem que declarar alguma coisa???

O Function ficará junto aos Procedures???

valeu Colega.

Sds


Responder

Gostei + 0

24/11/2006

Paullsoftware

Deixando o código enxuto!!

coloque um Edit, um button e label, no OnClick do button faça:
Label1.Caption := IntToStr(Length(Edit1.Text))

se é só contar os caracteres isso serve! :wink:


Responder

Gostei + 0

24/11/2006

Nightshade

o length(String) nao serve?
ele mosra o tamanho da tua string, pegando inclusive os espaços dela na contagem..

pelo q entendi da sua pergunta eh isso q vc ker certo?


Responder

Gostei + 0

24/11/2006

Massuda

O código do adriano_servitec conta quantas palavras tem na string.

Se quiser saber o tamanho de uma string, use Length() como indicado pelos outros colegas.

Para saber quantas letras tem numa string, faça algo assim:
var
  S: string;
  I: Integer;
  N: Integer;
...
  S := ´jk3 iuew 09f j98 r32uj sdfo´
  N := 0;
  for I := 1 to Length(S) do begin
    if UpCase(S[I]) in [´A´..´Z´] then begin
      Inc(N);
    end;
  end;
  // N tem o total de letras (caracteres entre A e Z) em S
...



Responder

Gostei + 0

24/11/2006

Adriano_servitec

Não tá funcionando, aparece o erro que WordsCount não foi declarado, coisa semelhante. Tem que declarar alguma coisa??? O Function ficará junto aos Procedures??? valeu Colega. Sds

Nao nao precisa declarar nada nao.
Mai no caso acho codigo do [b:7865b6adfd]paullsoftware[/b:7865b6adfd] que esse fica melhor

Label1.Caption := IntToStr(Length(Edit1.Text))
e como ele disse mais enxuto


Responder

Gostei + 0

24/11/2006

Marcelovms

Muito obrigado galera, funcionou Blz.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar