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

Usando um Replace


Arrais Júnior

Pergunta

olá, tou com um RichEdit com um texto "padrão", nesse texto padrão tenho algumas palavras que gostaria de alterar como *H*O*R*A*, *N*O*M*E*, etc....

eu gostaria de saber se não existe uma maneira de por exemplo:

colocar um Edit1 + um Botão para que quando apertasse no Botão mudasse automativamente o texto *H*O*R*A* para o que estivesse no Edit1.....fazendo tipo um Localizar e Substituir....

alguma idéia de como eu faria isso?

OBS: já procurei aqui no forum sobre como usar o FindDialogs só que não consegui ver uma aplicação para o que eu tou querendo...sorry...

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Tenta assim:

procedure TfrmPrincipal.Button1Click(Sender: TObject);
var
i : integer;
begin
for i := 0 to RichEdit1.Lines.Count - 1 do
begin

if RichEdit1.Lines[i] = '*H*O*R*A*' then
begin
RichEdit1.Lines[i] := Edit1.text;
Break;
end;

end;
end;

Subi um executavel com fonte pra você dar uma testada :D

Abraços

LocalizaeSubstitui.rar

Link para o comentário
Compartilhar em outros sites

  • 0

muito bom o exemplo Douglas era exatamente o que eu estava procurando....porém....notei que ele não substitui palavras que estão no meio de uma frase tipo...

Hoje *D*A*T*A*, por volta das *H*O*R*A*.....

ele só ta substituindo se a palavra estiver no começo da frase....

alguma maneira de fazer ele tipo pesquisar em todo o texto e substituir?

vlws..

Link para o comentário
Compartilhar em outros sites

  • 0

vlws jhonas, infelizmente não consegui encontrar a solução para a minha dúvida nestes posts ai....e até já havia visto eles antes de postar esse novo tópico....enfim...

ainda preciso saber como faço para esse cod. procurar e substituir palavras no meio do texto e não apenas no começo das frases.

obg.

Link para o comentário
Compartilhar em outros sites

  • 0

vlws jhonas, o problema é que eu quero substituir sem chamar a caixinha...apenas substituir quando apertar no botão......

o cod que o Douglas deu é perfeito para a situação, porém, não substitui palavras que esteja no meio de uma frase e tals....

não existe um outro modo de usar o mesmo esquema que o douglas mostrou sendo que usando o texto todo e não somente a primeira palavra da frase.

obg...

Link para o comentário
Compartilhar em outros sites

  • 0

Simples, troca a função do botão localizar daquele programinha que te passei, coloca isso lá:

procedure TForm1.Button1Click(Sender: TObject);
begin
RichEdit1.Lines.Text := StringReplace(RichEdit1.Lines.Text, Edit1.Text, Edit2.Text, [rfReplaceAll, rfIgnoreCase]);
end;

Repare que tem 2 parametros no final, [rfReplaceAll, rfIgnoreCase], o primeiro é para ele localizar e substituir todas as palavras que encontrar, se não quiser é só tirar ele que vai substituir só a primeira que encontrar, o segundo é para ignorar maiuscula e minuscula, dai você digita como quiser e ele vai achar, se não quiser nem um dos dois é só deixar assim: []

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

opa, consegui....vlws ai jhonas...

tou usando para localizar

procedure TForm1.Button1Click(Sender: TObject);
var
  FoundPos,
  StartSearch,
  EndSearch :LongInt;
  Options :TSearchTypes;
begin
  StartSearch := 0;
  EndSearch := Length(RichEdit1.Text);
  FoundPos := RichEdit1.FindText(Edit1.Text, StartSearch, EndSearch, Options);
  if FoundPos <> -1 then
  begin
    RichEdit1.SelStart := FoundPos;
    RichEdit1.SelLength := Length(Edit1.Text);
    RichEdit1.SetFocus;
  end;
end;
e para substituir uso
procedure TForm1.Button2Click(Sender: TObject);
begin
RichEdit1.SelText := Edit2.Text;
end;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

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