Fórum Substituindo um palavra no RICHEDIT em tempo de execução #182151
15/09/2003
0
Pessoal !!!
Como faço para substituir uma palavra no richedit ??
Exemplo: No campo nome substituir por ROGÉRIO
[NOME] - Substituir por ROGÉRIO
Rogério
Como faço para substituir uma palavra no richedit ??
Exemplo: No campo nome substituir por ROGÉRIO
[NOME] - Substituir por ROGÉRIO
Rogério
Roger_prog
Curtir tópico
+ 0
Responder
Posts
15/09/2003
Joilson_gouveia
Vc deve estar querendo fazer algo parecido com uma Mala Direta, né?
Então, adapte o fragmento de código abaixo:
[i:c9b362b5f2][b:c9b362b5f2]procedure TForm1.MalaDireta(Sender:TObject);
var
i:Integer;
linha:String;
qryCli:TQuery;
begin
qryCli := TQuery.Create(self);
qryCli.DatabaseName := DBDEMOS;
qryCli.SQL.Text := ´SELECT NOME,ENDERECO FROM TB_CLI´;
qryCli.Open;
while not qryCli.eof do
begin
for i := 0 to RichEdit1.Lines.Count - 1 do
begin
Linha := RichEdit1.Lines[i];
Linha := Procura_e_Substitui(Linha,´[NOME]´,qryCli.FieldByName(´NOME´));
Linha := Procura_e_Substitui(Linha,´[ENDERECO]´,qryCli.FieldByName(´ENDERECO´));
end;
qryCli.Next;
end;
end;
function Tform1.Procura_e_Substitui(StrInicial,StrProcura,StrSubstitui : String) :
String;
var
PosAtu : Integer;
begin
PosAtu := Pos(StrProcura,StrInicial);
while PosAtu <> 0 do begin
Delete(StrInicial,PosAtu,Length(StrProcura));
Insert(StrSubstitui,StrInicial,PosAtu);
PosAtu := Pos(StrProcura,StrInicial);
end;
Result := StrInicial;
end;
[/b:c9b362b5f2][/i:c9b362b5f2]
Então, adapte o fragmento de código abaixo:
[i:c9b362b5f2][b:c9b362b5f2]procedure TForm1.MalaDireta(Sender:TObject);
var
i:Integer;
linha:String;
qryCli:TQuery;
begin
qryCli := TQuery.Create(self);
qryCli.DatabaseName := DBDEMOS;
qryCli.SQL.Text := ´SELECT NOME,ENDERECO FROM TB_CLI´;
qryCli.Open;
while not qryCli.eof do
begin
for i := 0 to RichEdit1.Lines.Count - 1 do
begin
Linha := RichEdit1.Lines[i];
Linha := Procura_e_Substitui(Linha,´[NOME]´,qryCli.FieldByName(´NOME´));
Linha := Procura_e_Substitui(Linha,´[ENDERECO]´,qryCli.FieldByName(´ENDERECO´));
end;
qryCli.Next;
end;
end;
function Tform1.Procura_e_Substitui(StrInicial,StrProcura,StrSubstitui : String) :
String;
var
PosAtu : Integer;
begin
PosAtu := Pos(StrProcura,StrInicial);
while PosAtu <> 0 do begin
Delete(StrInicial,PosAtu,Length(StrProcura));
Insert(StrSubstitui,StrInicial,PosAtu);
PosAtu := Pos(StrProcura,StrInicial);
end;
Result := StrInicial;
end;
[/b:c9b362b5f2][/i:c9b362b5f2]
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)