Ver Mensaje Individual
  #2  
Antiguo 29-10-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita