Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   FireMonkey (https://www.clubdelphi.com/foros/forumdisplay.php?f=50)
-   -   Error con SelStart y SelLength (https://www.clubdelphi.com/foros/showthread.php?t=78846)

aquiestamos 21-05-2012 02:19:22

Error con SelStart y SelLength
 
Hola !!!

Es un tema tonto pero que me trae de cabeza. Estoy intentando usar las funciones SelStart y SelLength en Firemonkey y no consigo que se marque el texto. Por si era tema de calculo de longitudes en las cadenas de texto, probé de manera directa algo como esto:

edt.text := 'ABCDEFGHIJKL' ;
edt.SelStart := 3 ;
edt.SelLength := 5 ;

De forma que se tenía que haber marcado algún texto pero nada. Lo he probado en un proyecto de VCL por si estaba poniendo algo mal, pero si me funciona, así que no sé por donde puede venir el error.

Alguien tiene alguna solución? Gracias de antemano por todo !!!!

ecfisa 21-05-2012 02:36:56

Hola.

Seguramente el TEdit no tenga el foco cuando ejecutas el código, dependiendo desde donde estés ejecutando tendrías que focalizarlo, como por ejemplo en el evento OnClick de un TButton:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  edt.SetFocus;  // <- darle el foco
  edt.SelStart:= 3;
  edt.SelLength:= 5;
end;

Por supuesto no es nesesario si ya lo tiene como por ejemplo en el evento OnEnter del propio Edit:
Código Delphi [-]
procedure TForm1.edtEnter(Sender: TObject);
begin
  edt.SelStart:= 3;
  edt.SelLength:= 5;
end;

Saludos.

aquiestamos 22-05-2012 00:01:22

Buenas ecfisa, no era eso, ya lo había probado, de echo si lo pruebas en Delphi XE2 veras que no es necesario.

Es algo que no funciona igual en Firemonkey o mas bien, que yo no lo uso bien. Porque el SelLength si marca la posición correcta si le sumas 1.

Seguiré probando a ver.

aquiestamos 22-05-2012 00:05:35

Listo ..... resulta que la propiedad es para los Edit, y yo lo tenía asociado a un ClearingEdit .

No le deis vueltas y gracias por las respuestas !!!!


La franja horaria es GMT +2. Ahora son las 17:33:19.

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