caracteres repetidos
Como faço para controlar caracteres repetidos dentro de uma edit...
ex.: CCC, AAA
vlw
ex.: CCC, AAA
vlw
Greghowe
Curtidas 0
Respostas
Rjun
26/08/2005
Oq especificamente vc quer fazer?
GOSTEI 0
Greghowe
26/08/2005
pretendo travar o usuário de colocar mais de 2 caracteres repetidos... caso ele digite mais de dois Key deve receber #0.
GOSTEI 0
Rjun
26/08/2005
Por exemplo, ele pode digitar 2 vezes a letra ´A´ ou só uma vez ´A´.
GOSTEI 0
Rjun
26/08/2005
Crie uma função para contar o numero de vezes que o caracter informado ocorre dentro do texto.
Depois no evento OnKeyPress coloque o seguinte código:
function Repeticoes(substr, texto: string): integer; var i: integer; begin result := 0; for i := 1 to Length(texto) do if (texto[i] = substr) then result := result + 1; end;
Depois no evento OnKeyPress coloque o seguinte código:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if Repeticoes(Key, Edit1.Text) >= 2 then Key := 0; end;
GOSTEI 0
Greghowe
26/08/2005
vlw...
GOSTEI 0
Sandra
26/08/2005
Sex Ago 26, 2005 2:52 pm
[b:100240f71b][color=red:100240f71b]Obs.:[/color:100240f71b][/b:100240f71b] Somemte complementando: este tópico com uma resposta do usuário [b:100240f71b]greghowe[/b:100240f71b], pois ao invés de clicar no botão *Responder*, escolheu *Novo tópico* (este *Novo tópico* foi excluído para não dispersar o andamento desta dúvida/problema).
isso mas naum mais que 3 vezes
[b:100240f71b][color=red:100240f71b]Obs.:[/color:100240f71b][/b:100240f71b] Somemte complementando: este tópico com uma resposta do usuário [b:100240f71b]greghowe[/b:100240f71b], pois ao invés de clicar no botão *Responder*, escolheu *Novo tópico* (este *Novo tópico* foi excluído para não dispersar o andamento desta dúvida/problema).
GOSTEI 0
Rjun
26/08/2005
Pelo seu numero de mensagens você deve ser novo no forum. Recomendo você a leitura das Regras de conduta. Não crie tópicos novos para falar sobre um tópico q vc mesmo criou. Se a questão não foi resolvida, permaneça no mesmo tópico.
Agora vamos a questão. Não deve haver repetição em sequencia? Não posso ter AAA mas posso ter ArArA? É isso?
Agora vamos a questão. Não deve haver repetição em sequencia? Não posso ter AAA mas posso ter ArArA? É isso?
GOSTEI 0
Greghowe
26/08/2005
isto exatamente... os caracteres somente naum podem ser escritos em sequencia.
GOSTEI 0
Andremuller
26/08/2005
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var s1, s2, s3: string; iTam: integer; begin iTam := Length(Edit1.Text); if iTam >= 2 then begin s1 := Key; s2 := Edit1.Text[iTam]; s3 := Edit1.Text[iTam - 1]; if (s1 = s2) and (s2 = s3) then Key := 0; end; end;
GOSTEI 0