Mmm. Pero, creo que no se trata de asignar un mismo método (evento) a varios controles sino
aplicar el mismo método (validación) a varios controles.
Puede optar por hacerlo
a pie:
Código Delphi
[-]
Validar(MaskEdit1.Text);
Validar(MaskEdit2.Text);
Validar(MaskEdit3.Text);
...
o tratar de usar un ciclo:
Código Delphi
[-]
for I := 0 to High(MaskEditList) do
Validar(MaskEditList[i].Text);
donde MaskEditList sería un arreglo de controles TMaskEdit. Este arreglo puede existir de manera "natural", si todos los MaskEdit están en un contenedor y dicho contenedor no contiene nada más, pues se usa el arreglo Controls del contenedor. O bien se crea artificialmente:
Código Delphi
[-]
type
TForm1 = class(TForm)
private
MaskEditList: array of TMaskEdit;
end;
pero de todas formas hay que llenarlo en algún momento:
Código Delphi
[-]
SetLength(MaskEditList, N);
MaskEditList[0] := MaskEdit1;
MaskEditList[1] := MaskEdit2;
MaskEditList[2] := MaskEdit3;
...
con lo que regresamos a lo mismo, pero comienza a ser útil si requerimos hacer
varias operaciones sobre esa lista de controles.
Finalmente, podría uno estar tentado al FindComponent:
Código Delphi
[-]
for I := 1 to N do
Validar(TMaskEdit(FindComponent('MaskEdit' + IntToStr(I)).Text)
que se ve bien pero no es óptimo ya que FindComponent debe revisar todos los controles en el formulario para buscar uno con el nombre dado, con lo que se tiene en realidad un doble ciclo.
Bye