2010-05-20 15 views
6

¿Hay alguna manera dentro del Delphi de buscar dentro de los archivos dfm una cadena?Buscar archivo DFM usando Delphi IDE

Cuando intento del Buscar-> Buscar en archivos especificando .dfm no funciona. Sin embargo, si cambio todas las extensiones de dfm a txt y especifico .txt como la extensión que funciona.

Respuesta

16

estoy usando el GExperts grep y funciona muy bien con DFM cuando se echa un "Formulario de búsqueda de archivos"

alt text http://www.gexperts.org/tour/grep%20search.png

Actualización: Por eso prefiero a GExperts D2010 "Buscar en archivos" ...

  • yo trabajo con D2007, así como D2010. Puedo usar la misma herramienta de búsquedaconsistentemente en ambos.
  • puede limitar su búsqueda a Abrir/All-in-proyecto/All-in-proyecto-grupo y todavía obtener el DFM, mientras que en D2010 se obtiene el DFM sólo para los directorios y no lo hace incluso trabajo en D2007.
  • Puedo usar ambos si quiero.
+0

GExperts se pueden descargar aquí: http://www.gexperts.org –

+1

de Delphi 2010 "Buscar en archivos" puede hacer eso también. – Giel

+0

@Giel, pero solo para buscar en Directorios.(ver mi edición) –

3

Hay una manera fácil de trabajar con archivos DFM.

  • Abra el formulario para que pueda verlo visualmente.
  • Haga clic con el botón derecho y seleccione 'Ver como texto'.
  • Trate el archivo de texto resultante como código fuente, juegue con cadenas, etc., y cuando haya terminado, haga clic derecho y seleccione 'Ver como Formulario'.

    Pruébalo.

+0

También puede usar ALT-F12 para alternar entre el diseñador de formularios (pero no la vista de códigos) y el formulario como texto. –

+0

Sí, era consciente de eso. Pero lo que realmente necesito hacer es buscar dentro de todo DFM en un directorio o conjunto de directorios. –

+0

Esto no funciona en las versiones recientes de Delphi IDE, el visor de formularios sobrescribe cualquier cambio que realice en el archivo DFM. Sin embargo, lo que puede hacer es usar un editor externo, como Visual Studio Code, editar el archivo DFM allí, luego solo tiene que volver a abrir el proyecto para cargar los cambios (esto es muy rápido incluso para proyectos grandes) y he aquí, ¡tiene capacidades de deshacer y puede usar su editor favorito! –

2

Ok ... No estoy seguro de si tiene la intención de buscar desde el IDE de Delphi o desde Windows. Del IDE de Delphi, como mencionó François, la búsqueda GREP de GExpert hace el trabajo. Para permitir que Windows lea archivos DFM/PAS, debe agregar algunas claves de registro para permitirlo en Windows XP y posterior. Guarde el siguiente contenido en un archivo * .reg y haga doble clic en él para instalarlo en el registro. (Tenga en cuenta, que funciona en WinXP. Yo no lo probamos en Win7/Vista)

Algunas de esas llaves podría no ser necesaria ... He copiado cosas de la llave [HKEY_CLASSES_ROOT\.txt].^_^

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\.dfm] 
"PerceivedType"="text" 
"Content Type"="text/plain" 

[HKEY_CLASSES_ROOT\.dfm\PersistentHandler] 
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}" 

[HKEY_CLASSES_ROOT\.pas] 
"PerceivedType"="text" 
"Content Type"="text/plain" 

[HKEY_CLASSES_ROOT\.pas\PersistentHandler] 
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}" 
+0

Gracias por la respuesta detallada. Sí, quise decir "Dentro del Delphi IDE". –

Cuestiones relacionadas