![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
![]() Buenos Dias a todos, hoy me asignaron una tarea de por si tediosa, busco saber si alguien sabe si es posible Modificar el READONLY de los GRIDs existentes dentro de un proyecto, el proyecto que manejo tiene mas de 1,000 pantallas, y se esta volviendo tedioso el hecho de abrir cada una de las pantallas para ver si contienen un grid y modificar dicha propiedad, si alguien sabe de alguna manera se los voy a agradecer
|
#2
|
||||
|
||||
Depende del grid, puedes recorrer los forms (.dfm) y editarlos mediante un programita que te hagas. Aunque me parece recordar que algún "experto" tenía una utilidad para ello (gexperts o similar).
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Gracias Casimiro, voy a buscar esautilidad, si tu la tuvieras estaria excelente
|
#4
|
||||
|
||||
GExpert y CnWizards
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
Con el mismo delphi puedes ir al menu search y luego a la opcion find in files.
Alli escirbes el texto a buscar. En tu caso TGRID o TDBGrid y como resultado de ls busqueda te dirá donde estan contenidos esos componentes dentro del proyecto sin importar cuantas unidades son y en cuantas esta contenido. Si das un doble click sobre los resultados, te lleva directamente al codigo donde esta contenido lo que buscaste. |
#6
|
|||
|
|||
Ok Osorio, gracias, intentare eso
|
#7
|
||||
|
||||
Cita:
(1) Recorra los Ficheros DFM de un directorio. (2) Busque un elemento de la clase TDBGrid (o similar) (3) Para ese elemento modifique la línea de ReadOnly (4) Cree una copia de seguridad del fichero antiguo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#8
|
||||
|
||||
Cita:
LineComment Saludos |
#9
|
|||
|
|||
Seria interesante "escuchar" al maestro Neftali que le responde al maestro roman....
|
#10
|
||||
|
||||
Cita:
Un objeto TDBGrid en un DFM tiene una cabecera similar a esta (cambiando el nombre del componente):
La parte del componente es bastante parecida a esta y siempre similar. Lo único "complejo" es si tiene o no columnas definidas. Si tiene columnas será así:
Si no tiene columnas así:
En ambos casos estará o no la propiedad ReadOnly así:
Si no está se considera a False. No me parece complicado hacer un "parseo" de esos ficheros y modificarlos... ¿Qué os parece?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#11
|
||||
|
||||
Otra opción más sencilla que se me ocurre es esta:
(1) Abrir los ficheros (DFM) (2) Cambiar las líneas como esta:
Por otra como esta:
Y crear un componente como este:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#12
|
||||
|
||||
Ahora que has comentado lo de RTTI, se me ha ocurrido otra forma de hacerlo durante la ejecución, en la que no haría falta modificar el código fuente de los DFM.
(1) Poddemos capturar la apertura de un formulario utilizando:
(2) Y en ese momento podemos modificar en ejecución todos los TDBGrid que existan en ese formulario cambiandoles la propiedad ReadOnly.
Lo he probado con un ejemplo y en mi caso en diseño todos los DBGrid son blancos y en ejecución les cambio el color (pero podría cambiar el ReadOnly). ![]()
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#13
|
||||
|
||||
La primera opción es más sencilla, al alcance de casi cualquiera.
La segunda opción es más profesional, aunque no sé si valdría la pena "cargar" con un nuevo componente clonado. Desde luego, la opción sencilla y "semi" chapucera es la más cómoda ![]() EDITO: La tercera opción, también bastante profesional ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 14-04-2016 a las 18:27:21. |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Como sincronizar dos o mas Grids? | AzidRain | Varios | 4 | 23-12-2011 03:41:28 |
Modificar el exe resultante de un Proyecto en Delphi 5 | radge | Varios | 5 | 08-09-2010 17:36:10 |
Cambiar propiedad a todos los componentes de un proyecto | jcarteagaf | Varios | 6 | 06-03-2008 23:55:33 |
Un proyecto para todos los reportes o... | Johnny Q | Impresión | 0 | 28-07-2005 22:50:08 |
acceder a todos pero modificar algunos... | Alfredo | OOP | 5 | 21-12-2004 17:55:39 |
![]() |
|