В«C: SetupcabwizCabWiz.exeВ» В«C: Setupmenu.infВ» /err err.log
В этой строке указан полный путь к программе CabWiz.exe, путь к конфигурационному файлу menu.inf, и задан файл ошибок err.log.
4. Как следует из предыдущего пункта, для того, чтобы программа отработала как следует, необходимо создать для нее файл конфигурации menu.inf. Для этого нужно щелкнуть внутри папки Setup правой клавишей мыши, из контекстного меню выполнить команду Создать ? Новый текстовый документ. Созданный файл нужно назвать menu.inf и открыть его в Блокноте. Содержимое файла показано в листинге 4.37.
Листинг 4.37
[Version]
Signature = В«$Windows NT$В»
Provider = В«MyBestCompanyВ»
CESignature = В«$Windows CE$В»
[CEStrings]
AppName = В«Menu SampleВ»
InstallDir = %CE1В %Menu
[Strings]
reg_path = SoftwareMyBestCompanyMenu
[DefaultInstall]
Copyfiles = Files.Main, Files.Help
AddReg = RegSettings
CEShortcuts = Shortcuts
[SourceDisksNames]
1 =,"Menu files",C: setup
[SourceDisksFiles]
menu.exe = 1
bitmap2.bmp = 1
menu.ico = 1
ReadMe.txt = 1
[DestinationDirs]
Files.Main = 0, %InstallDir%
Files.Help = 0, В«My DocumentsВ»Menu
Shortcuts = 0, %CE11В %
[Files.Main]
menu.exe,0x00000001
menu.ico,0x00000001
bitmap2.bmp,0x00000001
[Files.Help]
ReadMe.txt,0x00000001
[RegSettings]
HKLM,%reg_path%,0x00000000,alpha
HKLM,%reg_path%,test,0x00010001,3
[Shortcuts]
MenuApp,0,menu.exe, %CE11В %
5. После того как будет создан информационный файл, его нужно сохранить РІ каталоге Setup. Теперь можно запустить программу CabWiz.exe Рё создать установочный пакет. РќР° самом деле запустить следует файл buildcab.bat. После завершения его работы РІ папке Setup будет найден файл menu.CAB. Ртот файл можно скопировать РЅР° устройство Рё установить его там. Для этого достаточно дважды щелкнуть РЅР° файле. Рто действие запустит программу установки WCELoad. После установки можно убедиться, что РІСЃРµ файлы помещены РІ нужные каталоги Рё ярлык создан РІ указанной папке. Чтобы более РїРѕРґСЂРѕР±РЅРѕ ознакомиться СЃ возможностями системы поставки приложений для Pocket PC, РІ том числе СЃ работой программы Application Manager Рё синтаксисом файла register.bat, стоит ознакомиться СЃРѕ сведениями, содержащимися РІ файле C: Windows CE ToolsHtmlhelpemtoolsWCESETUP.CHM. Раздел Windows CE Directory Identifiers содержит информацию Рѕ значениях констант %CEx%, которые применяются РІ файлах конфигурации.
Глава 5 Разработка программ для Pocket PC с помощью Microsoft eMbedded Visual С++ 4.0
Поскольку РІСЃРµ сказанное Рѕ среде VC 3.0 относится РІ полной мере Рё Рє eVC 4.0, РґР° Рё сами среды похожи РґСЂСѓРі РЅР° РґСЂСѓРіР° как близнецы, нет нужды СЃРЅРѕРІР° описывать среду разработки. Рспользовать eVC 4.0 необходимо, если требуется создавать приложения для Pocket PC 2003. Впрочем, изложенные РІ этой главе приемы Рё технологии, можно применять Рё для разработки приложения для Pocket PC 2002. РњС‹ просто продолжим рассмотрение РІРѕРїСЂРѕСЃРѕРІ программирования РІ eVC, перейдя РѕС‚ РѕСЃРЅРѕРІ Рє более продвинутым понятиям.
Объектно-ориентированное программирование
Абстракция, наследование, полиморфизм, инкапсуляция
Говоря об ООП (объектно-ориентированном программировании), нельзя обойти стороной эти четыре базовых понятия. Поэтому ниже будет приведено их краткое описание.
Абстракция – способность языка программирования моделировать свойства и поведение объектов реального мира. Поскольку речь идет о моделировании, то подразумевается, что свойства и поведение объекта воспроизводятся в весьма урезанном виде. То есть моделируются только те свойства и то поведение, которые имеют смысл для решения поставленной задачи. К примеру, если в терминах языка программирования описывается такой объект, как «клиент банка», то для того, чтобы этот объект был частью программного обеспечения автоматизированного рабочего места оператора банка, не нужно моделировать такое его свойство, как размер обуви. В создаваемом объекте это свойство будет отсутствовать. Но для моделирования объекта «покупатель обувного магазина» это свойство будет одним из основных. Абстракция обеспечивается наличием в языке программирования такого понятия как класс и наличием у класса полей (обеспечивающих описание свойств моделируемого объекта) и методов (обеспечивающих описание поведения моделируемого объекта).
Наследование – возможность создания класса на основе другого класса. При наследовании создаваемый класс вбирает в себя все поля и методы родительского класса, на основе которого он создается. Помимо этого разработчик может добавлять в создаваемый класс новые поля и методы. При наследовании дочерние классы могут только приобретать дополнительную функциональность, а не терять ее. В C++ класс может быть порожден на основе нескольких родительских классов, что позволяет создавать при помощи наследования весьма сложные иерархические конструкции.
Полиморфизм – это способность разных классов воспринимать Рё выполнять РѕРґРЅСѓ Рё ту же команду. Рто обеспечивает возможность выполнения таких действий, как выдача этой команды РЅРµ каждому объекту РІ отдельности, Р° всем сразу. Р’ качестве примера можно привести операцию окраски всех видимых компонентов РЅР° форме РІ красный цвет. Понятно, что сама реализация закрашивания может быть РїРѕ-разному реализована Сѓ плоского РєСЂСѓРіР° Рё РєРЅРѕРїРєРё, РЅРѕ Рё тот, Рё РґСЂСѓРіРѕР№ объект имеют возможность воспринять эту команду Рё выполнить ее.