Ver Mensaje Individual
  #17  
Antiguo 26-09-2007
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Reputación: 20
fidel Va por buen camino
Mira a ver si te sirve esto, solo lo he probado una vez y parece que funciona, te permite meter un solo dígito numérico en Edit1 y pasar automaticamente al siguiente componente (sea edit u otro) y si vuelves al edit te permite reemplazar el dígito numérico por otro si lo seleccionas, o borrarlo y escribir otro nuevo.

Edit1 debe tener su propiedad MaxLength a 1 para no permitir entrar más de un dígito.

Si lo que quieres es que solo adimita letras o un determinado número de caracteres reemplaza los números 0123456789 por lo que necesites en la linea
if ( StrScan('0123456789'+chr(7)+chr(8), Key) = nil ) then

Pon esto en el evento OnKeyPress del Edit1

Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if ( StrScan('0123456789'+chr(7)+chr(8), Key) = nil ) then
    //controlar entrada solo dígitos numéricos 0..9
    begin
      key := #0;
    end
  else
    begin
      if (key <> #7) and (key <> #8) then
        //si se entró un número se pasa al siguiente componente
        perform(wm_nextdlgctl,0,0);
    end
end;

Última edición por fidel fecha: 26-09-2007 a las 20:03:06.
Responder Con Cita