Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   insertar texto ambos lados de selección de un memo (https://www.clubdelphi.com/foros/showthread.php?t=68170)

gulder 28-05-2010 20:44:01

insertar texto ambos lados de selección de un memo
 
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

Código Delphi [-]
   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í:
Código Delphi [-]
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

Cita:

Empezado por gulder (Mensaje 365561)
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 %


La franja horaria es GMT +2. Ahora son las 18:07:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi