www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
  http://tikitak.narod.ru ---- Главная страница сайта

Шаг 62 - Поиск текста в файлах с использованием Developer Studio

Создаем проект

Оставляем наше консольное приложение Win32 c поддержкой MFC.

Описание

Итак вы как программист на С++ поставлены довольно в тяжелую ситуацию. Это огромное количество заголовочных фалов (*.h), огромное количество файлов C и CPP. Кроме того, если Вы похожи на меня, то Вы собираете огромное количество файлов документации и примеров откуда только можно :-)). У меня, например, только более 200 MB информации по компьютерным системам в формате HTML :-). Просто так, несмотря на структуризацию, найти тяжело. И этот размер далеко не предел. Так вот у меня часто возникает задача типа такой. Я хочу найти все, что написано про CRichEditView. Мне нужна информация. Что я делаю ? Пересматриваю все файлы естесвенно автоматически. Кроме того небезызвестная фирма далеко не все документирует. Вы разве на встречали ситуацию, когда функция не описана в справке, а в описании класса в заголовочном файле она есть? Вот этими причинами я и руководствовался решив посвятить этому вопросу целый шаг.

Для реализации этой возможности в предусмотрен пункт меню. Вот он.

step62_1.gif (4346 b)

В ответ на его выбор Вы получите следующее диалоговое окно. Вобщем-то эта возможность аналог утилиты greep, которая есть во многих средствах разработки для UNIX и DOS.

step62_2.gif (6008 b)

Вы видите полное окно поиска. Его раскрыть можно с помощью кнопки Advanced , и закрыть естественно. Смотрим чего здесь есть. Find what - сюда Вы пишите чего будете искать. У меня записано определение структуры точки в Windows. Дальше вы можете указать какие типы фалов будут просмотрены in files/file types - это естественно увеличивает скорость, например зачем просматривать exe, если Вы хотите найти текстовую информаци. Кстати применение этой возможности намного больше. Я, например, просмотрел весь каталог Windows (98 :-)) все файлы в поисках слова error и вот одна строка, которая меня заинтересовала. Это код на VB под другим расширением.

C:\WINDOWS\SAMPLES\WSH\NETWORK.VBS(69):    On Error Resume Next
А оказалось это вот что. Вот так иногда и то, что есть на компьютере загадка, и оказывается помощь можно найти у себя на компе :-)
' Пример для сервера сценариев Windows
'
' ------------------------------------------------------------------------
'                     (C) Корпорация Microsoft, 1996-1998
'
' Вы имеете право, не требующее дополнительных лицензионных платежей, 
' на использование, изменение, воспроизведение и распространение файлов
' примеров (и любой измененной версии) любым способом, учитывая, что
' Корпорация Microsoft не предоставляет гарантий и обязательств, 
' а также не несет ответственности за любой из файлов примеров
' ------------------------------------------------------------------------
'
' Этот пример демонстрирует использование объекта WSHNetwork.
' Он используется для чтения свойств сети (имя пользователя и компьютера), 
' подключения, отключения и перечисления дисков сети.
......................
Внизу вы можете добавить каталоги для поиска (Look in additional folder). Щелкаете два раза на строке, появляется кнопка (...) , нажимаете на ней и выбираете каталог. И так можно несколько раз в разных строчках. Крестиком можно удалять строку и так далее. Разберетесь :-)

Вернемся к поиску tagPoint результат поиска будет вот здесь.

step62_3.gif (7159 b)

Щелкните на любой записи и вы окажетесь в файле, да и курсор будет стоять в месте упоминания этой структуры. Один совет, если вы хотите найти всё, например, про точку лучше ввести point, так как её струтура есть еще и в WINGDI.H.

typedef struct tagPOINTFX
{
    FIXED x;
    FIXED y;
} POINTFX, FAR* LPPOINTFX;
В окне есть некоторые опции поиска, как, например, искать во вложенных папочках или нет. Надеюсь они не составят для вас труда. Надеюсь, что моё изложение Вам поможет.

Если честно сказать, то о существовании структуры POINTFX я и не подозревал, пока не провел этот поиск. Ну не попадалась она мне в описаниях и при работе. Думаю, использовав этот метод, вы сделаете много открытий для себя :-)


Предыдущий Шаг | Следующий Шаг | Оглавление

By Artem.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz