Волков Владимир
Шрифт:
Borland Delphi 2005
После того как я описал в предыдущем разделе созданный энтузиастами и свободно распространяемый программный продукт, скорее похожий на профессиональную разработку, мне грустно говорить о том, что наконец создала компания Borland. Еще когда и речи о. NET CF в Delphi не было, энтузиасты со всего мира обсуждали эту возможность, которую анонсировала компания Borland. И вот – свершилось. Выложив на своем сайте preview-версию компилятора для. NET CF, компания Borland сказала, что теперь можно создавать приложения для Pocket PC в среде Delphi 2005. Вот только не все оказалось так просто, как того хотелось.
К этому компилятору на сайте BDN присовокупили статью (bdn.borland.com/ article/ 0,1410,33066,00.html), в которой подробно описываются все магические пассы и заклинания, которые нужно произвести, чтобы эта возможность осуществилась.
После прочтения статьи, скачивания компилятора, привинчивания его к Delphi и проделывания руками всей работы, необходимой для того, чтобы запустить приложение с одной строчкой текста на форме (ни о какой отладке речь, конечно, не идет), я понял – использовать Delphi 2005 можно, но пока не нужно. Стоит посмотреть на дальнейшее развитие событий. Может быть, со следующей версией и очередными апдейтами программисты получат что-то более удобное для разработки программ.
Инструменты для On-Board программирования
Pocket ViC
Созданная Джимом Стюартом программа совмещает в себе текстовый редактор Vi и компилятор языка C. Программу можно загрузить с одного из указанных в начале главы сайтов.
Установка этой программы предельно проста. Нужно загрузить файл, распаковать архив в каталог ViC, после чего этот каталог можно скопировать на устройство. Программа запускается на Pocket PC с процессорами ARM (vicarm110.exe) и MIPS (vimips.exe).
После запуска программы активируется окно редактора Vi (рис. 7.12).
Рис. 7.12. Окно редактора Vi.
Если до сих пор вы не сталкивались с linux-системами в минимально необходимой конфигурации, то вы вряд ли имели возможность соприкоснуться с этим редактором. Скорее всего, вашей первой реакцией будет недоумение. Ведь текстовый редактор не позволяет даже печатать! Но сначала нужно прочитать файл readme.txt и обратить внимание на раздел vi editing keystrokes. Чтобы перейти в режим редактирования, необходимо нажать сочетание клавиш `+o или `+i. Перемещаться по редактируемому тексту при помощи клавиш управления курсором тоже не получится. И многое еще в этом редакторе покажется странным для программиста, привыкшего к полноценным редакторам больших IDE. Но на самом деле все в этом редакторе вполне логично. Ведь он был сделан системными Unix-программистами, привыкшими барабанить по клавишам с пулеметной скоростью и не желающими перемещать пальцы на несколько сантиметров в сторону, чтобы дотянуться до клавиш со стрелками.
Таким образом, эта программа подходит двум категориям энтузиастов – тем, кто хочет в дороге немного освоиться в языке C, и тем, кто вдруг вознамерился сделаться системным администратором на Unix-системе.
И у тех, и у других должны быть крепкие нервы, чтобы, осваивая Vi, не разбить свой Pocket PC.
Python
Надо сказать, что я долгое время находился в заблуждении относительно этого языка. Мне почему-то казалось, что Python это достаточно простой, легкий и весьма ограниченный в возможностях язык. Более близкое знакомство с Python меня удивило. Список преимуществ этого языка достаточно обширен.
? Объектно-ориентированный.
? Мощная поддержка математики.
? Встраиваемый язык (имеет API для встраивания в программы на любом языке).
? Расширяемый язык (имеет API для подключения модулей на C и C++).
? Свободно распространяемый язык.
Поскольку Python все шире применяется сейчас по всему миру, то его стоит изучить. Получить Python для Pocket PC можно с сайта разработчика www.murkworks.com.
Установка и запуск чрезвычайно просты. Необходимая последовательность действий приведена в следующем списке.
? Распаковать загруженный архив, в результате чего будут созданы каталоги Program Files и Windows.
? Скопировать оба каталога в корневой каталог Pocket PC.
? Войти в каталог \Windows\Start Menu, и запустить файл Pocket PC Python.exe.
После этого на экране в интерактивном режиме будет выведена среда выполнения Python (рис. 7.13).
Можно набрать в строке приглашения 2+3, а затем нажать клавишу Enter. На экран будет выведен результат. Убедившись, что обещанная мощная математика на месте, можно отправиться на сайт www.python.ru и загрузить книгу «Язык программирования Python», Г. Россум, Ф. Л. Дж. Дрейк, Д. С. Откидач и др.
Scheme
А это совсем другой язык и совсем другое программирование. В отличие от большинства привычных алгоритмических языков программирования, scheme (урезанный диалект языка Lisp) относится к языкам функционального программирования. Pocket Sheme, так же как и Pocket Python, вряд ли найдет применение непосредственно на Pocket PC, но идеален, как учебное пособие для желающих изучить этот язык.
Сайт разработчика располагается по адресу www.mazama.net/scheme/pscheme.htm.
Со страницы Download нужно загрузить соответствующий cab-файл, скопировать его на Pocket PC и установить.
После установки в каталоге \Program Files\Pocket Scheme будут размещены файлы pscheme.exe и pscmedit.exe. Файл pscheme.exe запускает интерпретатор sсheme в интерактивном режиме (рис. 7.14).
Файл pscmedit.exe запускает простой редактор текстов scheme-программ с элементарной поддержкой некоторых особенностей синтаксиса этого языка.
Запустив scheme, и, возможно, выполнив пару-другую функций, подсмотренных на рисунке, вы захотите разработать более содержательную программу. В рунете крайне мало информации о sсheme, но начальное представление можно получить, прочитав перевод руководства по адресу www.shounen.ru/docs/guile-ref. А если перевод и программирование на этом языке вас увлекут, то окончательно втянуться в процесс вам поможет сайт www.schemers.org.
DSForth
Форт – еще один «странный» язык. Если вам очень нравится программировать на очень низком уровне, если вы до судорог в пальцах хотите научиться создавать программы, при взгляде на которые программистов на других языках будет пробивать холодный пот, – Форт как раз для вас. В Форте почти все делается при помощи стека. Все введенные числа попадают в стек, чтобы сложить два числа их надо поместить в стек, результат операции тоже помещается в стек. Форт похож на очень сложный макроассемблер, а синтаксис его больше, чем у какого-либо еще языка схож с логикой организации машинных кодов.
Найти Форт для Pocket PC можно на сайте разработчика www.delosoft.com. Нужно загрузить файл ds2.ARM.CAB, скопировать его на устройство и запустить. После этого Форт будет установлен.
Запускать Форт придется в два этапа.
1. Сначала в каталоге \Program Files\Dsforth нужно запустить файл dsforth2.exe. Он выдаст одно сообщение (щелкните на кнопке OK), а затем через некоторое время он выдаст сообщение о том, что все сохранено успешно. Второе сообщение можно ждать долго. Если оно не появится примерно через минуту, нужно активировать список настроек, запустить инструмент управления распределением памяти, в списке запущенных программ найти сообщение от Forth и активизировать его.
2. После того как dsforth2.exe отработает, в папке Dsforth появится файл ds2c.exe. Это, собственно, и есть сам Forth. После запуска этого файла на экран будет выведен Forth в интерактивном режиме (рис. 7.15).
Сейчас самое время остановиться и вспомнить, что в Forth все операции описываются при помощи стека и обратной нотации, и если вы попытаетесь взаимодействовать с этой программой, как с любой другой средой в интерактивном режиме, ничего кроме сообщений об ошибках вы не получите.
Нужно зайти на сайт www.forth.org.ru, открыть раздел Литература и скачать все учебники. После этого нужно скопировать с Pocket PC на настольный компьютер файл ds2c.str. Это словарь. Читайте книги, сравнивайте те команды, которые находите в книгах со словами в словаре, и таким образом осваивайте этот странный, но увлекательный язык. Если вас не затрудняет чтение на английском, то стоит обратить внимание на страницу www.forth.org/tutorials.html.
К сожалению, встроенной справки для этого языка не существует. Разработчики отправляют программистов читать стандарт на английском языке, но на сайте www.forth.org.ru этот же стандарт есть на русском языке.
Утилиты с сайта www.rainer-keuchel.de
На этом сайте расположено множество утилит и языков программирования, портированных в Pocket PC из соответствующих программ GNU (свободного программного обеспечения). Соответственно, они бесплатны (это плюс) и обновляются тогда, когда у автора до них доходят руки (это минус).
Все программы, которые будут рассмотрены в этом разделе, загружаются либо из списка, расположенного на странице www.rainer-keuchel.de/wince/dirlist.html, либо из списка www.wince-devel.org/wince/dirlist.html.
Работа всех программ основана на библиотеках celib и cedialogs. Кроме этого, большинство программ требует некоторой конфигурации и записи ключей в реестр. По этой причине мы начнем знакомство с программами сайта с установки данных библиотек и описания некоторых утилит, используемых на рабочей станции для отладки и конфигурации Pocket PC.
celib и cedialogsНеобходимо загрузить файлы cedialogs-1.05-all-platforms.tar.gz, celib-3.13-dll-bin-all-platforms.tar.gz и распаковать их. С этой задачей прекрасно справляется WinZip. В каталог \Windows на устройстве Pocket PC нужно скопировать файл celib.dll из каталога wince-arm-pocket-wce300-release и файлы cedialogs.dll и cedialogsx.dll из каталога wince-arm-pocket-wce300.
Desktop toolsТеперь нужно загрузить и распаковать файл wince-desktop-tools.tar.gz. Поскольку эти утилиты будут использоваться на настольном компьютере, их надо скопировать в каталог, который будет доступен из интерпретатора команд Windows. Затем нужно запустить интерпретатор команд Windows. Для этого следут выполнить команду Пуск ? Выполнить, затем набрать cmd и нажать клавишу Enter.
Назначение и использование утилит расшифровывается в следующем списке.
? Файл cecopy.exe копирует файлы между Pocket PC и рабочей станцией. Формат команды достаточно прост: cecopy.exe <источник> <приемник>. Команда cecopy.exe се: \Windows\Alarml.wavрс: с: \ копирует файл Alarml.wav из каталога Windows на Pocket PC в корневой каталог на диске C: рабочей станции.
? Файл cedel.exe удаляет указанный файл на Pocket PC. Формат команды достаточно прост: cedel.exe <имя_файла>. Команда cedel.exe l.txt удалит файл l.txt в корневом каталоге Pocket PC.
? Файл cedir выводит в окно командного интерпретатора на рабочей станции содержимое указанного каталога на Pocket PC. Формат команды достаточно прост: cedir [-1] <имя_каталога>. Ключ -1 включает детализированный вывод. Команда cedir -1 \Temp\ выводит подробный список файлов в каталоге Temp. Корневой каталог нужно обозначать символом \.
? Файл ceexec.exe позволяет удаленно запускать указанную программу. Формат команды: ceexec.exe <имя_программы> <ключи_командной_строки>]. Команда ceexec.exe \Windows\calc.exe запускает калькулятор на Pocket PC.
? Файл cegetinfo.exe выводит на рабочей станции информацию о занятой памяти на рабочей станции.
? Файл cemkdir.exe создает каталог на Pocket PC. Формат команды: cemkdir.exe <имя_каталога>. Команда cemkdir.exe \MyTmp создает папку MyTmp в корневом каталоге Pocket PC.
? Файл cereg.exe вносит одну строку в реестр Pocket PC. Формат команды не так уж и сложен: cereg – к <ключ_реестра> – п <имя> – v <значение>. Команда cereg – k HKLMXEnvironment – n PATH – v \MyProg\bin добавляет в раздел реестра HKLM\ Environment ключ PATH со значением \MyProg\bin.
Утилита cereg.exe понадобится прямо сейчас. Для правильной работы библиотеки celib.dll в реестр необходимо добавить несколько значений. Поскольку cereg.exe добавляет только одну строку, проще всего будет создать выполняемый файл, который будет содержать вызовы cereg.exe для каждой строки. Код соответствующего командного файла приведен в листинге 7.1.
Листинг 7.1@echo off
cereg – k HKLM\Environment – n COMPUTERNAME – v Pocket
cereg – k HKLM\Environment – n EMACSDATA – v «\Storage Card\emacs\etc»
cereg – k HKLM\Environment – n EMACSDIR – v «\Storage Card\emacs»
cereg – k HKLM\Environment – n EMACSDOC – v «\Storage Card\emacs\etc»
cereg – k HKLM\Environment – n EMACSLOADPATH – v «\Storage Card\emacs\lisp»
cereg – k HKLM\Environment – n EMACSPATH – v «\Storage Card\emacs\bin»
cereg – k HKLM\Environment – n HOME – v «\Storage Card\Volkov»
cereg – k HKLM\Environment – n PATH – v «\Storage Card\bin»
cereg – k HKLM\Environment – n SHELL – v cmd
cereg – k HKLM\Environment – n TEMP – v \Temp
cereg – k HKLM\Environment – n TMP – v \Temp
cereg – k HKLM\Environment – n TMPDIR – v \Temp
cereg – k HKLM\Environment – n USERNAME – v Volkov
cereg – k HKLM\Environment – n UNIXROOTDIR – v «\Storage Card»Этот файл нужно сохранить с именем myreg.bat в том же каталоге, в котором находится файл cereg.exe. Теперь нужно запустить этот файл из окна командного интерпретатора. После некоторой паузы в окно вернется приглашение командной строки. Записи внесены в реестр.
ПРИМЕЧАНИЕ.
Конечно, имя пользователя, имя домашнего каталога и расположение других каталогов в вашем случае могут быть иными. Я использую Storage Card, чтобы экономить место в основной памяти.
Редактор EDЗагрузить файл editor-wince-arm-pocket-wce300.tar.gz, распаковать его, и файл editor.exe скопировать в каталог \Storage Card\bin на Pocket PC. Теперь можно его запускать. В вашем распоряжении появился простой и легкий редактор для редактирования текстов программ на разных языках (рис. 7.16).
Рис. 7.16. Редактор ED.
Редактор EMACS и язык LISPЗагрузить и распаковать файлы emacs-wince-all-platforms.tar.gz и emacs-wince-arm-xbuild-2.03.tar.gz. Затем нужно скопировать папки emacs, etc, home из emacs-wince-all-platforms в каталог \Storage Card на устройстве. Файл emacs.exe из emacs-wince-arm-xbuild-2.03 нужно скопировать в папку \Storage Card\emacs\bin на устройстве. Поскольку все необходимые данные в реестр уже внесены, то программу можно сразу запускать (рис. 7.17).