Вашему вниманию предлагается книга известного французского автора Фредерика Жимарши. Книгу без преувеличения можно назвать энциклопедией мобильных роботов. В ней детально рассматривается элементная база роботов: микроконтроллеры, их архитектура и система команд, типы применяемых датчиков, силовых контроллеров и двигателей, для роботов. Детально описаны конструкции нескольких роботов ("робот F", "робот-борец Сумо", "робот-муравей", "робот с походкой человека" и др.), которые можно собрать своими руками: электронные схемы, чертежи печатных плат и размещения радиоэлементов, соединение составных частей; листинги программ, часть которых дана в Ассемблере, часть - на языках С и Basic. Изюминкой книги является рассмотрение специально разработанных языков для роботов - объектно-ориентированного языка, на основе которого создан язык LEGO одноименной фирмы, и улучшенного метода программирования при помощи ускоренного создания прототипа, который предлагает молодая французская фирма Controlord. В книге много ссылок на сайты по робототехнике.
Книга будет интересна студентам технических университетов и колледжей, а также всем энтузиастам, интересующимся проблематикой робототехники.
Книга рассчитана на самый широкий круг любителей радио с образованием в объеме средней школы, будет также полезна как справочное пособие начинающим инженерам и техникам.
Эта книга поможет самостоятельно изучить язык С++, его принципы и концепции. Здесь изложены фундаментальные основы программирования, описаны принципы управления вводом-выводом, циклы, массивы, объектно-ориентированнеы подходы, а также создание полнофункционального приложения. Все главы содержат листинги программ, результаты их выполнения и анализ кода. Приведены ответы на часто задаваемы вопросы, а также упражнения и контрольные вопросы. Изложение книги не предполагает наличия у читателя предварительных знаний в области С++, а четкая организация материала позволит быстро и просто изучить язык.
Эта книга уникальна. Она написана специально для Вас, если Вы чувствуете необходимость реализовать на создаваемых Вами Web-страницах собственные сценарии. Пусть у Вас мало свободного времени, а детальное изучение используемых для этого языков не представляется Вам лучшим способом включиться в работу. Хорошо, если Вы уже имеете некоторый опыт создания Web-страниц, знакомы с HTML и можете разобраться в HTML-кодах. В этом случае книга, которую Вы держите в руках - это именно то, что Вам необходимо.
Издание состоит из 12 глав. В каждой главе раскрываются наиболее важные особенности написания кодов и возможности обогащения HTML с использованием JavaScript. В тексте приводятся листинги программ. В целях приобретения опыта написания программ мы рекомендуем вводить примеры с клавиатуры, запоминать их в отдельном файле, который затем может быть загружен в броузер и проверен на работоспособность. Книга является практическим руководством, рассчитанным на начинающих пользоваться возможностями JavaScript для обогащения своих страниц.
В этом разделе вы создадите два новых приложения OLE. Первое - простая программа-сервер OLE, второе - пример простого контейнера OLE. Эти программы предназначены для демонстрации минимальных затрат программирования, необходимых для создания приложений OLE 2.
В любом случае, для создания оболочки программы следует воспользоваться приложением AppExpert. Сначала необходимо сгенерировать основу приложения в AppExpert, затем модифицировать созданные файлы для создания законченного рабочего примера.
При написании своих версий этих программ необходимо иметь в виду несколько моментов. Во-первых, в этой главе приводятся листинги только исходных, немодифицированных файлов.
Во-вторых, CLSID этих программ будет отличаться от CLSID программ, которые вы сгенерируете с помощью AppExpert. Это нормально и даже необходимо, поскольку с помощью CLSID одни серверные приложения в Windows отличаются от других.
В-третьих, эти примеры содержат минимум необходимых средств для того, чтобы начать программировать с OLE. Вы можете использовать эти примеры в качестве начального кода для создания своего действительно полезного сервера или контейнера. В этой главе просто не хватает места для описания реализации функциональных сервера и контейнера - в этом случае вам понадобился бы грузоподъемник, чтобы положить эту книгу на стол.
Создание сервера OLE
Первое приложение OLE в этой главе - сервер. В этом примере вы построите полный сервер - сервер, который может использоваться и как автономное приложение, и как сервер. Создавая автономный сервер (т.е. в виде исполняемой программы .ЕХЕ, а не в виде динамически подключаемой библиотеки DLL), вы упрощаете процесс регистрации сервера в Windows.
Начальный процесс разработки сервера прост. Сначала из интегрированной среды Borland C++ версии 4.5 запустите AppExpert. Задайте каталог и имя вашего проекта. Я поместил свой проект в каталог \BC45\SOURCE\OLESVR. Проект я назвал OLESVR (я всегда называю проекты и каталоги проектов одним и тем же именем, это облегчает запоминание). Ниже приводится последовательность действий, в результате которых был создан проект OLESVR.
Запустите AppExpert. В первом диалоговом окне следует задать имя и каталог проекта. Как уже отмечалось, я использовал OLESVR для задания обоих.
После выбора ОК в диалоговом окне имени и каталога проекта следующий раздел АррЕхреrt - диалоговое окно Application General Options (основные опции приложения). Это диалоговое окно позволяет задать конфигурацию приложения, генерируемого AppExpert. Вам придется модифицировать несколько опций для проекта OLESVR.
Первая опция, которую необходимо изменить, находится в блоке Application: Summary. Замените параметр по умолчанию Multiple document interface на Single document interface. Это изменение согласуется с призывом Microsoft делать ставку на однодокументные приложения для Windows. На рис. 21.1 демонстрируется модифицированный блок Application: Summary.
Второе изменение, которое необходимо внести, - указать AppExpert, что ваша программа будет сервером OLE. Это изменение вносится в пункт Application: OLE 2 Options, имеющий ряд опций OLE 2, которые можно задавать. Поскольку вы создаете сервер OLE, вы будете оперировать только элементами блока группы OLE 2 Server: (поищите его в правой верхней части диалога). Выберите кнопку ячейки пометки Server EXE. На рис. 21.2 демонстрируются изменения, проведенные в пункте Application:OLE 2 Options.
При желании вы можете заполнить элементы пункта Application: Admin Options блока диалога AppExpert. С его помощью вы можете задать в приложении заметку об авторском праве, имя и информацию о версии. Все элементы в Application: Admin Options необязательны, и вы можете их не задавать.
Подпункты пункта Main Window не нуждаются в модификациях, их следует оставить заданными значениями по умолчанию. Для данного приложения нет необходимости менять что-либо в этих подпунктах. Пункт MDI Child/View неприменим для этого проекта, поэтому нет нужды в нем что-нибудь менять.
После задания всех необходимых модификаций следует выбрать кнопку Generate в нижней части блока диалога AppExpert Application General Options. AppExpert запросит у вас подтверждение, действительно ли вы собираетесь создать проект; после принятия подтверждения AppExpert сгенерирует приложение. На рис. 21.3 приводится конечный проект, загруженный в интегрированную среду Borland C++ версии 4.5.
Теперь, когда программа сгенерирована, в нее следует добавить код, задающий функциональность сервера OLE. Необходимо включить код, рисующий изображение, а также провести другие незначительные изменения.
К счастью, помимо Borland C++ версии 4.5 можно воспользоваться программой ClassExpert, что облегчит внесение большей части изменений. Предположим, вы хотите сперва заняться вопросами отображения. Как и в любой созданной с помощью AppExpert программе, основная часть рисования выполняется классом отображения, производным от класса OWL TOleView. Файл, в котором содержится реализация отображения, имеет имя LSVROLVW.CPP. В листинге 21.1 приводится первоначальный файл OSROLVW.CPP.
Листинг (файл реализации класса отображения OLESVR, OSVROLVW.CPP)