Cita:
Posteado originalmente por RyAr
Espero críticas a la hora de programar, ya que al llevar tan poco tiempo, me gustaría quitarme esos malos hábitos a la hora de programar.
|
Podrías comenzar por indentar correctamente el código. Utiliza la etiqueta CODE para que se respeten los espacios.
Una observación. Condicionales como
if ( (Key<'0') or (Key>'9') ) and (Key<>#8) and (Key<>#45) then Key:=#0;
pueden escreibirse de forma más prolija así:
if not (key in ['0'..'9', #8, #45]) then Key := #0;
En cuanto a tu pregunta pues de momento no creo que sea fácil saber qué caracter es el que borras pues esto implicaría que en el evento OnKeyPress cada vez que detectes un "backspace" mires en qué posición está el cursor en el Edit para entoncs ver cuál es el carcater a la izquierda.
Pienso que es mejor usar el evento OnChange y analizar cada vez toda la cadena que hasta el momento haya sido introducida.
(Ahhh!, si Delphi tuviese expresiones regulares....)
// Saludos