Смекни!
smekni.com

Карманные ПК, Операционная система PalmOS (стр. 9 из 9)

Программирование хаков требует более глубокого знания системы.

5. Пример Разработки Приложения для 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


6. Литература:

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

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