PDA

Ver la Versión Completa : Borrar un caracter pulsando una tecla


creus
18-11-2006, 12:29:28
Necesito poder borrar una caracter dentro de un MEMO pulsando una tecla.
Consigo poner un espacio con el siguiente código,



if (key=#32) then
begin
Memo.Text:=Memo.Text+' ';
end;



Gracias por la ayuda.

dec
18-11-2006, 12:50:09
Hola,

No entiendo muy bien qué quieres decir, exactamente, con borrar un caracter de un "TMemo"...

¿Cualquier caracter? ¿El último? ¿El primero? ¿Alguno al azar (según ciertas condiciones variables)?

creus
18-11-2006, 12:53:19
Quizás haya sido muy escueto en la explicación pido disculpas de antemano.
Puslando una determinada tecla, he de poder borrar el ultimo caracter introducido.

ejemplo

Santiago
Santiag//Al pulsar la tecla determinada me borra el ultimo caracter introducido.


Gracias de nuevo Dec

dec
18-11-2006, 12:56:43
Hola,

Pero, entiendo que el "TMemo" no tiene el foco del usuario, es decir, ¿porqué no puede usar el usuario la tecla de "retroceso", como suele hacerse, para borrar el último caracter y aún más allá?...

En todo caso se me ocurre lo siguiente a bote pronto... no sé si será una barbaridad o habrá, en cualquier caso, que darle un par de vueltas al asunto:

Suponiento un "Memo1" y un "Button1" en un formulario...


procedure TForm1.Button1Click(Sender: TObject);
var
ultimaLinea: string;
begin
if Length(Memo1.Text) > 0 then
begin
ultimaLinea := Memo1.Lines[Memo1.Lines.Count-1];
ultimaLinea := Copy(ultimaLinea, 0, Length(ultimaLinea)-1);
Memo1.Lines[Memo1.Lines.Count-1] := ultimaLinea;
end;
Memo1.SetFocus;
end;