Владимир Волков - Программирование для карманных компьютеров
Сейчас самое время остановиться и вспомнить, что в 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 се: WindowsAlarml.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 Windowscalc.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 MyProgbin добавляет в раздел реестра HKLM Environment ключ PATH со значением MyProgbin.
Утилита cereg.exe понадобится прямо сейчас. Для правильной работы библиотеки celib.dll в реестр необходимо добавить несколько значений. Поскольку cereg.exe добавляет только одну строку, проще всего будет создать выполняемый файл, который будет содержать вызовы cereg.exe для каждой строки. Код соответствующего командного файла приведен в листинге 7.1.
Листинг 7.1@echo off
cereg – k HKLMEnvironment – n COMPUTERNAME – v Pocket
cereg – k HKLMEnvironment – n EMACSDATA – v «Storage Cardemacsetc»
cereg – k HKLMEnvironment – n EMACSDIR – v «Storage Cardemacs»
cereg – k HKLMEnvironment – n EMACSDOC – v «Storage Cardemacsetc»
cereg – k HKLMEnvironment – n EMACSLOADPATH – v «Storage Cardemacslisp»
cereg – k HKLMEnvironment – n EMACSPATH – v «Storage Cardemacsbin»
cereg – k HKLMEnvironment – n HOME – v «Storage CardVolkov»
cereg – k HKLMEnvironment – n PATH – v «Storage Cardbin»
cereg – k HKLMEnvironment – n SHELL – v cmd
cereg – k HKLMEnvironment – n TEMP – v Temp
cereg – k HKLMEnvironment – n TMP – v Temp
cereg – k HKLMEnvironment – n TMPDIR – v Temp
cereg – k HKLMEnvironment – n USERNAME – v Volkov
cereg – k HKLMEnvironment – n UNIXROOTDIR – v В«Storage CardВ»Ртот файл нужно сохранить СЃ именем myreg.bat РІ том же каталоге, РІ котором находится файл cereg.exe. Теперь нужно запустить этот файл РёР· РѕРєРЅР° командного интерпретатора. После некоторой паузы РІ РѕРєРЅРѕ вернется приглашение командной строки. Записи внесены РІ реестр.