inserir texto richedit
Caros colegas, procurei no forum mas não consegui encontrar a solucao para minha duvida.
Tenho uma tabela de textos pre-definidos que o usuario ira utilizar para complementar um texto final.
Meu problema é que o cursor sempre volta para o inicio do texto no qual estou inserindo e eu preciso que o cursor permaneça no final do texto incluido para que o usuario continue inserindo outros.
Estou utilizando o seguinte codigo.
// acha a linha atual
Linha := SendMessage(dbreditdiagno.Handle,EM_LINEFROMCHAR,dbreditdiagno.SelStart,0);
// posiciona na linha
dbreditdiagno.SelStart := Perform(EM_LINEFROMCHAR, Linha, 0);
// guardo o texto a ser incluido em um componente temporario
reditmemo.Text := dmrequisicao.qryinfocitolo.fieldbyname(´TEXTOCITO´).Value;
// insiro o texto
dbreditdiagno.Lines.Insert(Linha,reditmemo.Text);
// tento reposicionar o cursor
With dbreditdiagno do
begin
SelStart := Perform(EM_LINEINDEX, Linha, 0);
end;
agradeço desde ja a atenção
abraços
Tenho uma tabela de textos pre-definidos que o usuario ira utilizar para complementar um texto final.
Meu problema é que o cursor sempre volta para o inicio do texto no qual estou inserindo e eu preciso que o cursor permaneça no final do texto incluido para que o usuario continue inserindo outros.
Estou utilizando o seguinte codigo.
// acha a linha atual
Linha := SendMessage(dbreditdiagno.Handle,EM_LINEFROMCHAR,dbreditdiagno.SelStart,0);
// posiciona na linha
dbreditdiagno.SelStart := Perform(EM_LINEFROMCHAR, Linha, 0);
// guardo o texto a ser incluido em um componente temporario
reditmemo.Text := dmrequisicao.qryinfocitolo.fieldbyname(´TEXTOCITO´).Value;
// insiro o texto
dbreditdiagno.Lines.Insert(Linha,reditmemo.Text);
// tento reposicionar o cursor
With dbreditdiagno do
begin
SelStart := Perform(EM_LINEINDEX, Linha, 0);
end;
agradeço desde ja a atenção
abraços
Josemarmt
Curtidas 0
Respostas
Dor_poa
04/02/2008
Caraa se vc quer mudar algo dentro de um texto use o comando StringReplace e muiiito mais fácil!!!
Exemplo:
Valor := Ola <NOME> como vai?
Valor := StringReplace(Valor ,´<NOME>´, Fulano de tal, [rfReplaceAll,rfIgnoreCase]);
Vai ficar assim:
Ola Fulano de tal como vai?
OBS.: VALOR e uma variável STRING que tem todo o seu texto MATRIZ (fiz só para facilitar a DEMONSTRAÇÃO)
Exemplo:
Valor := Ola <NOME> como vai?
Valor := StringReplace(Valor ,´<NOME>´, Fulano de tal, [rfReplaceAll,rfIgnoreCase]);
Vai ficar assim:
Ola Fulano de tal como vai?
OBS.: VALOR e uma variável STRING que tem todo o seu texto MATRIZ (fiz só para facilitar a DEMONSTRAÇÃO)
GOSTEI 0
Josemarmt
04/02/2008
Caro Eduardo, antes de mais nada agradeço a força, porém acho que não fui muito claro quanto ao problema.
Forneço um texto em branco que será preenchido pela inserção de outros textos pré-formatados. Não há substituições somente inclusões.
Tipo assim:
INICIO DO TEXTO
<- INSERI TEXTO AQUI
BLA BLA BLA BLA BLA
<- INSERI TEXTO AQUI
FINAL
Sendo que o texto INICIO ... FINAL, tambem teria sido previamente inserido.
Valeu
Forneço um texto em branco que será preenchido pela inserção de outros textos pré-formatados. Não há substituições somente inclusões.
Tipo assim:
INICIO DO TEXTO
<- INSERI TEXTO AQUI
BLA BLA BLA BLA BLA
<- INSERI TEXTO AQUI
FINAL
Sendo que o texto INICIO ... FINAL, tambem teria sido previamente inserido.
Valeu
GOSTEI 0