2010-05-20 11 views
6

Есть ли способ в Delphi для поиска в файлах dfm для строки?Поиск файла DFM с использованием Delphi IDE

Когда я попробовать Search-> Найти в файлах указания .dfm он не работает. Однако, если я изменю все расширения от dfm до txt и укажите .txt как расширение он работает.

ответ

16

Я использую GExperts grep и очень хорошо работает с DFM при проверке «Поиск файлов формы»

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

Обновление: почему я предпочитаю GExperts в D2010 «Найти в файлах» ...

  • Я работаю с D2007, а также D2010. Я могу использовать тот же поиск tool последовательно в обоих.
  • Вы можете ограничить поиск в Open/All-в-проекта/All-в-проекта-группы и еще получить DFM, в то время как в D2010 вы получите DFM только для каталогов и не даже работают в D2007.
  • Я могу использовать оба если захочу.
+0

GExperts можно скачать здесь: http://www.gexperts.org –

+1

Delphi 2010 в "Найти в файлах" может сделать это, как хорошо. – Giel

+0

@Giel, но только для поиска в каталогах.(см. мое редактирование) –

3

Существует простой способ работы с файлами DFM.

  • Открыть форму, чтобы вы могли видеть ее визуально.
  • Щелкните правой кнопкой мыши и выберите «Просмотр как текст».
  • Рассматривайте полученный текстовый файл как исходный код, играйте с строками и т. Д., Затем, когда вы закончите, щелкните правой кнопкой мыши и выберите «Просмотреть как Форма».

    Попробуйте.

+0

Вы также можете использовать ALT-F12 для переключения между дизайнером формы (но не кодом) и формой в виде текста. –

+0

Да, я знал об этом. Но мне действительно нужно выполнить поиск по всем DFM в каталоге или наборе каталогов. –

+0

Это не работает в последних версиях Delphi IDE, средство просмотра форм перезаписывает любые изменения, внесенные в файл DFM. Однако вы можете использовать внешний редактор, такой как Visual Studio Code, отредактировать DFM-файл там, тогда вам просто нужно снова открыть проект для загрузки изменений (это очень быстро даже для больших проектов), и вот, у вас есть возможности отмены и можете использовать ваш любимый редактор! –

2

Хорошо ... Не уверен, что вы предназначены для поиска в среде IDE Delphi или из Windows. Из IDE Delphi, как упоминал Франсуа, поиск GREP от GExpert выполняет эту работу. Чтобы Windows могла читать файлы DFM/PAS, вам нужно добавить несколько ключей реестра, чтобы разрешить их в Windows XP и более поздних версиях. Сохраните следующий контент в файле * .reg и дважды щелкните его, чтобы установить его в реестр. (Обратите внимание, что это работает в WinXP. Я не пробовал это в Win7/Vista)

Некоторые из этих ключей могут не потребоваться ... Я просто скопировал файлы с ключа [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

Спасибо за подробный ответ. Да, я хотел сказать «Внутри Delphi IDE». –

Смежные вопросы