Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
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 ^^
Muito boa solução Rento..
dessa eu não sabia...
testei aqui e rolou legal, apenas precisa cuidar das partes de formatação, mas isso é o de menos...
agora da certo Fábio!!!
Mandou bem Rento http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
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.
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.
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;
Você pode fazer assim:Criei essa procedure abaixo... meio POG, porém funciona...
E para chamar ela faz assim: