Funçao para nao incluir mais de duas letras repetidas?

Delphi

24/10/2005

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

Curtidas 0

Respostas

Marlon Spiess

Marlon Spiess

24/10/2005

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


GOSTEI 0
Marco Salles

Marco Salles

24/10/2005

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



GOSTEI 0
Adriano_servitec

Adriano_servitec

24/10/2005

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


GOSTEI 0
POSTAR