Agrupar Objetos y Modificar Propiedades
Estimados, buenas tardes a todos, desde ya, gracias por las respuestas que me puedan dar.
Primero les explico el escenario: Estoy programando un sistema TPV en Delphi 7 (Amo esta versión) y quiero hacerlo bien genérico para amoldarse a cualquier cliente (esto no es gran problema, casi que está resuelto), y se me dio por querer hacerlo también, algo personalizable, es decir, que se le pueda cambiar los colores de fondo a los formularios, colores de fuente, cuadros de texto, etc; hasta aquí ni un problema, he creado dos archivos *.ini que en uno (ConfigColor.ini) tengo los parámetros y distintas paletas con los colores ya configurados y tengo el otro archivo (ActiveColor.ini) con el color activo en el sistema. He probado que funcionen y anda todo perfecto. El Conflicto: Pero, como puedo hacer para poder agrupar objetos tipo TEdit (en el caso de los cuadros de texto) o de tipo TLabel, para poder modificarlos a todos de una sola vez (por supuesto, modificar todos los que sean de un mismo tipo a la vez). Como información, mis objetos tienen una nomenclatura particular, dependiendo del objeto y la función, por ejemplo un TEdit que funciona como campo para algún filtro, tiene por nombre "txt_filtro", o un botón que sea para cerrar el formulario actual se llama "btn_cerrar". No soy un experimentado programador, he hecho uno que otro trabajito pero siempre cosas simples, y estoy queriendo llevar mi experiencia y mis proyectos a otro nivel, y la verdad no tengo muchos (nadie) a quien recurrir físicamente por ayuda. Saludos! |
Hola.
Agruparlos no lo se, pero podrías hacer algo así para tratar todos los DBEdits
|
Cita:
|
Cita:
Muchisimas gracias Luis M. Saludos! |
Metes los objetos en una lista (esto seria lo que vos llamas agrupar) cuando los vas creando; o si los creaste todos en tiempo de diseño, al crear tu Form (por ejemplo en el evento FormCreate) los agregas a dicha lista
Luego, recorres la lista, para cada elemento de la lista, modificas la propiedad con el valor correspondiente Ej:
Donde EditList seria una variable privada de tu Form de tipo TList, que si no me falla la memoria, en Delphi 7 esta definida en la unidad Classes Aca hay un poco de informacion y ejemplos de uso de la clase TList El codigo anterior se puede mejorar y escribir mas generico de manera tal que puedas pasar la propiedad a modificar dinamicamente, es decir, podrias escribir este tipo de cosas:
Pero tendrias que hacer uso de RTTI para buscar la propiedad y asignar el valor correspondiente Saludos :) |
La franja horaria es GMT +2. Ahora son las 07:11:44. |
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