Iteraccion al validar
Como puedo hacar para usar un solo procedimiento para validar x cantidad de campos TMaskEdit;
Los campos se llaman txtHE11, txtHE12, txtHE21, txHE22, ... y asi susesivamente Quiero que antes de salir del form valide el contenido de cada uno de estos campos y la forma de validarlos en igual para todos. Existe alguna forma usando un bucle Muchas gracias. |
Hola,
Suponiendo que vayas a utilizar un mismo método (evento) para realizar la validación, se trata de "hacérselo saber" a los componentes oportunos. Es decir, por ejemplo:
|
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:
o tratar de usar un ciclo:
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:
pero de todas formas hay que llenarlo en algún momento:
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:
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 |
Tambien puedes iterar a través de la lista de componentes de la forma, evaluar si es un TMaskEdit y hacer la validacion; algo como esto:
|
Esta opción es buena. El único pero que le veo es si hay otros controles MaskEdit en el formulario además de los que se quiere validar.
Bye |
Tienes razon, quizas habria que buscar una manera para especificar cuales se quieren validar, por ejemplo, poniendo un valor en el tag, un 1 quizas y modificando el codigo a algo asi :
|
Jacanche, es lo que estaba necesitando. Muchas gracias colega.
|
La franja horaria es GMT +2. Ahora son las 16:15:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi