Сообщений 4    Оценка 115        Оценить  
Система Orphus

Поиск в MSDN

Автор: Александр Шаргин
Опубликовано: 27.11.2001
Исправлено: 26.12.2005
Версия текста: 1.0

Вкладка Search
Синтаксис запросов
Подсветка результатов поиска
Подмножества
Поиск в Базе Знаний
Категории статей
Тематика
Аппаратные платформы
Операционные системы
Язык C++ и компилятор фирмы Microsoft
Интегрированная среда разработки
Инструментарий
Инсталляция
Win32 API
COM/DCOM, COM+
Базы данных
Интернет
MFC
ATL
Прочее

MSDN - это библия Windows-разработчика. В ней содержится огромное количество важной и полезной информации по всем основным продуктам и технологиям фирмы Microsoft. Но когда информации накапливается слишком много, встаёт другая проблема - проблема поиска именно тех данных, которые требуются в данный момент. В этой статье мы поговорим о том, как искать нужную информацию в MSDN.

ПРИМЕЧАНИЕ
Далее речь пойдёт о той версии MSDN, которая распространяется на дисках и используется в качестве хелпа в среде разработки Visual C++. Тем не менее, некоторые рекомендации можно с успехом применять при поиске в Интернете на сайте MSDN Online.

Вкладка Search

Базовым инструментом для поиска информации в MSDN служит вкладка Search навигационной панели. Посмотрим, какие средства она нам предоставляет.


Вкладка Search

В верхней части вкладки Search находится поле ввода "Type in word(s) to search for". Оно позволяет вводить и выполнять запросы на поиск информации. Искать можно в статьях MSDN, в заголовках статей (флажок "Search titles only") или в статьях, найденных по предыдущему поисковому запросу (флажок "Search previous results"). Чтобы выполнить запрос, нажмите Enter (или щёлкните по кнопке "List Topics"). Появится список статей, удовлетворяющих запросу. Перейти к любой статье в списке можно, дважды щёлкнув по ней левой клавишей мыши. Можно также выделить нужную статью и щёлкнуть по кнопке "Display". Для удобства список статей можно сортировать по названию, разделу или рангу (то есть по степени соответствия запросу). Для этого нужно щёлкнуть по заголовку соответствующего столбца списка.

СОВЕТ
Если вы нашли статью, которая вас заинтересовала, посмотрите, где она находится в оглавлении (для этого нужно нажать кнопку Locate на панели инструментов). Возможно, рядом с ней вы найдёте несколько похожих статей, которые вам пригодятся, или даже целый раздел, посвящённый интересующей вас теме.

Синтаксис запросов

В простейшем случае запрос может состоять из одного-единственного слова. Результатом будет список статей, в которых это слово встречается. При поиске не учитывается регистр букв, поэтому запросы "style", "STYLE" и даже "StYlE" дадут одинаковый результат. Слова, которые вы вводите, могут состоять из любых букв и цифр. Использовать знаки препинания допускается, но они игнорируются при поиске.

Введённое вами слово разыскивается именно в той грамматической форме, в которой вы его набрали. Если вы хотите, чтобы учитывались все возможные формы слова, установите флажок "Match similar words" в нижней части вкладки Search. Если установить этот флажок, то по запросу "develop" будут также обнаружены статьи со словами "developed", "developer" и даже "development".

Можно искать в MSDN не только фиксированное слово, но и фиксированную фразу. Для этого фразу нужно заключить в двойные кавычки. Как и в случае с отдельными словами, можно использовать флажок "Match similar words" для поиска фразы во всех возможный грамматических формах. Если установить этот флажок, то запрос "create dialog" отыщет также статьи с фразами "creating dialog", "created dialog", "create dialogs" и т. п.

В словах можно использовать специальные символы "*" и "?". Они имеют тот же смысл, что и в командном языке Windows: "?" обозначает одну произвольную букву, а "*" - любую последовательность букв. Например, вы можете быстро найти все статьи, в которых рассказывается об уведомлениях элемента ListView, задав запрос "LVN_*".

Для более тонкого отбора нужных статей используются операторы AND, OR, NOT и NEAR. Они вводятся прямо с клавиатуры или из меню, которое появляется при щелчке на стрелочке, расположенной справа от окна с запросом.

ПРЕДУПРЕЖДЕНИЕ
Операторы AND, OR и NOT нельзя заменять на позаимствованные из языка C символы &, | и !. Хотя в документации утверждается, что это допустимо, ваши запросы не будут работать.

С помощью операторов можно связывать как отдельные слова, так и заключённые в кавычки фиксированные фразы. Операторы AND, OR и NOT имеют стандартный смысл "И", "ИЛИ" и "НЕ", а оператор NEAR означает, что связанные им слова (фразы) должны находиться недалеко (в пределах 8 слов) друг от друга. Например, можно задать запрос "debug NEAR release NEAR build" для поиска статей об отличиях отладочной и финальной версии программы в Visual C++. Если вы опускаете оператор между словами, считается, что это оператор AND.

СОВЕТ
Обратите особое внимание на оператор NEAR. В MSDN содержатся десятки тысяч статей, многие из них очень большие. Даже если вы объедините несколько слов оператором AND, они могут встретиться в статье, которая совершенно не относится к интересующей вас теме. Использование NEAR существенно повышает вероятность найти именно то, что вам нужно.

Запросы с операторами всегда читаются слева направо. Никаких приоритетов для операторов не вводится. Чтобы изменить порядок обработки запроса, можно использовать круглые скобки.

Подсветка результатов поиска

Чтобы определить, насколько найденные статьи соответствуют нашим нуждам, часто бывает удобно включить подсветку слов или фраз, которые совпали с нашим запросом. Для этого нужно установить галочку Highlights в меню View.

Подмножества

MSDN часто ругают за то, что в ней вся информация свалена в кучу. Похожие функции есть и в Win32 API, и в MFC, и в Java, и в VB... Попробуйте ввести в индексе функцию типа "print", и вы поймёте, что я имею в виду. К счастью, нас никто не заставляет работать с библиотекой MSDN целиком. Вы можете определить в ней некоторое подмножество разделов, с которым будут работать оглавление, индекс и поиск. Используя подмножества, вы можете существенно сузить круг поиска нужной информации и быстрее найти то, что вам нужно.

Подмножество задаётся в выпадающем списке "Active Subset" в самой верхней части навигационной панели MSDN. Пункт "(Entire Collection)" соответствует всей библиотеке целиком. Кроме этого, в MSDN обычно присутствует несколько удобных предопределённых подмножеств, которыми вы можете воспользоваться. Например, подмножество "MSDN, Knowledge Base" ограничивает круги ваших поисков Базой Знаний фирмы Microsoft (о ней мы подробно поговорим в следующем разделе). А подмножество "Visual C++, Platform SDK, and Enterprise Docs" должно понравиться разработчику на языке C++, так как содержит документацию на сам язык C++ и его стандартную библиотеку, среду Visual C++, Win32 API и библиотеки MFC и ATL.

Если предопределённых подмножеств недостаточно, всегда можно определить свои собственные. Для этого предназначен пункт меню "View0>Define Subset..." (определить подмножество).


Диалог Define Subset

В открывшемся диалоге "Define Subset" вы увидите два дерева. В правом показаны разделы, принадлежащие подмножеству, а в левом - не входящие в него. Раскрывать и сворачивать подразделы можно двойным щелчком левой клавиши мыши. Для перемещения разделов в подмножество и из него используйте кнопки Add, Add All, Remove и Remove All. Из списка "Select subset to display" выбирается подмножество, которое вы будете редактировать (по умолчанию выбирается "New" - новое подмножество). Здесь же можно удалить ненужное подмножество, выбрав его из списка и нажав Delete. Если вы создали новое подмножество, не забудьте назначить ему название в поле "Save new subset as" и сохранить его, нажав Save.

Поиск в Базе Знаний

База Знаний (Knowledge Base, KB) - это огромная коллекция технических документов. Эти документы дополняют документацию, описывая решения конкретных проблем, которые могут возникнуть у пользователя или программиста. В Базе Знаний содержатся ответы на многие вопросы, нужно только найти их там.

Каждая статья в KB содержит несколько специальных ключевых слов, которые её довольно точно классифицируют. Все эти слова начинаются с префикса kb. Задавая одно или несколько таких ключевых слов в поисковом запросе, можно вычленить из Базы именно те статьи, которые вам требуются. Список основных ключевых слов приведён в последующих разделах.

Категории статей

Каждая статья в Базе Знаний относится к одной из следующих категорий:

Если вы ищете в Базе Знаний статьи определённой категории (категорий), вы можете использовать в запросе специальные ключевые слова.

Категория Ключевое слово
HOWTO kbHOWTO
INFO kbINFO
PRB kbPRB
BUG kbBUG
FIX kbFIX
SAMPLE kbSAMPLE
FAQ kbFAQ
DOC kbDOC

Тематика

Ключевые слова, связанные с тематикой, можно комбинировать с ключевыми словами, соответствующими конкретным технологиям. Это позволит получить результаты, более точно соответствующие вашим нуждам. Например, если вас интересует безопасность в ASP, вы можете задать запрос "kbASP kbSecurity". Если вас интересует отладка DLL, используйте запрос "kbDLL kbDebug". И так далее.

Тематика Ключевое слово
Отладка kbDebug
Сообщения об ошибках kbErrMsg
Скриптовые языки kbScript
Незаконченные фрагменты кода (code snippets) kbCodeSnippet
Использование визардов kbwizard
Безопасность kbSecurity
Производительность kbPerformance
Масштабируемость kbScalability
Развёртывание приложений kbDeployment
Локализация kbLocalization

Аппаратные платформы

Тема Ключевое слово
Платформа Intel x86 kbx86
Эмуляция Intel x86 kbEmulatex86
DEC Alpha kbDecAlpha
Компьютеры Macintosh kbMAC
Платформы на базе чипов MIPS kbMIPS
Процессоры PowerPC kbPowerPC
Процессоры Hitachi SuperH kbSuperH

Операционные системы

Тема Ключевое слово
Всё семейство ОС Windows kbOSWin, kbWinOS
ОС Windows NT kbNTOS
ОС Windows NT 4.0 kbNTOS400
ОС Windows 2000 kbWinOS2000
ОС Windows 95 kbWinOS95
ОС Windows 98 kbWinOS98
ОС Windows CE kbWinCE
Unix kbOSUNIX, kbUNIX

Язык C++ и компилятор фирмы Microsoft

Тема Ключевое слово
Только язык C (без C++) kbConly
Только язык C++ kbCPPonly
Синтаксис языка C kbLangC
Синтаксис языка C++ kbLangCPP
Библиотека C run-time (CRT) kbCRT
Обработка исключений в C++ kbExceptHandCPP
Шаблоны kbtemplate
Standard Template Library (STL) kbSTL
Код, генерируемый компилятором kbCodeGen
Компилятор kbCompiler
Линкер kbLinker
Утилита Nmake kbNMake

Интегрированная среда разработки

Тема Ключевое слово
Общие
Visual Studio (все версии) kbVS
Visual Studio 97 kbVS97
Visual Studio 6.0 kbVS600
Среда разработки Developer Studio kbDevStudio
Интегрированная среда разработки (IDE) kbIDE
Visual C++
Visual C++ kbVC
Visual C++, версия 6.0 kbVC600
Объектная модель Visual C++ kbVCObj
Редактор кода kbEditor
Редактор ресурсов kbResourceEd
ClassViewer в Visual C++ kbClassView
Class Wizard kbClassWizard
Галерея компонентов (Component Gallery) kbCompGallery
Создание собственных визардов kbCustomWizard
Другие среды
Visual Basic kbVBp
Visual Fox Pro kbVFP
Visual InterDev kbVisID
Visual Source Safe kbSSafe

Инструментарий

Тема Ключевое слово
Различные инструменты kbMiscTools
Инструменты для анализа производительности kbPerformanceTool
Продукты, поставляемые в составе Platform SDK kbSDKPlatform
Windows Kernel Debugger (WinDBG.EXE) kbWinDBG
Visual Analyzer kbVisAnalyzer

Инсталляция

Тема Ключевое слово
Инсталляция приложений на компьютер пользователя kbAppSetup
Проблемы с установкой приложений фирмы Микрософт kbSetup
Microsoft Windows Installer (MSI) kbMSI
Microsoft Windows Installer, версия 1.0 kbMSI100
Microsoft Windows Installer, версия 1.1 kbMSI110
Visual Studio Installer kbVSI

Win32 API

Тема Ключевое слово
Весь Application Programming Interface (API) kbAPI
Структурная обработка исключений в Win32 kbExceptHandSEH
Реестр kbRegistry
Многопоточность kbThread
Динамически подключаемые библиотеки (DLL) kbDLL
Программирование сервисов kbService
Буфер обмена kbClipboard
Файловый ввод/вывод kbFileIO
Работа со строками и строковыми ресурсами kbString
Дата и время kbDateTime
Консоль управления фирмы Микрософт (Microsoft Management Console, MMC) kbMMC
Система помощи в старом формате (WinHelp) kbWinHelp
Система помощи на базе HTML kbHTMLHelp
Общие контролы Windows kbCmnCtrls
Стандартные диалоги kbCmnDlg
Создание и использование диалоговых окон kbDlg
Работа с меню kbMenu
Программирование акселераторов ("горячих клавиш") kbKeyAccel
Программирование Drag and Drop kbDragDrop
Графика средствами GDI kbGDI
Печать kbPrinting
Сокеты kbWinsock

COM/DCOM, COM+

Тема Ключевое слово
Модель COM/DCOM
Вся Component Object Model (COM) kbCOMt
Distributed COM (DCOM) kbDCOM
ODL-файлы kbODL
IDL-файлы kbIDL
Компилятор MIDL kbMIDL
Внутрипроцессные COM-серверы kbInprocSvr
Локальные COM-серверы kbLocalSvr
Маршалинг kbMarshal
Лицензирование kbLicensing
Точки соединения (Connection Points) kbConnPts
Подразделения kbApartment
Технологии OLE и ActiveX
Вся технология Object Linking and Embedding (OLE) kbOLE
Все технологии ActiveX kbActiveX
Длительное хранение (persistent storage) в OLE kbPersistSt
Интерфейс IDataObject kbDataObject
События kbActiveXEvents
Составные документы (compound documents) kbCmpDoc
Контейнеры OLE kbContainer
Активизация "по месту" (inplace activation) kbInplaceAct
Активные документы (active documents) kbActiveDocs
Автоматизация приложений kbAutomation
ActiveX-контролы (создание и использование) kbCtrl
ActiveX-контролы (только создание) kbCtrlCreate
COM+ и MTS
Весь COM+ kbCOMPLus
Microsoft Transaction Server (MTS) kbMTS
Асинхронные вызовы COM+ kbCOMPlusAsync
Контексты COM+ kbCOMPlusContext
События COM+ kbCOMPlusLCE

Базы данных

Тема Ключевое слово
Все статьи, посвящённые базам данных kbDatabase
Microsoft Data Access Components (MDAC) kbMDAC
Open Database Connectivity (ODBC) kbODBC
Java Database Connectivity (JDBC) kbJDBC
Data Access Objects (DAO) kbDAO
Data Access Object SDK kbSDKDAO
Ядро JET kbJET
Remote Data Objects (RDO) kbRDO
Remote Data Service (RDS) kbRDS
OLE Database Interface (OLEDB) kbOLEDB
OLEDB-потребители kbConsumer
OLEDB-провайдеры kbProvider
Простой OLE DB-провайдер kbOSP
ActiveX Data Objects (ADO) kbADO
Microsoft SQL Server kbSQLServ
Отладчик T-SQL kbTSQL
Продукты и технологии Oracle kbOracle
Exchange kbXchge
Installable ISAM kbIISAM
Технологии и формат dBASE kbDBase
Excel kbExcel
Access kbAccess
Создание и распространение драйверов для баз данных kbDriver

Интернет

Тема Ключевое слово
Active Server Pages (ASP) kbASP
XML kbXML
Парсер MSMXL (все версии) kbMSXML
Парсер MSMXL, версия 2.0 kbMSXML200
Парсер MSMXL, версия 3.0 kbMSXML300
Internet Service API (ISAPI) kbISAPI
Веб-серверы kbWebServer
Cookies kbCookies

MFC

Тема Ключевое слово
Вся библиотека Microsoft Foundation Classes (MFC) kbMFC
Архитектура документ/представление kbDocView
Многодокументный интерфейс (Multiple Document Interface, MDI) kbMDI
Классы MFC, произведённые от CControlBar kbMFCCtrlBar
Контекстно-зависимая справка kbCSHelp
Программирование панелей инструментов kbToolbar
Разработка пользовательского интерфейса kbUIDesign
Обработка исключений в MFC kbExceptHandMFC

ATL

Тема Ключевое слово
Active Template Library (ATL) kbATL
Ver. 1.1 Active Template Library, версия 1.1 kbATL110
Ver. 2.0 Active Template Library, версия 2.0 kbATL200
Ver. 2.1 Active Template Library, версия 2.1 kbATL210
Ver. 3.0 Active Template Library, версия 3.0 kbATL300
Поддержка окон в ATL kbATLWC
Провайдеры и потребители в ATL kbDTL

Прочее

Тема Ключевое слово
Статьи, написанные группами технической поддержки Микрософт kbDSupport
Общая информация, не относящаяся к программированию kbGenInfo
Взаимодействие с MSDN kbMSDN
Компоненты и драйверы третьих фирм kb3rdparty

Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
    Сообщений 4    Оценка 115        Оценить