Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Пример Разработки Приложения для PalmOS

Рассмотрим пример простого приложения - example1.prc(1,5кб) оно состоит из одной формы. На Форме расположена кнопка, надпись, и текстовое поле, к форме прикреплено меню. При нажатии на кнопку появляется сообщение. Проект приложения состоит из 3х файлов:

Example1.c – исходный код на языке С.

Example1.h – имена и номера елементов формы

Example1.rcp – описание ресурсов приложения (форма, меню, кнопка, диалог сообщения).

 

файл example1.c

#include <PalmOS.h>

#include "hw.h"

static FormPtr gpForm;

 

Boolean Form1_HandleEvent(EventPtr event)

{             

           switch(event->eType)     {

           case ctlSelectEvent:                            

                          if (event->data.ctlEnter.controlID == Button1)

                          FrmCustomAlert(Alert1, "MessageBox!", "", "");                          

                          break;                    

           case menuEvent:

                          if (event->data.menu.itemID == IDM_about)

                                          FrmCustomAlert(Alert1, "This is Example", "", "");                           

                          break;                    

           case frmOpenEvent:

                          gpForm=FrmGetActiveForm();

                          FrmDrawForm(gpForm);                    

                          break;                    

           case frmCloseEvent:                           

                          FrmEraseForm(gpForm);

                          FrmDeleteForm(gpForm);                  

                          break;

 

           default:

                          return false;          

 

           }           

           return true;

}

 

static Boolean ApplicationHandleEvent(EventPtr event)

{

           FormPtr frm;         

           Boolean handled=false;

               

           switch(event->eType)     {

           case frmLoadEvent:                                                           

                          frm = FrmInitForm (event->data.frmLoad.formID);

                          FrmSetActiveForm (frm);                                    

                          FrmSetEventHandler(frm, Form1_HandleEvent);                          

                          handled = true;

                          break;

           }

           return handled; 

}

UInt32 PilotMain(UInt16 launchCode, void *cmdPBP, UInt16 launchFlags)

{             

           EventType event;

           UInt16 error;

               

           if(launchCode==sysAppLaunchCmdNormalLaunch) {

                          FrmGotoForm(Form1);                       

                          do { 

                                          EvtGetEvent(&event,evtWaitForever);                                             

                                          if(!SysHandleEvent(&event))

                                                          if(!MenuHandleEvent(0,&event,&error))

                                                                         if(!ApplicationHandleEvent(&event))

                                                                                         FrmDispatchEvent(&event);                                                                             

                          }

                          while(event.eType!=appStopEvent);                

                          FrmCloseAllForms();

           }       

           return 1;

}

 

файл example1.rcp

 

#include "hw.h"

 

FORM ID Form1 AT (0 0 160 160) FRAME USABLE

MENUID MenuBar1

BEGIN

TITLE "Example 1"

LABEL "This is an example" AUTOID AT (10 10+5) FONT 1

LABEL "of small GUI programm" AUTOID AT (PREVLEFT PREVBOTTOM+5) FONT 2

FIELD ID IDB_Edit1 AT (PREVLEFT PREVBOTTOM+5 110 20) MAXCHARS 50 UNDERLINED FONT 2

BUTTON "Hello" ID Button1 AT (10 80 AUTO AUTO)

END

 

MENU ID MenuBar1

BEGIN

  PULLDOWN "Help"

  BEGIN

    MENUITEM "About" ID IDM_about "A"

END

END

 

ALERT ID Alert1

INFORMATION

BEGIN

TITLE "Example 1"

MESSAGE "^1 ^2 ^3"

BUTTONS "Ok"

END

 

Файл example1.h

#define Form1 1000

#define Button1 1003

#define Edit1    1006

#define MenuBar1 1000

#define Alert1 1102

 

#define IDM_about 1001

#define IDB_Edit1 1002      


 

Литература:

История (калькуляторов, ноутбуки, КПК, перья)

http://www.geocities.com/SiliconValley/1061/calcolle.htm - история калькуляторов в СССР

http://www.taswegian.com/MOSCOW/soviet.html - история калькуляторов в СССР

http://www.geocities.com/oldcalculators/timeline.html

http://www.pencomputing.com/palm/

http://www.rskey.org/master.html

http://www.i-m.de/home/compmuseum/taschcom/index.htm

http://amug.org/amug/sigs/newton/nanug/PenReport/NewPenCom.html - очень класный сайт по истории ПДА,

http://www-2.cs.cmu.edu/~amulet/papers/uihistory.tr.html

http://users.erols.com/rwservices/biblio.html

http://www.cadcamcae.lv/arch/n3.htm

http://www.rulabinsky.com/cavd/text/chap09-4.html

http://www.osp.ru/os/1995/05/33.htm

http://www.cross-edu.ru/proect/Inf/erchov.html

http://educate.si.edu/scitech/carbons/1980.html

 

КПК (в основном Palm)

 

http://www.palmq.ru/ Таблица по моделям Palm, Visor
www.handy.ru, http://palm.v-lazer.com, www.hpc.ru, www.palm.com.ua, www.palm.km.ru, http://www.enlight.ru/pilot/, www.pda1.ru, www.mypalm.ru, Обзорные сайты, софт, конференции, факи … книги
http://www.handspring.com/products/sbmodules/ Модули расширения для КПК Visor/
http://www.opennet.ru/palm.shtml На русском инфо о КПК палм.
http://directory.google.com/Top/Computers/Systems/Handhelds/Palm_OS/ Раздел ссылок по PlamOS в каталоге Google.
   

 

Таблицы по устройствам:

http://www.enlight.ru/pilot/info1.html - 

http://palm.v-lazer.com/text.phtml?fl=compare

http://www.palmos.com/dev/tech/hardware/compare.html

http://www.enlight.ru/pilot/choose.html - cool table on rus

http://palm.v-lazer.com/text.phtml?fl=acquaint - znakomstvo s PPC

http://www.airport.sakhalin.ru/ospru/pcworld/1998/11/38tab.htm - keyb PDA and non keyb

http://computorg.ixbt.com/computers/hpc.shtml

http://www.ixbt.com/portopc/pda-describ/descriptions.shtml - models of firms

http://www.palmy.ru/ - wince psion palm

http://www.palmq.net/sections.php?op=viewarticle&artid=21 - Springoard devs

 

(1) Программирование

http://goanna.cs.rmit.edu.au/~winikoff/palm/dev.html

http://www.cyberport.com/~tangent/palm/faq/

http://www.palmopensource.com/ - много исходников по разным темам

http://www.massena.com/darrin/pilot/tanda.htm

http://www.pdaprogramming.com/old/palmos/sources.html

http://spider.macomnet.ru/docs/PalmOS/palm_developers_guide/

http://home.hetnet.nl/~tonicor/palm/tutorial/uk/index.htm

http://www.multimania.com/pbriol/palmos/gcc.html

http://oasis.palm.com/dev/kb/browse.cfm?type=1

http://www.kadak.com/html/kdkp1010.htm - ядро PALMOS!!

http://pdasecurity.chat.ru/main.html - взлом софта под палм

http://palm.x-a-o-c.ru

 

все информация была найдена с помощью www.google.com

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...