Fórum Funçao para nao incluir mais de duas letras repetidas? #300528

24/10/2005

0

Boa tarde a todos. Estou novamente com uma duvida.

Tem alguma funçao que reconheça quando digito mais de dis caracteres nas palavras no edit?

Ex:
Tipo se eu digitar PASSSARO, me de uma mensagem de erro.

O que eu quero nao eh um tipo de dicionario que corriga a palavra e sim uma funçao que nao me deixe repetir mais de duas vezes a mesma letra em uma palavra.


Obrigado mais uma vez


Adriano_servitec

Adriano_servitec

Responder

Posts

24/10/2005

Marlon Spiess

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
ind : integer;
qtd : integer;
txt : string;
begin
txt := Edit1.Text;
qtd := 0;
for ind := length(txt) downto length(txt)-2 do
begin
if ind > 0 then
if txt[ind] = key then
inc(qtd);
end;
if qtd > 1 then
key := chr(0);
end;



Espero ter ajudado


Responder

Gostei + 0

24/10/2005

Marco Salles

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if pos(char(key),Edit1.text) > 0 Then
   key:=#0;
end;



Responder

Gostei + 0

25/10/2005

Adriano_servitec

Ola amigos testei as duas funçoes e;

A 1ª do colega Marlon Henrique Spiess, funciona direitinho do jeito que eu queria.

A 2ª do colega Marco Salles, funciona mais nao exatamente como eu queria, por exemplo se eu ter que digitar ADRIANO no edit vai me aparecer assim: ADRINO, aqui neste caso nao deixa repetir a mesma letra no edit.

Obrigado amigos pelas dicas.

Abraço a todos
T+
Adriano


Responder

Gostei + 0

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

Aceitar