На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование под PalmOS"
Правила раздела просты:
1. Будьте вежливыми.
2. Задавате вопросы только по теме. Пользовательские вопросы (у меня не работает пальм) являются оффтопиком. Пользуйтесь конференциями palmz.in, hpc.ru, ihand.ru .
3. Поиск вареза запрещен.
4. Пользуйтесь поиском. Не надейтесь, что кому-то доставляет удовольствие отвечать в сотый раз на один и тот же вопрос.
  
> Help
     Всем здравствуйте!
    Я сегодня первый раз увидел этот "терминатор", а мне нужно научиться писать программы для него на с или с++.
    Пожалуйста помогите мне кто чем чем сможет, советами, с чего начинать и тд и тп!
    Для начала я бы хотел найти русскую документацию по "PalmOS SDK Documentation".
    А то здесь все англоязычные  :(
      Привет!

      Русской документации практически нет. Только английская, зато очень хорошая. Я начинал с очень детального tutorial-а, который поставляется с codewarrior-ом. Он применим, даже если использование codewarrior-а не планируется.

      На русском можно найти очень короткие заметки на тему как написать "Hello, world", так что без чтения полноценных доков не обойтись.

      И еще - любому палмовскому программисту очень полезно иметь под рукой доки, взятые с http://www.palmos.com/dev/. Там еще есть knowledge base, содержащая ответы на многие (стандартные) вопросы по программированию под PalmOS.
        Большое спасибо за ответ! Любой совет для меня будет полезным.
        Вот именно хочу найти "Hello, world" на русском, как я понял именно с него нуно и начинать!?
          Привет.

          В одном из последних выпусков журнала "Хакер" была статья про то, как написать "Hello, world" для Palm-а с использование Falch.Net Developer Studio (гуевая надстройка над gcc и pilrc(resource compiler) под MS Windows).
          Возможно это был спец. выпуск "Хакера" про Софт. Точно не помню, но выпуск не старее 3-х месяцев.

          Еще раз отмечу - от "Hello, world" до полноценного приложения будет еще пара сотен страниц документации.

          Есть еще короткие tutorials на английском -
               http://home.hetnet.nl/~tonicor/palm/tutorial/uk/
               http://tangentsoft.net/palmfaq/
               и т.п. - www.google.com и вперед....
                     Иван Борунов!
            От чистой душы хочу сказать спасибо вам большое!
            Вы очень помогли мне, эти 3 ссылки именно то что мне нужно было. Если честно я не ожидал что виртуально можно получить такие help-ы, читая эти странички начинаю шагать смелее, а то везде так замудренно, что ничего не понятно. Надеюсь скоро получу хорошие результаты. Еще раз блогодарен за помощь.
              есть замечательный скрипт на Perl - pilot-templ создает "рыбу" для PalmOS приложения. Он был для старого SDK, я его подчистил для нового (3.5-4.0) и активно пользуюсь (ну лениво одно и тоже сто раз набивать ;) Если кому надо - свистите!

              Забыл сказать! оно для PRC-tools ;)
              Сообщение отредактировано: Strijar -
                Sirim: Всегда рад помочь.

                Strijar: А не могли бы Вы выложить этот скрипт куда-нибудь на этот сайт, скажем. в раздел /src? Или выслать на ivanko@chat.remove_nospam.ru? Заранее спасибо.
                  Я один - можно на "ты" ;)
                  На сайте сделал новый раздел "Инструменты" и выложил его туда. Есть еще кое-что для этого раздела - потом положу :)

                  Сообщение отредактировано: Strijar -
                    Здравствуйте Иван Борунов!
                    Подскажите пожалуйста где можно найти электронную версию создания "Hello, world" на "Codewaarior (Metrowerks)".
                    Теперь мне придется писать проги на этом компиляторе, так что любые советы, подсказки мне не помешает.
                      Привет, Sirim!

                      Поддерживая Strijar-a предлагаю перейти на "ты".

                      Теперь по делу - tutorial (2.5 мб) отдельно от самого codewarrior-а мне не попадался  нигде, кроме как на моем винте  ;) - наверное, тебе придется качнуть весь дистрибутив (больше 100 МБ) и оттуда уже выковыривать - я, к сожалению, не могу из внутренней сети ничего крупного в инет выкладывать  :-[.

                      Полноценный codewarrior можно взять тут:
                         www.cnpug.com/software/cw_palm_os_8.rar
                         www.ihand.ru (раздел software станет доступен после регистрации)
                         москвичи и гости столицы могут поискать на Горбушке и т.п.

                      Демо-версия доступна на на www.metrowerks.com, там, наверное, tutorial тоже будет (не проверял).

                      Кстати, в codewarrior-овском tutorial описывается создание не "Hello, World", а другой программы - в 6-м это был MemoPad, а в 8-м - Errand.

                        Почему то меня не пускает в www.cnpug.com/software/cw_palm_os_8.rar.
                        Мне нужны документации или справочники для начинающих программистов по codewarrior. Я вот не могу элементарного, например как присвоить какие то значение на Label или вытащить значение из Field :(, и кстати что нужно сделать чтобы запустить программу на машине (увидеть результат), а не через терминал?
                          Цитата Sirim, 13.06.02, 11:39:36
                          кстати что нужно сделать чтобы запустить программу на машине (увидеть результат), а не через терминал?


                          Какой терминал? Ты точно про Palm? ;) - тогда у него есть эмулятор для PC - pose. Брать с www.palmos.com/dev
                          А насчет остального - возьми с этого сайта какой-нибудь исходник и посмотри как это делается ;)) Если что-то срочное - пиши, договоримся ;) пока у меня работы не очень много
                            Strijar я буду на ты, как ты сам предлогал.
                            Большое тебе спасибо, это очень хорошая страничка, но к сожалению на англ. Но все равно это намноооого раз лучше чем ничего  ;). Я ща поработаю и почитаю то что ты мне дал. Спасибо за отклик и за помощь. Мне кжтся, что только советские люди так могут  :) помогать без всяких трудов. Если что буду знать, что могу обратится  к тебе и Ивану Борунову. (мои спасители  ;))
                              Привет Sirim!

                              Отличный всеобъемлющий справочник по API всегда доступен тут:
                                 http://www.palmos.com/dev/support/docs/palmos/ReferenceTOC.html

                              Его offline версия идет со всеми оболочками (codewarrior, falch.net, ...), а также может быть скачана (как и многое другое полезное) отсюда -
                                 http://www.palmos.com/dev/support/docs/

                              Олег (Strijar) правильно сказал, что наиболее быстро получить что-то работающее можно, почитав и исправив чужой готовый исходник.

                              Вопрос с Label решается с помощью FrmCopyLabel().
                              Вопрос с Field решается с помощью FldGetTextHandle() или FldGetTextPtr().

                              А про какой терминал ты говоришь? Ты так handheld device называешь?

                              Совецкий человек  ;) -
                                Добавлю к сказанному Иваном: иногда мне попадается информация, которая потом исчезает или переезжает - что-б она совсем не пропала, я ее выкладываю в http://palmos.sources.ru/docs (например: я в упор не помню откуда брал Palm developers guide ;) )
                                  Привет всем!
                                  Незнаю как правильно!? Но у нас почему то называют терминалом, а здесь написано Palm Computing Platform. Спасибо за адреса, я не знал что есть столько информаций про Palm. Единственное что плохо, все токо на иностранных языках.
                                    Что за ошибка:?
                                     Error: illegal implicit conversion from 'struct FormType *' to 'unsigned short'

                                     field=GetObjectPtr(FrmGetActiveForm(), MainFamField);


                                     
                                      Я так подозреваю Палм цепляют на какое-то железо, вот потому и "терминал" ;)
                                      Если не секрет - куда цепляют? Интересно просто...
                                        :) Как на какое то железо? На комп подцепляем, но не только для разработки проги, а и в дальнейшем тоже будем связывать с базой на серваке, может поэтому, и кстати что можешь предложить о моей ошибке?
                                          Цитата Sirim, 14.06.02, 09:26:44
                                          Что за ошибка:?
                                           Error: illegal implicit conversion from 'struct FormType *' to 'unsigned short'
                                           field=GetObjectPtr(FrmGetActiveForm(), MainFamField);
                                           


                                          Если это та GetObjectPtr что я думаю - то FrmGetActiveForm() там не нужно. Может должно быть FrmGetObjectPtr ? - тогда правильно будет
                                            Привет, Sirim!

                                            А что за зверь такой GetObjectPtr() - твоя собственная функция? Если имеется в виду FrmGetObjectPtr(), то правильно будет следующее:

                                             // Get a pointer to the active form:      
                                             FormType *formPtr = FrmGetActiveForm();
                                                 
                                             // All form objects have an index - get the index of the MainFamField field:
                                             UInt16 fieldIndex = FrmGetObjectIndex( formPtr, MainFamField );
                                                 
                                             // Using the index we can get a pointer to the field:
                                             FieldType *fieldPtr = (FieldType *) FrmGetObjectPtr(formPtr, fieldIndex);

                                            Сообщение об ошибке у тебя странное - как-будто твой GetObjectPtr() (в отличии от FrmGetObjectPtr() ), ожидает первый параметр типа UInt16.
                                              У меня например такой GetObjectPtr() живет в каждой проге:

                                              static void* GetObjPtr(UInt16 ObjID) {
                                               FormPtr frm = FrmGetActiveForm();
                                               return FrmGetObjectPtr(frm,FrmGetObjectIndex(frm,ObjID));
                                              }
                                                Во во во!!!  Вы оба попали в точку, прокатила все нормально.
                                                У меня только
                                                FormPtr *formPtr = FrmGetActiveForm();а не FormType, выходит это один и тот же тип?
                                                FieldPtr а не FieldType.
                                                  Ээээ... как бы символ * в описании переменной знаешь что значит? ;)
                                                    Всем привет!!!
                                                    Скажите пожалуйста, как настроить emulator для CodeWarrior?
                                                    Это сложный процесс и примерно сколько времени займет?
                                                    Я начал, но у меня тут проблемы.
                                                      Из за чего может быть ошибка:

                                                      Unable to determine an appropriate device to emulate for this ROM file?
                                                        Скорей всего ROM образ битый - эмулятор не может подобрать устройство для него
                                                          Если не подключен устройство (терминал), Emulator не работает сам по себе?
                                                            Я хотел в начале написать программу на машине отлаживая через emulator. а потом закинуть в терминал
                                                            (терминал-потому что соединен со сканером окзтся  ;))
                                                              Привет, Sirim!

                                                              Эмулятор, конечно, работает независимо от реального усторойства - он и предназначен для отладки кода без фактической закачки его на реальный девайс.

                                                              Установка и настройка и эмулятора очень проста и делается за десять минут - самое сложное здесь - добыть прошивку (содержимое ROM реального девайса).

                                                              Мне не удалось скачать ROM своего Palm Vx с помощью проги ROM Transfer, поставляемой с эмулятором - все время checksum оказывался неверным, поэтому я взял готовые образы ROM отсюда - http://mypalm.ru/html/emul-rom.shtml.

                                                              Дальше элементарно - распаковываешь эмулятор в любое место, запускаешь - он спросит где лежит файл ROM, указываешь на файл, указываешь доп. опции (сколько оперативной памяти и т.п.), закрываешь эмулятор. Теперь идешь в CodeWarrior и там где-то в настройках указываешь путь к эмулятору. Все.

                                                              Кстати, если ты при установке CodeWarrior-а среди опций выбрал "ставить эмулятор", то тебе не надо делать ничего из вышеописанного, кроме указания какой образ ROM-а использовать.

                                                              В директории, куда лег эмулятор, есть кое-какие доки, но я их не читал (просмотрел только) - все интуитивно понятно.

                                                              Я могу ошибаться в деталях - давным давно ставил, да и не использую я CodeWarrior сейчас. GCC рулит....
                                                                    Привет Иван Борунов!
                                                                Ты не представляешь как ты мне помог.  По твоему указанному адресу http://mypalm.ru/html/emul-rom.shtml.  нашел то, что мне нужен был (ROM).
                                                                Спасибо за помощь. Ты  и  Strijar уже много чем помогли.  
                                                                   Как руссифицировать emulator?
                                                                  Через cirhack2 пробовал но он все равно выдает ироглифы, а в терминале все нормально.
                                                                    Здравствуйте! Я вот недавно решил научится программировать под PalmOS. Эмулятор скачал. А в чём разрабатывать, совершенно не знаю. ::) Может быть есть какая-либо среда разработки с языком похожим на pascal или delphi?
                                                                      ну почитайте уж наконец! (ну что нибудь) - хотя-бы этот форум. И вообще я в ЭТОТ тред больше не буду писать! Если вам сложно открыть новую тему - то мне тем более ;)
                                                                      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                                                      0 пользователей:


                                                                      Рейтинг@Mail.ru
                                                                      [ Script execution time: 0,0592 ]   [ 14 queries used ]   [ Generated: 18.07.25, 00:02 GMT ]