PDA

Ver la Versión Completa : insertar texto ambos lados de selección de un memo


gulder
28-05-2010, 20:44:01
hola foro como andan espero que bien, bueno estoy haciendo algo pero no meda y la cabeza se me esta estallando es lo siguiente, tengo un memo un texto entonces selecciono una parte de ese texto y al presionar un botón debe agregar una palabra al principio y al final de la selección, después de haber agregado estas dos palabras al principio y al final de la selección el texto seleccionado debe seguir seleccionado y el cursor aparecer al final de la selección eso es todo.

Nota: con este codigo inserto la palabra al principio y al final de la seleccion pero no logro seleccionarla otravez y menos ubicar el cursor al final del texto seleccionado espero que me entiendadn


var
log:AnsiString;

log:=Memo.Lines.Text;
Insert(tex1, log, Memo.SelStart+1);
Insert(tex2, log, (Memo.SelStart+Memo.SelLength+Length(tex1)+1));



saludos pues

rgstuamigo
28-05-2010, 21:09:15
Que tal así:
procedure TForm1.Button1Click(Sender: TObject);
var i,f,l:Integer;
begin
if Memo1.SelText<>'' then //si tengo algo seleccionado
begin
i:=Memo1.SelStart;//guardo el indice del principio de la seleccion
f:=Memo1.SelLength;//guardo el indice del final de la seleccion
l:=Length(Edit1.Text);//saco la longitud de la palabra que voy a poner al princio y al final
Memo1.SelText:=Edit1.Text+Memo1.SelText+Edit1.Text;//inserto la palabra al princio y al final de la seleccion
Memo1.SelStart:=i+l;//coloco el indice del principio de la seleccion nuevamente pero aumentado
Memo1.SelLength:=f;//coloco el indice final de la seleccion que es el mismo
Memo1.SetFocus;// hago que el memo tenga el focus para ver la seleccion actual
end;
end;

Saludos...:)

gulder
28-05-2010, 21:15:11
rgstuamigo gracias por responder, en cuanto a tu respuesta el texto lo coloca al principio y al final de todo el texto me interesa que lo coloque en el texto seleccionado saludos .....

rgstuamigo
28-05-2010, 21:22:22
rgstuamigo gracias por responder, en cuanto a tu respuesta el texto lo coloca al principio y al final de todo el texto me interesa que lo coloque en el texto seleccionado saludos .....
Pues precisamente eso hace, es decir coloca un string al pricipio y al final de lo que se tenga seleccionado en tu Memo.;)
No te entiendo ¿acaso no te funciona a ti?:confused: , pues a mí me funciona perfectamente.;).
Saludos...:)
Posdata: Probado en Delphi 7.;)

gulder
28-05-2010, 21:27:45
seguro men funciona a la perfección disculpa mi ignorancia no lo había probado lo leí y lo leí mal saludos y muchas gracias men funciona 100 %