КОДИМ ПАЛМЫ

Спецвыпуск Xakep, номер #017, стр. 017-114-2


DEVELOPER STUDOI В ПРИМЕРАХ

Сейчас я разберу стандартный пример "Hello World" с изменениями. Создай проект (File->New). В окошке выбирай "PalmOS Framework Project". Жми "Next" и задавай имя проекта и директорию, куда его сохранить.

Потом попросят утвердить список форм и меню на формах. На окошке "Alerts" остановимся. "Alerts" - это обычные окошки "Да, нет, не знаю". Добавь "alMy". На следующем окне выбери четвертый SDK, введи свой CreatorID, выбери шаблон иконки и отметь "Create C++ project". Готово.

В окне "Project Explorer" выбирай "Resources" и hello.rcp. Кидай на форму компонент "FIELD" и присвой ему ID "fld" в окне "Properties", а свойству "Underlined" присвой значение "True". Теперь кидай "BUTTON", id=btn, Text=OK!. Теперь переходи к "Alerts->alMy". В поле "Message" окна "Properties" пиши "Hello ^1. Your OS is ^2!". ^1 и ^2 - это параметры. Возвращайся на форму. Выбирай нашу кнопочку и кликай на ней правой кнопкой мыши. Ползи в "Code Templates->Control Select Event".

Этим ты создал обработчик события нажатия на кнопку. Юзер вводит имя в текстовое поле, а программа выводит сообщение "Hello Vasya. Your OS is v4.0!". Для этого пиши в обработчик следующее:

FormType *formPtr = FrmGetActiveForm();

UInt16 fieldIndex = FrmGetObjectIndex(formPtr, fld);

FieldType *fieldPtr = (FieldType *) FrmGetObjectPtr(formPtr, fieldIndex);

Char *namePtr = FldGetTextPtr(fieldPtr);

Так мы сохраним в переменную "namePtr" имя, введенное в текстовое поле. Первой строчкой получили указатель на активную форму. Второй - индекс текстового поля. Третьей же - указатель на поле. А последней - указатель на текст в поле. Сложновато. Теперь надо вывести сообщение. Cначала получим версию ОС:

Char *ver = SysGetOSVersionString();

Далее вызываем сообщение:

FrmCustomAlert(alMy, namePtr, ver, NULL);

Функция вывода сообщения имеет четыре параметра. Первый - это имя окна в ресурсах. Следующие три - заменители ^1, ^2 и ^3. Но так как ^3 у нас не было, вместо него стоит NULL.

Выбирай "Debug->Run". Программа запустится в эмуляторе (сперва его надо настроить). Можешь выбрать "Install to device" и проверить прогу на железе.

ЭМУЛЯТОР

При первом запуске с тебя потребуют образ ROM. Нажимай "Open" и ищи свой файл. Если ROM верный, эмулятор сам установит правильный тип устройства. Если эмулятор был запущен из "Developer Studio", то после загрузки запустится твоя программа. Все команды эмуля сидят в меню, вызываемом по правому клику. Это: "Reset", "Install App/Database" (устанавливает прогу в эмулятор) и субменю "Settings" (настройки). Там можно сменить skin и увеличить окно эмуля вдвое. Пункт "Debugging" включает остановки по мелким ошибкам (Warnings). Подробней о работе эмулятора читай на www.palmos.com и www.palmq.ru. Я добавлю только, что под эмулем проги чаще глючат (на железе может быть все ОК), хотя полезно запускать под ним потенциально опасные софтины.

Назад на стр. 017-114-1  Содержание  Вперед на стр. 017-114-3