使用delphiide搜索DFM文件

使用delphiide搜索DFM文件,delphi,Delphi,Delphi中有没有一种方法可以在dfm文件中搜索字符串 当我尝试搜索->在文件中查找时,指定.dfm无效。但是,如果我将所有扩展名从dfm更改为txt,并指定.txt作为扩展名,则该扩展名将正常工作。我使用的是,当您选中“搜索表单文件”时,该扩展名与dfm配合得非常好 (来源:) 更新:为什么我更喜欢GExperts而不是D2010“在文件中查找” 我与D2007以及D2010一起工作。我可以在两者中一致地使用相同的搜索工具 您可以将搜索限制为打开/全部在项目中/全部在项目组中,并且仍然获

Delphi中有没有一种方法可以在dfm文件中搜索字符串

当我尝试搜索->在文件中查找时,指定.dfm无效。但是,如果我将所有扩展名从dfm更改为txt,并指定.txt作为扩展名,则该扩展名将正常工作。

我使用的是,当您选中“搜索表单文件”时,该扩展名与dfm
配合得非常好


(来源:)

更新:为什么我更喜欢GExperts而不是D2010“在文件中查找”

  • 我与D2007以及D2010一起工作。我可以在两者中一致地使用相同的搜索工具
  • 您可以将搜索限制为打开/全部在项目中/全部在项目组中,并且仍然获取dfm,而在D2010中,您仅获取目录的dfm,它甚至在D2007中不起作用
  • 如果我愿意,我可以同时使用这两种方法
      使用DFM文件有任何简单的方法

      • 打开表单,以便查看它 视觉上
      • 右键单击并选择 “以文本形式查看”
      • 将生成的文本文件视为源代码,使用 字符串等,然后完成后,右键单击并选择“查看为” 形式'

        试试看


        • 好的。。。不确定您是想从Delphi的IDE还是Windows进行搜索。从Delphi的IDE中,正如François提到的,GExpert的GREP搜索完成了任务。要允许Windows读取DFM/PAS文件,您需要添加一些注册表项,以便在Windows XP和更高版本上允许它。将以下内容保存在*.reg文件中,然后双击该文件以在注册表中安装。(注意,这在WinXP中有效。我没有在Win7/Vista中尝试过)

          其中一些密钥可能不需要。。。我刚刚从
          [HKEY\u CLASSES\u 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}"
          

          Delphi 2010的“在文件中查找”也可以做到这一点。因此,除了使用GExperts之外,Delphi 2010也可以做到这一点,但Delphi 2007(我应该提到我使用的是D2007)?@M Schenkel。是的,如果您在搜索掩码中显式包含*.dfm,D2010就可以,但D2007不能。您还可以使用ALT-F12在表单设计器(但不是代码视图)和表单作为文本之间切换。是的-我知道这一点。但我真正需要做的是在一个目录或一组目录中的所有DFM中进行搜索。这在Delphi IDE的最新版本中不起作用,表单查看器会覆盖您对DFM文件所做的任何更改。但是,您可以做的是使用外部编辑器,例如Visual Studio代码,在那里编辑DFM文件,然后您只需要重新打开项目以加载更改(即使对于大型项目,这也是非常快的),而且您具有撤消功能,可以使用您喜爱的编辑器!谢谢你的详细回复。是的,我的意思是“在DelphiIDE中”。