KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Владимир Волков - Программирование для карманных компьютеров

Владимир Волков - Программирование для карманных компьютеров

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Владимир Волков, "Программирование для карманных компьютеров" бесплатно, без регистрации.
Перейти на страницу:
Рис. 7.15. Forth в интерактивном режиме.

Сейчас самое время остановиться и вспомнить, что в 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. Теперь нужно запустить этот файл из окна командного интерпретатора. После некоторой паузы в окно вернется приглашение командной строки. Записи внесены в реестр.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*