DirectX 9.0 SDK
Рантайм для конечного пользователя
Дополнения
Отладочные символы для DirectX 9.0 SDK
Интеграция с VS 2003
AsmEx
Remotesoft .NET Explorer
noGoop
Reflector
Resourcer
Report Sharp Shooter
Data Dynamics ActiveReports for .NET
Developer Express Inc. XtraPrinting Library
ComponentOne
ASP.NET Reports
Пример, на C#, рассчитанный на .NET Framework SDK
Пример, на C#, рассчитанный на Visual Studio .NET
Пример, на VB, рассчитанный на .NET Framework SDK
Пример, на VB, рассчитанный на Visual Studio .NET
VisualComparer
VisualComparer Unicode
Araxis
SequoiaView - визуализатор содержимого диска
pcGRASP - построение блок-схем по коду
OllyDbg - бесплатный отладчик
Сегодня вместе с очередным выпуском журнала вы, уважаемый читатель, как обычно, получили компакт-диск с программным обеспечением. Что мы записали на диск в этот раз?
Разумеется, на диске присутствуют полная оффлайн-версия сайта rsdn.ru и форумов сайта delphi.mastak.ru – в удобной для чтения форме и с возможностью поиска.
Большую часть диска занимает долгожданный DirectX 9. Мы обещали его еще в прошлом номере, но, увы, "из-за неизбежных на море случайностей" не сложилось. Рассказывать, что такое DirectX, излишне. Но несколько слов о том, что нового появилось в составе пакета, сказать следует.
Главная новость – добавлены managed-обертки для DirectX API, позволяющие использовать DirectX из .NET CLR-совместимых программ. Большинство примеров, позволяющихся с новым SDK, реализованы как на C++, так и на C# и VB.NET. Но некоторые примеры, причем самые сложные, по-прежнему представлены только на C++.
Одним из новшеств явилось включение в состав пакета браузера, позволяющего достаточно быстро ознакомиться с возможностями DirectX 9 (рисунок 1).
Рисунок 1
Изменения коснулись в разной степени всех составляющих DirectX, особо отметить стоит появление нового AppWizard.
AppWizard интегрируется в Visual Studio и позволяет легко создавать каркас DirectX-приложений. Это позволит новичкам освоиться с возможностями DirectX, а опытным программистам — быстро создавать тестовые проекты.
Рисунок 2
Другие новшества в основном касаются графики, их подробное описание можно найти в файле справки, входящем в состав пакета. Простое перечисление этих возможностей займёт слишком много места.
Однако лучше один раз увидеть, чем семь раз услышать. В данном случае неплохо было бы и «услышать» примеры, созданные при помощи DirectSound и DirectMusic, но, к сожалению, журнальные страницы этого не позволяют. Поэтому осталось только «увидеть» примеры, созданные с использованием DirectX Graphics. Такой пример приведён на рисунке 3.
Рисунок 3
На этот раз наш компакт-диск содержит ряд утилит, по нашему мнению, небесполезных для программистов. Во-первых, это небольшая подборка программ, позволяющих анализировать содержание исполняемых файлов для .NET. Каждая из программ отображает метаданные, но делает это немного по-своему. Например, dotexplorer фирмы Remotesoft (www.remotesoft.ru) при щелчке на названии соответствующей таблицы метаданных в окне шестнадцатиричного просмотра устанавливает курсор по смещению, равному смещению этой таблицы в файле. Нам неизвестен более ни один продукт, который позволяет делать это, хотя, разумеется, ничего сложного здесь нет (рисунок 4). В правом нижнем углу хорошо заметен курсор, который расположен на начале таблицы TypeDef…
Рисунок 4
Reflector Лютца Рёдера (Lutz Roeder) (www.aisto.com/roeder/dotnet) позволяет не только посмотреть на «внутренности» файла и дизассемблировать методы. В любой момент программист может получить краткую справку о том или ином методе, а также взглянуть на стек вызовов этого метода или, скажем, список ссылок на поле. Приятной особенностью Reflector’а является то, что при переходе в другое место файла всегда можно вернуться в начальную точку благодаря наличию механизма «Forward-Back». Зачастую этот механизм может очень облегчить жизнь.
Помимо Reflector’а, Лютц Рёдер написал Resourcer, программу, позволяющую просматривать и редактировать ресурсы исполняемого .NET-файла. Возможно, эта программа вам пригодится.
Наверное, не останется незамеченной и программа с немного странным названием noGoop. Как следует из её описания, эта программа позволяет проверять, трассировать события и управлять поведением любых объектов .NET. Думаем, читатели сами оценят возможности этой программы.
И, в заключение, AsmEx. Возможно, именно эта программа окажется для кого-то наиболее удобной. Кстати, стоит посмотреть на элемент «Hints» меню «Help» этой программы.:) Это заслуживает внимания!
Кстати, вместе с ней мы записали на диск и 16-ричный редактор, написанный той же командой.
Следующий раздел подборки программ — демонстрационные версии нескольких генераторов отчётов, совместимых с .NET Framework.
Как написано в документации, сопровождающей Report Sharp Shooter (меткий стрелок, однако! :)), этот репортер является наиболее гибким «движком» для построения отчётов в .NET из имеющихся на рынке в настоящий момент. Может, так оно и есть на самом деле, может, нет, но продукт заслуживает внимания.
Report Sharp Shooter представляет собой невизуальный компонент. Связав между собой источник данных и шаблон отчёта, построенный при помощи дизайнера, включённого в состав «Меткого стрелка», можно получать великолепно выглядящие отчёты. Отчёт можно просмотреть с помощью входящего в состав пакета ReportViewer. На рисунке 5 приведён пример отчёта, построенного с помощью «Меткого стрелка»
Рисунок 5
ComponentOne Reports for .NET позволяет создавать и редактировать отчеты, или импортировать существующие отчеты Microsoft Access. ComponentOne Reports известен довольно давно, сейчас появилась его .NET-версия.
Еще один генератор отчетов в нашей подборке – ASP.NET Reports Starter Kits Beta. Это пример генератора отчетов, созданного на ASP.NET. Его достоинства – наличие исходных текстов и бесплатность.
И, наконец, ActiveReports for .NET фирмы Data Dynamics. Это реинкарнация достаточно известного генератора отчетов, реализующая функциональность ActiveReports 2.0 на платформе .NET. Поддерживаются ASP.NET и WinForms. На диске присутствует полнофункциональная trial- версия продукта.
Как видите, генераторов отчетов для .NET появилось довольно много. Отличаются они функциональностью, удобством, и, конечно, ценой. Выбор за вами.
Не так давно вышла версия SequoiaView для Windows XP. Часто ли вам приходится освобождать место на диске? Можете ли вы на одном экране сразу увидеть всё содержимое вашего диска и понять, какие программы или данные занимают больше всего места? Попробуйте сделать это при помощи Sequoia. Только не удивляйтесь несколько необычному способу представления информации. Через пару-тройку минут вам покажется, что лучше и удобнее и придумать невозможно… Взгляните на рисунок 6. На нём отображено содержимое моего диска. Интересно, не правда ли?
Рисунок 6
И, наконец, ещё три интересные утилиты. Если возникает необходимость получить блок-схему алгоритма, реализованного в виде программы, воспользуйтесь утилитой, которая называется pcGRASP (рисунок 7).
Рисунок 7
На сайт, посвященный этой программе, можно попасть по ссылке www.eng.auburn.edu/grasp.
В состав подборки включён замечательный, по нашему мнению, отладчик. К сожалению, он не предназначен для работы под .NET, но ведь не все программы сейчас .NET’овские… Наверное, ещё рано списывать «на пенсию» старые добрые отладчики, как по-вашему? Тем более что у отладчика OllyDbg, который мы включили в нашу подборку, есть воистину замечательные возможности. В частности, обратите внимание на то, как отображается стек (Рисунок 8).
Рисунок 8
Думаю, вряд ли ещё что-то может похвастаться такой степенью детализации. Но это не единственная приятная возможность OllyDbg… Дополнительную информацию по OllyDbg можно найти на сайте home.t-online.de/home/Ollydbg.
Тем, кому часто приходится сравнивать файлы, можно порекомендовать «взглянуть» на VisualComparer. Функционально подобный включённому в состав MSVS 6.0 WinDiff’’у, Visual Comparer обладает массой дополнительных возможностей, в числе которых, в частности, подсветка известных программе синтаксических конструкций различных языков программирования. Посмотрите сами (рисунок 9).
Рисунок 9
Нам было бы небезынтересно узнать, какие продукты следовало бы включить в состав компакт-диска, который будет приложен к следующему номеру. Поэтому продолжается голосование на эту тему, открытое на сайте журнала.
Также на нашем компакт-диске находится более известный конкурент VisualComparer'a - Araxis Merge.