КОДИМ ПАЛМЫ
Спецвыпуск 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
|