2010-05-20 15 views
6

Czy istnieje sposób w Delphi do wyszukiwania w plikach dfm dla ciągu znaków?Wyszukaj plik DFM przy użyciu Delphi IDE

Kiedy próbuję Search-> Znajdź w plikach podając .dfm to nie działa. Jednak jeśli zmienię wszystkie rozszerzenia z dfm na txt i określ .txt jako rozszerzenie, które działa.

Odpowiedz

16

Używam GExperts grep i działa bardzo dobrze z DFM podczas sprawdzania "Formularz wyszukiwania plików"

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

Aktualizacja: dlaczego wolę GExperts do D2010 "Znajdź w plikach" ...

  • pracuję z D2007 jak D2010. Mogę używać narzędzia to samo wyszukiwanie narzędzie konsekwentnie w obu.
  • Można ograniczyć przeszukiwanie do Open/All-in-project/All-in project-grupy- i nadal uzyskać DFM, natomiast w D2010 masz DFM tylko dla katalogów i nie nawet działa w D2007.
  • Mogę użyć zarówno, jeśli chcę.
+0

GExperts można pobrać tutaj: http://www.gexperts.org –

+1

Delphi 2010 w "Znajdź w plikach" może to zrobić również. – Giel

+0

@Giel, ale tylko do wyszukiwania w katalogach.(zobacz moją edycję) –

3

Istnieje łatwy sposób pracy z plikami DFM.

  • Otwórz formularz, aby zobaczyć go w formie wizualnej: .
  • Kliknij prawym przyciskiem myszy i wybierz opcję "Wyświetl jako tekst".
  • Traktuj wynikowy plik tekstowy jako kod źródłowy, graj za pomocą ciągów , a następnie po zakończeniu kliknij prawym przyciskiem myszy i wybierz "Wyświetl jako Formularz".

    Wypróbuj.

+0

Można również użyć klawisza ALT-F12, aby przełączać między projektantem formularzy (ale nie widokiem kodu) a formularzem jako tekstem. –

+0

Tak - zdawałem sobie z tego sprawę. Ale to, co naprawdę muszę zrobić, to przeszukać wszystkie pliki DFM w katalogu lub zestawie katalogów. –

+0

To nie działa w najnowszych wersjach Delphi IDE, przeglądarka formularzy zastępuje wszelkie zmiany wprowadzone w pliku DFM. Możesz jednak użyć zewnętrznego edytora, takiego jak Visual Studio Code, edytować plik DFM, a następnie wystarczy ponownie otworzyć projekt, aby wczytać zmiany (jest to bardzo szybkie, nawet w przypadku dużych projektów), a następnie: masz możliwości cofania i możesz użyć swojego ulubionego edytora! –

2

Ok ... Nie jestem pewien, czy chodziło o sposób wyszukiwania z IDE Delphi, czy z systemu Windows. Z IDE Delphi, jak wspomniał François, wyszukiwanie GEREperta GREP wykonuje to zadanie. Aby umożliwić systemowi Windows odczytywanie plików DFM/PAS, musisz dodać kilka kluczy rejestru, aby zezwolić na to w systemie Windows XP lub nowszym. Zapisz następującą zawartość w pliku * .reg i kliknij ją dwukrotnie, aby zainstalować w rejestrze. (Uwaga: działa w WinXP.) Nie wypróbowałem go w Win7/Vista).

Niektóre z tych klawiszy mogą nie być wymagane ... Właśnie skopiowałem elementy z klucza [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

Dzięki za szczegółową odpowiedź. Tak - chciałem powiedzieć "w ramach IDE Delphi". –

Powiązane problemy