Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fábio Leandro

Inserir texto no Memo onde o cursor do mouse estiver posicionado.

Recommended Posts

Olá pessoal, gostaria de saber, como faço para que quando eu for adicionar um texto no memo, atravez de um botão, ele insira, só que tomará como ponto de partida do texto, o lugar em que o cursor do mouse estiver?tipo, eu insiro um texto, contendo tags Html(codigo web sites), e então e posiciono o mouse no meio desse texto que foi inscrito no memo, e nele, eu quero adicionar, por meio de outros botões, outros textos, mas quando eu faço isso o texto vai para ultima linha, mesmo tendo posicionado o mouse no meio do memo!como soluciono este problema?muito obrigado pela atenção de vocês.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer assim:Criei essa procedure abaixo... meio POG, porém funciona...

procedure TForm1.InserirTexto(texto: String; objeto : TMemo);var textoA, textoD : String; Pos : Integer;begin// Armazena a coluna em que está o cursor... pos := objeto.SelStart;// Armazena o texto anterior... textoA := Copy(objeto.Text,1,POS);// Armazena o texto depois... textoD := Copy(objeto.Text,POS+1,Length(objeto.Text));// Armazena o texto anterior, o texto desejato, e o texto posterior... Objeto.Text := textoA +' '+ texto +' '+ textoD;end;

E para chamar ela faz assim:

procedure TForm1.Button1Click(Sender: TObject);begin InserirTexto(Edit1.Text, Memo1);end;

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

simples, quando adicionar use: memo1.selectedtext := codigo html, assim so o que estiver selecionado muda, e nem vai pra ultima linha, se tiver '' por exemplo ele so adiciona ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funcionou aqui este codigo.eu adicionei e apareceu essa mensagem na hora de executar:undeclared identifier 'selectedtext'não rodou.me dê um exemplo de como ficaria esta codigo no meu projeto.onde que eu insiro-o.muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conseguir solucionar o problema!!!apenas fiz como o hugo falou:usei o memo1.SelText:='texto' e o pulo de uma linha #13#10sicou assim meu codigo:memo1.SelText := '<% '#13#10;memo1.SelText := 'Set Conexao= Server.CreateObject(''adodb.connection'')'#13#10 ;memo1.SelText := 'Conexao.Open " "'#13#10;memo1.SelText := 'Var=" "'#13#10;memo1.SelText := 'RSconexao=Conexao.Execute(var)'#13#10;memo1.SelText := '%>'#13#10;pois este insere o texto e quando vê que a quantidade de linhas não é o suficiente, este vai arredando o texto que estiver em baixo, sem apaga-lo!Valeu pessoal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim ó:

 

var  pos: Shortint;  str, code: string;begin  Code:= '<% response.write left("teste",2) %>';  pos:= Memo1.SelStart;  str:= Copy(Memo1.Lines.Text,1,Pos);  str:= str + Code;  str:= str + Copy(Memo1.Lines.Text,Pos+1,Length(Memo1.Lines.Text));  Memo1.Clear;  Memo1.Lines.Add(str);end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.