Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Search DFM File using Delphi IDE

Tags:

delphi

Is there a way within the Delphi to search within the dfm files for a string?

When I try the Search->Find in Files specifying .dfm it does not work. However, if I change all the extensions from dfm to txt and specify .txt as the extension it works.

like image 286
M Schenkel Avatar asked May 20 '10 16:05

M Schenkel


3 Answers

I'm using the GExperts grep and it works very well with dfm when you check "Search Form Files"

alt text
(source: gexperts.org)

Update: why I prefer GExperts to D2010 "Find In Files"...

  • I work with D2007 as well as D2010. I can use the same search tool consistently in both.
  • You can limit your search to Open/All-in-project/All-in-project-group and still get the dfm, while in D2010 you get the dfm only for directories and it does not even work in D2007.
  • I can use both if I want.
like image 106
Francesca Avatar answered Nov 04 '22 13:11

Francesca


There is any easy way to work with DFM files.

  • Open the form so you can see it visually.
  • Right-click and select 'View as Text'.
  • Treat the resulting text file as source code, play with strings etc, then when you're done, right-click and select 'View as Form'.

    Try it.

like image 29
Brian Frost Avatar answered Nov 04 '22 14:11

Brian Frost


Ok... Not sure if you meant for a way to search from Delphi's IDE or from Windows. From Delphi's IDE, like François mentionned, GExpert's GREP search does the job. To allow Windows to read DFM/PAS files, you need to add a few registry key to allow it on Windows XP and later. Save the following content in a *.reg file and double-click on it to install in registry. (Note, that works in WinXP. I didn't try it in Win7/Vista)

Some of those keys might not be required... I just copied stuff from the [HKEY_CLASSES_ROOT\.txt] key. ^_^

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}"
like image 35
Ken Bourassa Avatar answered Nov 04 '22 14:11

Ken Bourassa