Я еще помню Советский Союз. Я помню очереди за всем, кроме макарон, я помню советскую ЭВМ «большой» серии, помню первые советские микро-ЭВМ, самодельные «ZX-Spectrum», компьютер БК-0010 и первую советскую «персоналку», собранную на Киевском «Электронмаше», которая была аналогом IBM 8086. Иногда я себе кажусь просто динозавром, который до сих пор еще не вымер. Я помню даже ощущение гордости от того, что мой компьютерный класс в университете оснащен самыми современными компьютерами. Это были компьютеры IBM 486, 133 МГц, 32 Мбайт ОЗУ и жесткий диск с емкостью 256 Мбайт. Тогда это были просто роскошные машины.
Когда я покупал свой Pocket PC, я не вспоминал об этом. Мне нужно было что-то удобное. То ли электронная записная книжка, то ли блокнот, то ли ежедневник. Чтобы можно было и мысли записать в дороге, и почитать, и поиграть, и не забыть сделать нужные дела. Я покупал карманный компьютер не так, как это делают все нормальные люди. Я сначала купил это устройство, а потом стал выяснять, что именно попало мне в руки.
Продавец-консультант при покупке не смог мне толком объяснить, чем отличается электронная записная книжка от Palm, а Palm, в свою очередь, от Pocket PC. «Это, в общем-то, одно и то же, – сказал он. Можно книжки читать, можно записывать что-то. Pocket PC красивее, он цветной. И на нем стоит такая маленькая Windows.» И это все, что я знал о своем компьютере на момент покупки. И оказалось, что эта машинка стоит столько же, сколько и обычный современный компьютер средней категории без монитора. Каково же было мое удивление, когда я обнаружил у себя в руках не дорогой аналог электронной игры «Tetris», а полноценный компьютер. В придачу ко всему он был оснащен не «маленькой», а практически полноценной операционной системой Windows. Систему Linux обнаружить там было бы не так удивительно, поскольку я давно знаю, какой маленькой, без потери функциональности, при необходимости может становиться эта операционная система.
Познакомившись с машинкой лучше, я выяснил, что процессор у нее мощнее, чем у тех IBM 486, которыми я когда-то гордился. У них было больше памяти, и на моем новом карманном компьютере можно было даже играть в Doom. Конечно, в Doom я не играю уже давно, но сама эта возможность радовала и вызывала теплые воспоминания о коллективных сражениях в локальной сети.
Прошло еще немного времени. Вдоволь наигравшись со своим новым компьютером и установив на него множество разных программ, я пережил незабываемые мгновения «жесткой» перезагрузки, когда система вернулась к своему первозданному состоянию. Куда же делось все, что я три месяца устанавливал? После этого я, наконец, задался вопросом, как же создаются программы для Pocket PC? Судя по количеству бесплатных и условно-бесплатных программ, для этого вряд ли надо было покупать специализированное программное обеспечение.
После того, как я задал себе этот вопрос, моя жизнь не стала легче. Есть такой сорт людей, о которых можно сказать, что их всегда мучает любопытство и они никогда не идут легкими путями. Я как раз из таких людей. Знаете ли, есть определенная прелесть в том, чтобы сначала выполнить жесткую перезагрузку своего Pocket PC, а потом уже обнаружить в нем утилиту QBackup, которая позволяет безболезненно восстановить состояние системы. Именно поэтому в поиске инструментов программирования для своего «наладонника» я потратил много времени на исследование всяких путей. Я пытался заставить работать на Pocket PC программы, написанные на Java, и программировать для Pocket PC на нем самом, а не на настольном компьютере.
Наигравшись с нестандартными средствами, я решил попробовать пойти законным путем, который предлагает Microsoft. Я принял решение воспользоваться инструментами программирования, которые были созданы разработчиком операционной системы для Pocket PC. Загрузив с сайта компании Microsoft инструменты разработки, я был приятно удивлен. Я получил в свое распоряжение полноценные среды разработки на языках Visual Basic и Visual C++, эмуляторы и отладку приложений. Можно было даже использовать низкоуровневое программирование на языке Assemler. Все было предусмотрено для того, чтобы можно было сосредоточиться на разработке логики программы, а не стандартных элементов интерфейса. Но и освоение этих довольно простых инструментов программирования отняло немало сил.
Эта книга написана для того, чтобы помочь людям, которые начинают программировать для Pocket PC. И не важно, будете ли вы заниматься этим просто ради интереса, или собираетесь сделать программирование для Pocket PC частью своей профессиональной деятельности. Прочтя эту книгу и выполнив приведенные в ней упражнения, вы сможете уверенно и быстро создавать достаточно сложные приложения для вашего наладонника. Конечно, как и любое мастерство, программирование не подразумевает остановки в развитии и достижения всезнания. Прочтя эту книгу, вы не будете знать о программировании для Pocket PC все, но вы очень быстро получите достаточно большой и разнообразный опыт, который поможет вам совершенствоваться и развиваться, обогащая свои знания все новыми находками и овладевая приемами, умениями и навыками.
Даже если ваш опыт программирования весьма невелик, вы все равно получите несомненную пользу от чтения этой книги и достигните практических результатов. Каждая глава, каждый раздел, каждая новая тема сопровождаются выполнением полезных упражнений или созданием отдельного приложения. Я рассчитывал на то, что книгу будут читать в первую очередь не профессиональные программисты, а люди, интересующиеся тем, как можно достаточно легко и быстро написать приложение для Pocket PC. Весь исходный код и алгоритм действий описан на страницах книги.