Ver Mensaje Individual
  #2  
Antiguo 15-08-2019
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Reputación: 20
movorack Va camino a la famamovorack Va camino a la fama
Hola, lo que muestras se puede solucionar creando Forms que hereden de otro Form. Pero no se si sea lo correcto del todo. Esas validaciones las puedes hacer usando algún otro componente como el SpinEdit o hasta creando tu propio componente cuya base sea el TEdit (Como en este pequeño ejemplo)

Bueno, de todos modos así puedes hacer lo que quieres:

UFormBase:

Código Delphi [-]
unit UFormBase;

interface

..

type
  TFormBase = class(TForm)
    procedure EsNumero(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormBase: TFormBase;

implementation

{$R *.dfm}

{ TForm2 }

procedure TFormBase.EsNumero(Sender: TObject; var Key: Char);
begin
  if (pos('.',(Sender as TEdit).Text)=0) then
  begin
    if not CharInSet(Key, ['0'..'9','.',#8]) then key:=#0;
  end
  else
   if not CharInSet(Key, ['0'..'9',#8]) then key:=#0;
end;

end.

Unit1:
Código Delphi [-]
unit Unit1;

interface

..

type
  TForm1 = class(TFormBase)
    Edit1: TEdit;
    procedure EsNumero(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//Este procedimiento se puede asociar desde Inspector de Objetos 
procedure TForm1.EsNumero(Sender: TObject; var Key: Char);
begin
  inherited; //Aquí llama el procedimiento TFormBase.EsNumero de UFormBase

  // Comportamiento propio de TForm1
end;

end.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita