DmReleaseRecord : Sales application example 1downloading data to Palm device : Sales application example;conduits : downloading to Palm device : Sales application example;Palm devices :
Trang 1Palm Programming: The Developer's Guide - Index
About Application menu item;help : About Application menu item;programs (see applications) 1
About menu, handling items of;AbtShowAbout( ) 1
AboutBoxAlert (Sales example) 1
alarms;sound : alarms 1
alerts 1 2 3 4 5
alerts : customizing messages in 1
alerts : marking records as private 1
alerts : Sales application (example) 1
alerts : selecting unusable menu items 1
allocating : form handles;deallocating form handles 1
allocating : memory;memory : allocating 1
AppendDuplicateRecord( ) (CBaseTable) 1 2
AppInfo block : reading;reading : AppInfo block;databases : AppInfo block : reading 1
Palm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (1 of 33) [4/21/2001 4:41:17 AM]
Trang 2AppInfo block : structure packing;databases : AppInfo block : structure packing 1
AppInfo block : writing during download;databases : AppInfo block : writing during download 1
AppInfoType type 1
Apple Computer;Newton computer 1
application event loop;events : application event loop 1 2
application info block;databases : application info block 1 2 3
ApplicationHandleEvent( ) 1
ApplicationHandleEvent( ) : Sales application (example) 1
ApplicationHandleEvent( );forms : loading;ApplicationHandleEvent( ) : Hello World (example) 1
applications : Backup conduit for 1
applications : barcode scanning support 1 2
applications : components of;designing applications : application components;Palm OS® platform : applications (see applications) 1applications : Find request responses;Find feature : application responses 1
applications : Find request responses;Find feature : application responses;databases : searching (see Find feature) 1
applications : inactive, communicating with;inactive applications, communicating with;closed applications, communicating
with;Palm OS® platform : calling inactive applications;events : communicating with inactive applications 1 2
applications : structure of;designing applications : application structure 1 2
AppNetRefnum variable 1 2
AppNetTimeout variable 1
appStopEvent event 1 2
archived database records 1
archived database records : iterating around;deleting : database records : iterating around deleted records;records : deleting/archiving: iterating through records 1
archived database records : sorting;deleting : database records : sorting deleted records;records : deleting/archiving : sorting recordsand 1
archived database records : uploading to desktop and;deleting : database records : iterating around deleted records;records :
deleting/archiving : uploading to database and 1 2
ASDK;SDKs (Software Development Kits) : ASDK 1
AskDeleteCustomer( ) (Sales example) 1
Assembly programming 1
Assign( ) (CBaseRecord) 1 2
atoport utility 1
AUTOID keyword (PilRC) 1
automatic sleep, preventing;performance : automatic sleep, preventing;power auto-off feature;sleep, automatic 1 2
Palm Programming: The Developer's Guide - Index
Trang 3B
-backtrace command (GDB) 1
Backup conduit;conduits : Backup conduit 1
barcode scanner;scanning barcodes;reading : barcodes 1 2
basemon class;basetabl class 1
basemon class;basetbl class 1
beaming : implementation checklist;conduits : implementation checklist 1 2
bitmap objects;form objects : bitmaps 1 2
break command (GDB) 1
breakpoints in conduit code 1
buttons 1
buttons : alert buttons 1 2
byte ordering;Palm OS® platform : byte ordering;sorting : byte ordering 1 2
C
-C/C++ languages 1
C/C++ languages : CodeWarrior environment 1
C/C++ languages : conduit development 1 2
C/C++ languages : Satellite Forms environment 1
C/C++, CDK 3.0 requirements 1
Callback.h header file 1 2
CALLBACK_PROLOGUE, CALLBACK_EPILOGUE macros 1
capitalization of button text 1
Trang 4categories of database records : beaming 1
categories of database records : Categories structure (example) 1
categories of database records : managing;Category Manager;databases : managing with Category Manager 1categories of database records : names of;names : database record categories 1 2
categories of database records : sorting by;names : categories of database records : sorting by 1
checkboxes;form objects : checkboxes 1
checkboxTableItem data type 1
CHHMgr class 1
class name for conduits;names : conduit class (Java) 1
classes for conduits : Generic Conduit;Generic Conduit : conduit classes for 1 2
Trang 5CodeWarrior development environment : debugging commands;Metrowerks CodeWarrior : debugging commands 1
CodeWarrior development environment : source-level debugging;Metrowerks CodeWarrior : source-level debugging;debugging :CodeWarrior for;source-level debugging : CodeWarrior environment 1 2
CodeWarrior development environment;Metrowerks CodeWarrior;applications : development environment : CodeWarrior (seeCodeWarrior development environment);CodeWarrior development environment : Constructor (see Metrowerks Constructor) 1CodeWarrior development environment;Metrowerks CodeWarrior;development environment : CodeWarrior (see CodeWarrior) 1CodeWarrior development environment;Metrowerks CodeWarrior;Palm OS® platform : development environment : CodeWarrior(see CodeWarrior) 1
communications methods 1 2 3
CompareRecordFunc( ) (example) 1
comparison routine for sorting 1
comparison routine for sorting : Sales application (example);sorting : database records : Sales application (example);records : sorting: Sales application (example) 1
conduits : Backup conduit;Backup conduit 1 2
conduits : CDK (Conduit Development Kit);CDK (Conduit Development Kit) 1 2
conduits : CDK (Conduit Development Kit);CDK (Conduit Development Kit);C/C++ languages : conduit development 1
conduits : Conduit SDK, Java Edition;SDKs (Software Development Kits) : Conduit SDK, Java Edition;Java language : conduitdevelopment 1 2 3
conduits : Conduit SDK;SDKs (Software Development Kits) : Conduit SDK 1
conduits : creating, opening, closing databases 1 2
conduits : debugging : common problems;troubleshooting : conduits;debugging : conduits : common problems 1 2
conduits : debugging;debugging : conduits 1 2
conduits : defined 1
conduits : designing 1
conduits : entry points;entry points, conduits 1 2
conduits : handling deleted database records 1
conduits : Palm-created (built-in) 1
conduits : registering and unregistering;registering conduits 1
conduits : registering and unregistering;registering conduits;unregistering conduits 1 2
Palm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (5 of 33) [4/21/2001 4:41:17 AM]
Trang 6conduits : requirements for 1
conduits : Sales application (example) : class-based;Sales application (example) : conduits : class-based;two-way syncing : Salesapplication (example) : class-based 1 2
conduits : Sales application (example) : Generic based;Sales application (example) : conduits : Generic
Conduit-based;two-way syncing : Sales application (example) : Generic Conduit- based 1
conduits : Sales application (example) : Generic based;Sales application (example) : conduits : Generic
Conduit-based;two-way syncing : Sales application (example) : Generic Conduit- based;Generic Conduit 1
conduits : testing and troubleshooting;troubleshooting : conduits 1 2
conduits : two-way syncing : conduit classes;classes for conduits;two-way syncing : conduit classes 1 2
conduits : two-way syncing;two-way syncing 1
conduits : two-way syncing;two-way syncing;two-way syncing : Generic Conduit;conduits : two-way syncing : Generic Conduit 1conduits;Palm devices : syncing (see conduits);desktop conduits (see conduits);syncing (see conduits) 1
conduits;transfers between devices (see conduits);HotSyncing (see conduits);data transfer (see conduits) 1
ConfigureConduit( ) 1 2 3
ConfigureSubscription( ) 1
confirmation alerts;? for confirmation alerts 1
console mode 1 2
Console window (CodeWarrior) 1
constants for resource IDs;resources : constants for resource IDs;symbolic constants for resource IDs 1 2 3
Constructor (Metrowerks) : menu construction;Metrowerks Constructor : menu construction;resources : creating with Constructor :menu construction 1 2
Constructor (Metrowerks) : menu definitions (Sales example);PalmRez tool : menu definitions (Sales example);MetrowerksConstructor : menu definitions (Sales example) 1 2
Constructor (Metrowerks) : menubar specification;Metrowerks Constructor : menubar specification;resources : creating withConstructor : menubar specification 1
Constructor (Metrowerks);Metrowerks Constructor;resources : creating with Constructor 1 2 3 4
copying between devices (see conduits) 1
Palm Programming: The Developer's Guide - Index
Trang 7copying memory bytes 1
CSalesConduitMonitor class (example);CBaseConduitMonitor class : Sales application (example) 1 2
CSalesDTLinkConverter class (example);CDTLinkConverter class : Sales application (example) 1 2
CSalesPCMgr class (example);CPcMgr class : Sales application (example) 1 2
CSalesRecord class (example);CBaseRecord class : Sales application (example) 1 2
CSalesSchema class (example);CBaseSchema class : Sales application (example) 1 2
CSalesSynchronizer class (example);CSynchronizer class : Sales application (example) 1 2
CSalesTable class (example);CBaseTable class : Sales application (example) 1 2
CustomerHandleEvent( ) (Sales example) 1
customers (Sales example) : beaming 1 2
customers (Sales example) : beaming information about;beaming : customer data (Sales example);conduits : beaming (see
beaming);beaming : (see also conduits) 1
customers (Sales example) : beaming information about;beaming : customer data (Sales example);Sales application (example) :beaming customer information 1 2
customers (Sales example) : creating new 1 2 3
Palm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (7 of 33) [4/21/2001 4:41:17 AM]
Trang 8customers (Sales example) : Customer structure 1
customers (Sales example) : CustomerHandleEvent( ) 1
customers (Sales example) : CustomersFormOpen( ) 1
customers (Sales example) : CustomersHandleEvent( ) 1
customers (Sales example) : CustomersHandleMenuEvent( ) 1
customers (Sales example) : database for 1
customers (Sales example) : downloading to Palm device 1 2
customers (Sales example) : editing information about;editing custom data (Sales example) 1 2
customers (Sales example) : editing information about;editing customer data (Sales example) 1 2
customers (Sales example) : initializing database for 1
customers (Sales example) : listing;listing customers (Sales example) 1 2 3 4
customers (Sales example) : listing;listing customers (Sales example);sorting : customers (Sales example) 1 2
customers (Sales example) : PackedCustomer structure;PackedCustomer structure (Sales example) 1
customers (Sales example) : reading and writing;reading from database records : customers (Sales example);writing to databaserecords : customers (Sales example);records : reading : customers (Sales example) 1 2
customers (Sales example) : uploading to desktop 1 2
CustomerToRawRecord( ) (example) 1
CustomLoadItem( ) (example) 1
customTableItem data type 1
D
-data entry : during serial communications 1
data entry : limiting text input;input (see data entry);text input (see data entry) 1
data types for tables;tables : data types for 1
data types for tables;tables : data types for;cells, table (see tables) 1
databases 1 2 3
databases : creating 1 2 3
databases : downloading from/uploading to desktop 1
databases : downloading from/uploading to desktop : Sales application (example) 1 2
databases : downloading from/uploading to desktop;databases : downloading from/uploading to desktop : (see also conduits) 1databases : opening and closing 1 2
databases : records : local IDs for;records : local IDs for;local IDs for database records : searching by;IDs for database records :searching by 1 2
databases : records : local IDs for;records : local IDs for;local IDs for database records;IDs for database records 1
databases : Sales application (example) 1
Palm Programming: The Developer's Guide - Index
Trang 9databases : Sales application (example);Sales application (example) : databases in;records : Sales application (example) 1 2
databases : Sales application (example);structuring databases : Sales application (example);Sales application (example) : databasestructure;databases : structuring 1
databases : structuring;databases : Sales application (example);Sales application (example) : database structure;designing applications: databases (see databases);applications : databases for (see databases) 1
databases : structuring;structuring databases 1
Dates application;Address Book application;To Do List application;Memo Pad application;Calculator application;Password
Protection application;applications 1
dates in tables 1
dateTableItem data type 1
debug versions of conduits 1 2
debugging 1
debugging : beaming 1
debugging : beaming;testing (see debugging) 1
debugging : CodeWarrior for 1
debugging : debug resets 1
debugging : debug ROMs;storage area of memory : debug ROMs 1
debugging : GNU PalmPilot SDK;source-level debugging : GNU PalmPilot SDK for;GCC (GNU C Compiler) : source-level
debugging;compiling applications : GCC for : source-level debugging 1
debugging : GNU PalmPilot SDK;source-level debugging : GNU PalmPilot SDK for;GCC (GNU C Compiler) : source-level
debugging;compiling applications : GCC for : source-level debugging;GDB debugger 1
debugging;applications : debugging (see debugging) 1
deleting : customers (Sales example) 1
deleting : customers (Sales example);customers (Sales example) : deleting 1 2 3 4 5
deleting : database records : when downloading to device;records : deleting/archiving : when downloading to device;purging (seedeleting) 1
deleting : database records;records : deleting/archiving 1
deleting : order form items (Sales example);products (Sales example) : deleting from order form;DeleteNthItem( ) (Sales example) 1deleting : sales products (Sales example) 1 2
designing applications 1
designing applications : design elements 1
designing applications : general design 1 2
designing applications : user interface (see user interface);interface (see user interface) 1
designing applications;Palm OS® platform : designing in (see designing applications) 1
desktop, uploading to : data storage format;uploading to desktop : data storage format;conduits : uploading to desktop : data storageformat;Palm devices : uploading to desktop : data storage format 1 2
desktop, uploading to : Sales application (example);uploading to desktop : Sales application (example);conduits : uploading toPalm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (9 of 33) [4/21/2001 4:41:17 AM]
Trang 10desktop;Palm devices : uploading to desktop : Sales application (example) 1 2
desktop, uploading to;uploading to desktop;conduits : uploading to desktop;Palm devices : uploading to desktop 1 2
Details dialog (Sales example) 1
development environment : alternative;applications : development environment : alternative;Palm OS® platform : developmentenvironment : alternative 1
development environment : conduit development;applications : development environment : conduit development;Palm OS® platform: development environment : conduit development;conduits : development tools 1 2
development environment : high-level forms development;applications : development environment : high-level forms
development;Palm OS® platform : development environment : high-level development tools 1 2
development environment : POSE (see POSE application) 1
development environment : recommendations;applications : development environment : recommendations;Palm OS® platform :development environment : recommendations 1 2
development environment : resources for developers 1 2
development environment : tools for;applications : development environment : tools for;Palm OS® platform : development
environment : tools for 1 2
development environment;applications : development environment;Palm OS® platform : development environment 1 2
dialogs;dialogs : (see also alerts) 1
dir command (CodeWarrior) 1
directories for conduits 1
Trang 11DmReleaseRecord( ) : Sales application (example) 1
downloading data to Palm device : Sales application (example);conduits : downloading to Palm device : Sales application
(example);Palm devices : downloading data to : Sales application (example) 1 2
downloading data to Palm device;conduits : downloading to Palm device;Palm devices : downloading data to 1
downloading data to Palm device;conduits : downloading to Palm device;Palm devices : downloading data to;Palm devices :
downloading data to : (see also conduits) 1
drawing routine (example);CustomDrawItem( ) (example);lines, drawing (example) 1
DrawOneCustomerInListWithFont( ) (Sales example) 1
DrawOneProductInList( ) (Sales example) 1
dynamic memory 1
dynamic memory : application requirements;memory : application requirements;permanent storage space : application
requirements;storage area of memory : application requirements 1
E
-Edit menu 1
Edit menu : handling items of 1 2
Edit menu : Sales application (example);Options menu (Sales example) 1
editable data types 1
EditCustomer( ) (Sales example) 1
EditCustomerWithSelection( ) (example);customers (Sales example) : EditCustomerWithSelection( ) (example) 1
editing database records : customers (Sales example);customers (Sales example) : editing;EditCustomerWithSelection( )
(example);modifying database records : customers (Sales example) 1 2
editing database records : customers (Sales example);modifying database records : customers (Sales example) 1 2
editing database records : order form items (Sales example);OrderSaveAmount( ) (Sales example);modifying database records : orderform items (Sales example) 1
editing database records : products (Sales example);modifying database records : products (Sales example) 1 2
editing database records;records : writing/editing;modifying database records;writing to database records 1
editing database records;records : writing/editing;writing to database records;modifying database records;Field Manager, editingrecords in place;string fields, editing in place 1
email, sending (example);sending email (example);mail, sending (example);SMTP server, sending mail to (example);TCP/IP
Palm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (11 of 33) [4/21/2001 4:41:17 AM]
Trang 12communications : sending mail (example) 1 2
EngageStandard( ) (CBaseConduitMonitor) 1 2 3
error alerts;" stop sign" for error alerts 1
events 1
events : barcode scanning 1
events : clarifying flow of 1
events : form objects;form objects : events from;forms : events from form objects 1 2
events : scrollbars 1
events : table-related;tables : events for 1 2
events : table-related;tables : events for;tblEnterEvent event 1 2
events;applications : events (see events);Palm OS® platform : events (see events) 1
EvtGetEvent( ) 1
EvtGetEvent( );events : handling with EvtGetEvent( ) 1 2
EvtResetAutoOffTimer( );automatic sleep, preventing;performance : automatic sleep, preventing;power auto-off feature;sleep,automatic 1
examples, learning from;Sales application (example) 1
Exchange Manager 1
ExgReceive( ) 1
ExgRegisterData( ) 1 2
ExgSend( ) 1
ExitInstance( ) : CSalesCondDll class (example) 1
Expense application (example) 1
extensibility of Palm devices 1
F
-fast syncing;conduits : -fast syncing 1 2
Field Manager, editing records in place;string fields, editing in place 1
File Linking feature 1
File Linking feature : entry points for;conduits : File Linking (see File Linking feature);HotSync : File Linking (see File Linkingfeature) 1
File Streaming Manager;files, storing large database records 1
filename extension for archive files;archive filename extension 1
Trang 13FldDelete( );deleting : field text 1
FldDelete( );deleting : field text;FldInsert( );inserting field text 1
form objects : setting in modal forms 1
form objects;forms : elements of (see form objects) 1
forms 1 2 3 4 5 6
forms : adding resources to 1
forms : getting objects from;form objects : getting from forms;FrmGetObjectPtr( ) 1 2forms : high-level development;high-level forms development 1
forms : switching between (Sales example);switching between forms (example) 1 2forms;controls;user interface : forms;user interface : controls;API, Palm OS 1
Free Software Foundation 1
Trang 14-gadget objects : example of 1 2
gadget objects : Gremlins utility and 1
gadget objects;form objects : gadgets 1 2 3
GadgetTap( ) (example) 1
GargetDraw( ) (example);horizontal line, drawing (example);vertical line, drawing (example) 1
Garmin 12 GPS device 1
GCC (GNU C Compiler) : callbacks;compiling applications : GCC for : callbacks;callbacks in GCC 1 2
GCC (GNU C Compiler);compiling applications : GCC for 1 2
GCC (GNU C Compiler);compiling applications : GCC for;C/C++ languages : GNU C Compiler (see GCC) 1
Trang 15GetCustomerIDForNthCustomer( ) (Sales example) 1
GetID( ) (CBaseRecord) 1
GetLockedAppInfo( ) (Sales example) 1
GetOrCreateOrderForCustomer( ) (Sales example) 1
GetProductFromProductId( ) (Sales example);finding database records : Sales application (example);records : finding : Salesapplication (example) 1
Global Position System communications (example);GPS device communications (example);serial communications : GPS deviceexample 1 2
GNU PalmPilot SDK (see GCC);SDKs (Software Development Kits) : GNU PalmPilot SDK (see GCC) 1
GoToItem( ) (example) 1
GotReply( ) (example) 1
Graffiti 1 2
Graffiti : menu item shortcuts;shortcuts for menu items;hot keys (menu items);menus and menu items : shortcuts 1 2 3
Graffiti : shift indicator;shift indicator, Graffiti;form objects : Graffiti shift indicator 1
Graffiti language : debugging shortcuts;shortcut characters (Graffiti);debugging : Graffiti shortcuts for 1 2
Graffiti language : mouse to write in 1
Graffiti language : shortcut to use serial port;serial port : using instead of IR 1
heaps;memory : dynamic heaps 1
heaps;memory : dynamic heaps;storage area of memory : heap support (Palm 3.0) 1
heaps;memory : dynamic heaps;storage area of memory : heap support (Palm 3.0);Palm OS® platform : storage space (see storagearea of memory) 1
Hello World application (example) 1 2
help command (CodeWarrior) 1
help command (GDB) 1
Hewgill, Greg 1
Palm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (15 of 33) [4/21/2001 4:41:17 AM]
Trang 16HotSync : launch flags;debugging : conduits : HotSync launch flags;conduits : debugging : HotSync launch flags 1 2
HotSync : logging activity;logging HotSync activity;conduits : HotSync log 1 2 3 4
HotSync : step-by-step event sequence;conduits : syncing process 1 2
HotSync : testing conduits 1
HotSync : timeouts, avoiding 1
ht command (CodeWarrior) 1
I
-image, creating database from 1
ImportData( ) 1
information alerts;i for information buttons;buttons : info buttons (modal dialogs);help : info buttons on dialogs 1
information alerts;user interface : guidelines for : modal dialogs;UI Guidelines : modal dialogs;info buttons (modal dialogs);buttons :info buttons (modal dialogs);help : info buttons on dialogs;i for information buttons 1
initializing : Sales databases (example);databases : initializing (Sales example) 1 2
initializing : string fields (database) 1
initializing : tables;tables : initializing 1 2 3 4
InitInstance( ) : CSalesCondDll class (example) 1
InitInstance( );ExitInstance( ) 1
InitNumberCustomers( ) (Sales example) 1
Install.exe program 1
installing conduits;uninstalling conduits automatically;conduits : installing/uninstalling automatically;registering conduits :
installing/uinstalling automatically;unregistering conduits : installing/uinstalling automatically 1 2
installing conduits;uninstalling conduits;conduits : installing and uninstalling 1
IsDeleted( ) (CBaseRecord);IsModified( ) (CBaseRecord);IsAdded( ) (CBaseRecord);IsArchived( ) (CBaseRecord);IsNone( )(CBaseRecord);IsPending( ) (CBaseRecord) 1
Item Details form (Sales example);products (Sales example) : Item Details form 1
Item form (Sales example);orders, placing (Sales example) : Item form 1
Item structure (Sales example);products, ordering (Sales example) : Item structure 1
ItemFormOpen( ) (Sales example) 1
ItemHandleEvent( ) (Sales example) 1 2
J
-JDBC (Java Database Classes) 1
journals about Palm Computing;magazine about Palm Computing 1
Jump development environment;Java language : Jump development environment 1
Palm Programming: The Developer's Guide - Index
Trang 17-label objects : in tables 1
label objects;form objects : labels 1 2 3
labelTableItem data type 1
launch codes 1 2 3
launch flags 1
Linux, sending mail on (example) 1 2
list objects : custom vs noncustom;customizing list objects;form objects : lists : custom vs noncustom;performance : custom vs.noncustom lists 1 2
list objects;form objects : lists 1 2
ListDrawFunc( ) (example) 1
load routines for tables (example) 1
LoadTable( ) (example) 1
locking blocks of memory 1 2
locking database records : closing database and;records : locking 1
Trang 18-Macintosh operating system : conduit development;conduits : -Macintosh OS development 1
Macintosh operating system : developing applications on 1 2
Macintosh operating system : POSE commands specific to;Windows operating system : POSE commands specific to 1mailing lists for Palm Computing 1
main event loop : Hello World (example);Hello World application (example) : main event loop 1
main event loop;events : main event loop 1
memory : allocating;dynamic memory : allocating;allocating : memory 1
memory : API for 1
memory : dynamic table field changes 1
memory : Find feature 1
memory : leaks, editable text fields and;leaking memory, editable text fields;tips and tricks : memory leaks 1
memory : write protection for databases;databases : write protection 1
Memory Manager 1
memory;applications : memory (see memory) 1
memory;dynamic memory;allocating : memory;memory : allocating 1
Palm Programming: The Developer's Guide - Index
Trang 19MenuHandleEvent( );menus and menu items : events 1 2
menus and menu items 1 2 3 4
menus and menu items : arranging;sorting : menus and menu items 1
menus and menu items : duplicate menus 1
menus and menu items : items common among applications 1
menus and menu items : multiple sets of menus 1
menus and menu items : refreshing after shortcut use;refreshing : screen after menu shortcuts;screen : refreshing after using menushortcuts;shortcuts for menu items : refreshing screen after using 1 2
menus and menu items : standard interface framework 1
menus and menu items : standard interface framework;user interface : menus (see menus and menu items) 1
menus and menu items : unusable items, handling;unusable menu items;deleting : unusable menu items;disabling unusable menuitems 1 2
menus and menu items;menubars;form objects : menus (see menus and menu items);form objects : menubars (see menubars) 1Microsoft Corporation;PalmPC platform 1
Mobile Generation Software' s Real Estate Companion;Real Estate Companion (Mobile Generation Software) 1
modal dialogs : Delete Customer (Sales example);dialogs : modal dialogs : Delete Customer (Sales example) 1
modal dialogs;forms : modal dialogs;dialogs : modal dialogs 1 2
modal dialogs;modeless dialogs;dialogs : modal dialogs;forms : modal dialogs;dialogs : modeless dialogs;forms : modelessdialogs;modal dialogs : alerts (see alerts) 1
MyFormHandleEvent( ) 1
MyFormHandleMenuEvent( ) 1
Palm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (19 of 33) [4/21/2001 4:41:17 AM]
Trang 20N
-names : conduit DLLs 1
names : conduits 1
names : databases 1 2
names : databases;types of databases;creator, database 1
narrowTextTableItem data type 1
nested locking of memory blocks 1
New Customer dialog (Sales example) 1
New Order button (Sales example) 1
-ObEx Infrared Data Association (IrDA) standard;IrDA standard;Infrared Data Association (IrDA) standard 1
object pointers, types of;pointers to objects, types of 1
OpenFrom( ) (CBaseTable);ExportTo( ) (CBaseTable) 1
opening databases : Sales application (example);closing databases : Sales application (example);databases : opening and closing :Sales application (example);databases : creating : Sales application (example) 1 2
opening databases;databases : opening and closing 1 2
OpenNthCustomer( ) (Sales example) 1
Palm Programming: The Developer's Guide - Index
Trang 21OpenOrCreateDB( ) (Sales example) 1
operator==( ) (CBaseRecord);== operator (CBaseRecord) 1 2
optimizing applications : beaming;performance : beaming 1
OrderDrawProductName( ) (Sales example) 1
OrderExistsForCustomer( ) (Sales example) 1
OrderFormClose( ) (Sales example 1
OrderRecordNumber( ) (Sales example) 1
orders, placing (Sales example) 1 2
orders, placing (Sales example) : database for 1
orders, placing (Sales example) : databases for 1 2 3
orders, placing (Sales example) : editing order 1
orders, placing (Sales example) : editing order;customer order form (see orders, placing) 1
orders, placing (Sales example) : menubars for 1
orders, placing (Sales example) : order form 1 2
orders, placing (Sales example) : Order structure 1
orders, placing (Sales example) : OrderDeinitNumberField( ) 1
orders, placing (Sales example) : OrderDrawNumber( ) 1
orders, placing (Sales example) : OrderHandleEvent( ) 1
orders, placing (Sales example) : OrderHandleKey( );key events, handling in tables 1
orders, placing (Sales example) : OrderHandleMenuEvent( ) 1
orders, placing (Sales example) : OrderInitTableRow( ) 1
orders, placing (Sales example) : OrderSelectNumericCell( );pen events : handling in tables (example) 1
orders, placing (Sales example) : OrderTapInActiveField( );pen events : handling in tables (example) 1
orders, placing (Sales example) : uploading to desktop 1 2
owner IDs 1
P
-pack pragma (Visual C++) 1
PackCustomer( ) (Sales example) 1
packed products (Sales example);unpacked products (Sales example) 1
PackedCategories structure (Sales example);categories of database records : PackedCategories structure (example) 1PackedOrder structure (Sales example);orders, placing (Sales example) : Packed Order structure 1
PackProduct( ) (Sales example) 1
Palm OS® platform 1 2 3
Palm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (21 of 33) [4/21/2001 4:41:18 AM]
Trang 22Palm OS® platform : conduits (see conduits);designing applications : conduits (see conduits) 1
Palm OS® platform : documentation;documentation for Palm OS;help : Palm OS documentation 1 2
Palm OS® platform : operating system elements 1
Palm OS® platform : operating system elements : Palm 3.0 OS features;Palm 3.0 OS 1 2
Palm OS® platform : operating system elements;Palm OS (see Palm OS® platform);operating system : Palm (see Palm OS®platform);operating system : Windows (see Windows operating system) 1
Palm OS® platform : tutorial;tutorial for Palm OS;help : Palm OS tutorial 1
Palm OS® platform : version support : checking version number (example);versions, Palm OS : checking version number
(example);performance : supporting Palm OS versions : checking version number (example) 1
Palm OS® platform : version support : serial communications;versions, Palm OS : serial communications;performance : supportingPalm OS versions : serial communications 1
Palm OS® platform : version support;versions, Palm OS;performance : supporting Palm OS versions 1
Palm devices : cost;cost of Palm devices 1
Palm devices : features, existing and missing 1
Palm devices : features, existing and missing;hardware (see Palm devices);Palm OS® platform : machines for (see Palm devices) 1Palm devices : machine size and weight;size : Palm devices;weight of Palm devices;design of Palm devices 1 2
Palm devices : Palm III 1 2
Palm devices : Pilot 1000;Palm devices : Pilot 5000;Pilot 1000;Pilot 5000 1
Palm devices : resets;resetting Palm devices;debugging : device resets 1
Palm devices : uploading to desktop : (see also conduits) 1
Palm Software Development Kit (SDK);SDKs (Software Development Kits) : Palm SDK 1
PalmCentral web site 1
PalmPC platform 1
PalmRez tool 1 2
paths for Java conduit classes 1
PC-card slots 1
pen events : handling;tapping (see pen events) 1
pen events : penDownEvent 1 2
pen events : penDownEvent;pen events : penMoveEvent 1
pen events;events : pen events;stylus events (see pen events) 1
Pendragon Forms application;Windows operating system : Pendragon Forms 1
Perform( ) (CSalesSynchronizer\; example) 1
performance : Find feature 1
performance : Generic Conduit;tips and tricks : Generic Conduit 1 2
performance : locking and unlocking memory 1
Palm Programming: The Developer's Guide - Index
Trang 23performance : optimizing;optimizing applications;applications : optimizing;Palm OS® platform : optimizing for (see optimizingapplications);optimizing applications : (see also designing applications) 1
performance;applications : performance (see performance);Palm OS® platform : performance (see performance);speed, application(see performance) 1
permanent storage space;storage area of memory;disk space (see storage area of memory);ROM (see storage area of memory) 1Pilot 1000;Palm devices : Pilot 1000 1
Pilot vs Palm (naming) 1
PilotMain( ) 1
PilotMain( ) : handling Find requests 1 2
PilRC resource compiler : menu construction;resources : PilRC resource compiler : menu construction 1
PilRC resource compiler : menubar specification;resources : PilRC resource compiler : menubar specification 1
PilRC resource compiler : Sales application constants (example);resources : PilRC resource compiler : Sales application constants(example) 1
PilRC resource compiler;resources : PilRC resource compiler 1 2 3
PilrcUI application 1
Platinum certification 1
popSelectEvent event 1 2
pop-up triggers : events for tap start;triggers : pop-up triggers : events for tap start 1
pop-up triggers : in tables 1
pop-up triggers;triggers : pop-up triggers 1
pop-up triggers;triggers : pop-up triggers;pop-up triggers : (see also list objects) 1
popupTriggerTableItem data type 1
portability of conduit use;conduits : portability issues;troubleshooting : conduit portability;performance : conduit portability 1 2POSE application 1 2
POSE application : CodeWarrior environment 1
POSE application : future of 1
POSE application : GNU PalmPilot SDK with 1
POSE application : GNU PalmPilot SDK with;GDB debugger 1
POSE application : Simulator vs.;Simulator application;Macintosh operating system : Simulator application;CodeWarrior
development environment : Simulator application (Mac OS);Metrowerks CodeWarrior : Simulator application (Mac OS);debugging :Simulator application 1
POSE application : testing conduits;conduits : debugging : POSE application for;debugging : POSE application, testing conduits 1POSE application;emulating Palm OS (see POSE application\; Simulator application);Palm OS® platform : emulating (see POSEapplication\; Simulator application) 1
PrefSetAppPreferences( ) 1
prevFieldChr character;nextFieldChr character;Graffiti : navigating text field characters 1
Palm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (23 of 33) [4/21/2001 4:41:18 AM]
Trang 24print command (GDB) 1
priority, conduit 1
processor-intensive tasks;performance : processor-intensive tasks;memory : processor-intensive tasks;off-loading processor-intensivetasks 1 2
product database (Sales example) 1
products (Sales example) : adding to tables;orders, placing (Sales example) : OrderDrawProductName( ) 1
products (Sales example) : initializing database for 1 2
products (Sales example) : ordering (see orders, placing);products (Sales example) : deleting (see deleting sales products);items forsale (example) (see products) 1
products (Sales example) : reading and writing;reading from database records : products (Sales example);writing to database records :products (Sales example);reading from database records : products (Sales example) 1 2
products, ordering (Sales example) : downloading products to handheld 1
products, ordering (Sales example) : downloading products to handheld;products, ordering (Sales example) : (see also orders,
placing) 1
products, ordering (Sales example) : PackedProduct structure;PackedProduct structure (Sales example) 1
products, ordering (Sales example) : Product structure 1
-RAM (see memory) 1
rapid prototyping;prototyping with Satellite Forms 1
Trang 25ReadCustomer( ) (example);customers (Sales example) : ReadCustomer( ) 1 2
reading from database records : when uploading to desktop;records : reading : when uploading to desktop 1 2
ReadIntoNewRecord( ) (example) 1
ReadProduct( ) (example) 1
ReadReply( ) (example) 1
ReceiveBeam( ) (example) 1 2
Record menu (Sales example) 1
records : conflicts during syncing;conduits : record conflicts 1
records : creating new : Sales application (example);adding records to database : Sales application (example) 1 2
records : creating new : Sales application (example);adding records to database : Sales application (example);AddNewItem( ) (Salesexample) 1
records : creating new;DmNewRecord( );adding records to database 1
records : deleting/archiving : sorting records and;deleting : database records : sorting deleted records;archived database records :sorting 1 2
records : finding;finding database records 1 2 3
records : iterating through;iterating through database records : when uploading to deskop;categories of database records : iteratingthrough 1
records : iterating through;iterating through database records;categories of database records : iterating through 1
records : private (secret) : Find feature and;private database records : Find feature and;secret database records : Find feature
and;categories of database records : handling secret records : Find feature;records : beaming (see beaming\; conduits) 1
records : private (secret);private database records;secret database records;categories of database records : handling secret records 1records : private (secret);private database records;secret database records;categories of database records : handling secret
records;records : categories (see categories for database records) 1
records : sorting;sorting : database records;comparison routine for sorting 1
records : writing/editing : when downloading to device;writing to database records : when downloading to device;handhelds (seePalm devices) 1
records;databases : records 1
records;databases : records : managing 1 2
records;databases : records;records : (see also databases) 1
refreshing : table cells;forms : refreshing (see refreshing) 1
repeating buttons;buttons : repeating buttons 1
ReplaceTabs( ) (CSalesTable\; example) 1
resource database;.PRC files 1 2
resources 1 2 3
resources : menus and menu items;menus and menu items : resources for 1 2
resources : reading;reading : resources;Resource Manager, obtaining resources with 1
Palm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (25 of 33) [4/21/2001 4:41:18 AM]
Trang 26resources for further reading;Palm OS® platform : developer support resources 1
RetrieveDB( ) (CSalesPcMgr\; example) 1
RoadCoders web site 1
RomIncompatibleAlert (Sales example) 1
RomVersionCompatible( ) (example);Palm OS® platform : version support : RomVersionCompatible( ) (example);versions, Palm
OS : RomVersionCompatible( ) (example);performance : supporting Palm OS versions : RomVersionCompatible( ) (example) 1
S
-Sales application (example) : adding menus to;menus and menu items : -Sales application (example) 1 2
Sales application (example) : beaming customer information;customers (Sales example) : beaming information about 1
Sales application (example) : beaming;beaming : Sales application (example) 1
Sales application (example) : beaming;beaming : Sales application (example);beaming 1
Sales application (example) : conduit design;conduits : Sales application (example);conduits : designing;Sales application (example)1
Sales application (example) : conduit design;conduits : Sales application (example);Sales application (example) 1
Sales application (example) : conduits : extended;conduits : Sales application (example) : extended 1 2
Sales application (example) : conduits : minimal;conduits : Sales application (example) : minimal 1 2
Sales application (example) : design tradeoffs;designing applications : tradeoffs (Sales example) 1 2
Sales application (example) : designing for small screen 1 2
Sales application (example) : Find feature with;Find feature : Sales application (example) 1 2
Sales application (example) : resources and form objects;resources : Sales application (example);form objects : Sales application(example);forms : Sales application (example) 1 2
Sales application (example) : start screen 1
Sales application (example) : tables in;tables : Sales application (example) 1 2
Sales application (example) : user interface;user interface : Sales application (example) 1 2
Satellite Forms environment;SoftMagic' s Satelline Forms environment 1 2
Satellite Forms environment;SoftMagic' s Satelline Forms environment;forms : high-level development;high-level forms
development 1
save routine for tables (example);CustomSaveItem( ) (example) 1
SaveTo( ) (CBaseTable) 1
SaveTo( ) (CBaseTable);OpenFrom( ) (CBaseTable) 1 2
scanBatteryErrorEvent event;battery, too low for scanning;troubleshooting : battery too low for scanning 1
scanBatteryErrorEvent event;troubleshooting : battery too low for scanning 1
Trang 27scrollbar objects : updating;form objects : scrollbars : updating;updating scrollbars 1
scrollbar objects;form objects : scrollbars 1 2 3
Select All menu item;Keyboard menu item;Graffiti : Graffiti Help menu item;help : Graffiti Help menu item 1
SelectACategory( ) (Sales example) 1
selector triggers;triggers : selector triggers;form objects : buttons (see buttons);form objects : triggers (see triggers) 1
Send( ) (example) 1
SendBody( ) (example) 1
sendmail protocol, using (example) 1 2
SendSingleBodyLine( ) (example) 1
separator bars in menus 1
serErrAlreadyOpen error;open port error;serial port : opening;troubleshooting : serial communications 1
serErrLineErr error;SerClearError( );SerReceiveFlush( ) 1
Set Active Configuration (Build menu item) 1
Palm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (27 of 33) [4/21/2001 4:41:18 AM]
Trang 28SetRecordId( ) (CBaseRecord);GetRecordId( ) (CBaseRecord);SetStatus( ) (CBaseRecord);GetStatus( ) (CBaseRecord) 1
size : calculating automatically (PilRC) 1
size : database records;records : size of 1 2 3
size : label strings;resources : label string length and;label objects : string length problems;troubleshooting : label string length 1size : memory chunks, determining 1
size : modal forms 1
size : string handles in text fields 1
size : tables and table elements;tables : sizing 1
slow syncing;conduits : slow syncing 1 2
sort info block 1
sorting : database records;records : sorting 1 2
sorting : user interface elements;alphabetical order;organizing elements (see small screen, designing for\; sorting\; user interface) 1sound;audio (see sound) 1
source-level debugging : conduits;conduits : debugging : source-level debugging 1
source-level debugging : conduits;conduits : debugging : source-level debugging;breakpoints in conduit code 1
SPT 1500;Symbol' s SPT 1500;Palm devices : Symbol' s SPT 1500 1
start screen;user interface : start screen;screen : start screen 1
Trang 29StopApplication( ) 1
StopApplication( ) : Sales application (example) 1
storage area of memory 1
storage area of memory : application requirements;permanent storage space : application requirements;Palm OS® platform : memory(see memory);applications : data storage (see storage area of memory) 1
storage area of memory : chunking large database records;chunks, memory (see memory\; storage area of memory) 1
storage area of memory : receiving buffer size;size : receiving buffer (serial communications);receiving buffer size 1
storage area of memory : storing conduit data;conduits : storing uploaded/downloaded data 1 2
storage area of memory : where databases are stored;databases : storage location 1
StoreDB( ) (CSalesPcMgr\; example) 1
string list resources 1
strings support 1
StrListType structure 1
structure packing;Palm OS® platform : structure packing;compiling applications : structure packing 1
structuring databases : Sales application (example);Sales application (example) 1
SubscriptionSupported( ) 1
SwapDWordToIntel( ) 1
SwapDWordToMotor( );ConvertToRemote( ) (CDTLink-Converter) 1
SwitchForm( ) (Sales example);FrmGotoForm( ) 1
Symbol' s SPT 1500 : barcode scanner;Palm devices : Symbol' s SPT 1500 : barcode scanner;SPT 1500 : barcode scanner 1 2Symbol' s SPT 1500 : data entry on;Palm devices : Symbol' s SPT 1500 : data entry on;SPT 1500 : data entry on 1
Symbol' s SPT 1500;Palm devices : Symbol' s SPT 1500;SPT 1500 1
Trang 31tblSelectEvent event 1 2
TCP/IP communications;communications methods : TCP/IP communications 1 2
technical support 1
text in table columns 1
text objects (entry fields) : focus;form objects : text entry fields : focus;form objects : text entry fields : focus;editable text objects :focus;focus for editable text fields 1
text objects (entry fields) : getting text;form objects : text entry fields : getting text;form objects : text entry fields : getting
text;editable text objects : getting text 1
text objects (entry fields) : modifying text;form objects : text entry fields : modifying text;form objects : text entry fields : modifyingtext;editable text objects : modifying text 1
text objects (entry fields) : setting text;form objects : text entry fields : setting text;form objects : text entry fields : setting
text;editable text objects : setting text 1
text objects (entry fields);form objects : text entry fields;editable text objects 1
text objects (entry fields);form objects : text entry fields;editable text objects;fields (see text objects);entry fields (see text objects) 1text objects (entry fields);form objects : text entry fields;form objects : text entry fields;editable text objects;data entry : fields for (seetext objects) 1
text recognition software, absence of 1
textTableItem data type 1
textWithNoteTableItem data type 1
timeouts, avoiding when debugging;conduits : debugging : avoiding timeouts;debugging : avoiding timeouts 1 2
TimeUntilNextRead( ) 1
tips and tricks : alerts 1
tips and tricks : beaming;beaming : programming tips 1 2
tips and tricks : Gremlins utility 1
tips and tricks : modal forms;tips and tricks : (see also troubleshooting) 1
tips and tricks : Serial Manager use 1
tips and tricks : Serial Manager use;troubleshooting : serial communications 1
tips and tricks : TCP/IP 1 2
transaction processing;conduits : transaction processing 1
troubleshooting : conduits;conduits : testing and troubleshooting 1
troubleshooting : conduits;conduits : testing and troubleshooting;HotSync : testing conduits 1
troubleshooting : editable text fields;tips and tricks : editable text fields 1
troubleshooting : menu generation in Constructor 1
two-way syncing;conduits : two-way syncing;mirror-image synchronization (see two-way syncing) 1
Palm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (31 of 33) [4/21/2001 4:41:18 AM]
Trang 32U
-Undo menu item;Cut menu item;Copy menu item;Paste menu item 1
Unix OS, developing applications on 1
UnpackCustomer( ) (Sales example) 1
UnpackProduct( ) (Sales example) 1
unsuccessful taps, events for 1
UpdateScrollbar( ) (example);scrollbar objects : updating;form objects : scrollbars : updating;updating scrollbars 1
UpdateTables( ) 1
upload-only conduits;download-only conduits 1
user interface : dynamic;dynamic UI features 1
user interface : elements of 1
user interface : elements of : initializing;initializing : user interface elements 1
user interface : elements of;applications : interface (see user interface);Palm OS® platform : user interface (see user interface) 1user interface : guidelines for : modal dialogs;UI Guidelines : modal dialogs;info buttons (modal dialogs);buttons : info buttons(modal dialogs);help : info buttons on dialogs 1
user interface : guidelines for;UI Guidelines;UI Guidelines : (see also user interface) 1
user interface : small screen size concerns;Palm devices : screen size;small screen, designing for;designing applications : small screenconsiderations 1 2
user interface : small screen size concerns;Palm devices : screen size;small screen, designing for;designing applications : small screenconsiderations;size : screen (see small screen, designing for);screen : designing for (see small screen, designing for) 1
v flag (HotSync) 1
V
-variables, global, CALLBACK_PROLOGUE and;global -variables, CALLBACK_PROLOGUE and 1
verbose modes (HotSync);-v flag (HotSync) 1
versions, Palm OS 1
virtual machine, Java 1
W
-Wademan.com web site 1
warning alerts;! for warning alerts 1
When Beam All Customers option (Sales example);IR beaming (see beaming information) 1
Palm Programming: The Developer's Guide - Index
Trang 33WhichTextColumn( ) 1
windows 1
Windows operating system : conduit development;conduits : Windows OS development 1 2
Windows operating system : developing applications on 1 2
WriteRecord( ) (example) 1 2
writing resources;resources : writing 1
writing to database records : syncing conflicts;modifying database records : syncing conflicts;editing database records : syncingconflicts;records : writing/editing : syncing conflicts;databases : record writing conflicts 1
writing to database records : when downloading to device 1
writing to database records;modifying database records;editing database records;records : writing/editing;DmGetRecord( );lockingdatabase records;records : locking;DmReleaseRecord( ) 1
writing to database records;reading from database records;records : writing/editing;DmQueryRecord( );querying database
records;records : reading 1
# | | " | 3 | A | B | C | D | E | F | G | H | I | J | K | - | L | M | N | O | P | Q | R | S | T | U | - | V | W Palm Programming: The Developer'sGuide
Copyright © 1999, O'Rielly and Associates, Inc
Published on the web by permission of O'Rielly and Associates, Inc Contents modified for web display
Palm Programming: The Developer's Guide - Index
http://www.palmos.com/dev/tech/docs/devguide/ (33 of 33) [4/21/2001 4:41:18 AM]
Trang 34Palm Programming: The Developer's Guide - Table
of Contents
Foreword
Foreword
Preface
The Palm Phenomenon
Who This Book Is For-C Programmers
What This Book Is About and How
Whom We Need to Thank
I Palm-Why It Works and How to Program It
1 The Palm Solution
Why Palm Succeeded Where So
Many Failed
Designing Applications for Palm Devices
Elements in a Palm Application
Summary
2 Development Environments and Languages
Overview
Handheld Development
Alternative Development Environments
High-Level Forms Development
Conduit Development
Conclusion
Palm Programming: The Developer's Guide - Table of Contents
Trang 353 Designing a Solution
User Interface Elements
in an Application
General Design of a Palm Application
How the Sample Applications Are Useful
User Interface of the Sales Application
Developing a Prototype
Design Tradeoffs in the Sample Application
Designing for a Small Screen
Designing the Databases
Designing the Conduit
Memory Is Extremely Limited
Other Times Your Application Is Called
Resources, Forms, and Form Objects
in the Sales Application
6 Databases
Overview of Databases and Records
Creating, Opening, and Closing Databases
Working with Records
Examining Databases in the Sales Sample
7 Menus
Menu User Interface
Menu Resources
Application Code for Menus
Adding Menus to the Sample Application
Palm Programming: The Developer's Guide - Table of Contents
http://www.palmos.com/dev/tech/docs/devguide/TableOfContents.htm (2 of 4) [4/21/2001 4:41:22 AM]
Trang 36Graffiti Shortcut Characters
Source-Level Debugging with CodeWarrior
Source-Level Debugging with GNU PalmPilot SDK
Using Simulator on Mac OS
Gremlins
III Designing Conduits
11 Getting Started with Conduits
Overview of Conduits
Registering and Unregistering a Conduit
Conduit Entry Points
The HotSync Log
When the HotSync Button Gets Pressed
Using the Backup Conduit
Creating a Minimal Sales Conduit
12 Uploading and Downloading Data with a Conduit
Conduit Requirements
Where to Store Data
Creating, Opening, and Closing Databases
Downloading to the Handheld
Uploading to the Desktop
When the HotSync Button Gets Pressed
Portability Issues
The Sales Conduit
Palm Programming: The Developer's Guide - Table of Contents
Trang 3713 Two-Way Syncing
The Logic of Syncing
The Conduit Classes
Sales Conduit Sample Based
Avoiding Timeouts While Debugging
Conduit Problems You Might Have
Test with POSE
Turn Off Other Conduits During Testing
Use the Log, Luke
Appendix: Where to Go From Here
Palm Programming Book Web Site
The Official Palm Developer Site
Palm Programming Mailing Lists
Third-Party Palm Programming Resources
Third-Party Palm Programming FAQ
RoadCoders, Handheld Developers
PalmCentral
Journals and Magazines
Palm Programming: The Developer's Guide
Copyright © 1999, O'Rielly and Associates, Inc.
Published on the web by permission of O'Rielly and Associates, Inc Contents modified for web display Palm Programming: The Developer's Guide - Table of Contents
http://www.palmos.com/dev/tech/docs/devguide/TableOfContents.htm (4 of 4) [4/21/2001 4:41:22 AM]
Trang 38The overall flow and content of a Palm OS application is the subject of this chapter You will learn:
The standard code routines found in every Palm application
An application window (what many people would think of as a view) that usually covers the entire screen A form optionally contains
controls, text areas, and menus In a Palm OS application, there is only one active form allowed at a time Chapter 5, Forms and
Form Objects, covers forms in detail.
Window
A rectangular area in which things like dialogs, forms, and menus are drawn by the application The Window Manager makes surethat windows properly display relative to each other (for example, it has the ability to restore the old contents when a window isclosed) Note in a rather Shakespearian twist of logic that all forms are windows, even though all windows are not forms
Trang 39A data structure that describes things that happen in an application Events can be low-level hardware events like a pen down, pen up,
or hardware key press They can also be higher-level events like a character entered, a menu item selected, or a software buttonpressed
The Palm OS is an event-driven system Only one application is open at a time When that application is running, it runs an event loop
that retrieves events and continues to handle them until the user starts another application
Main event loop
The main loop of execution in an application, which repeatedly retrieves events and then acts on them
Launch code
A parameter passed to an application that specifies what the application should do when that particular launch code is executed Anapplication typically handles more than one launch code This is the communication method used between the OS and an applicationand between applications
Menu
Menus are stored in resources grouped together into menubars and are displayed when the user taps the menu area See Chapter 7,
Menus, for more details.
A warning or information dialog that needs to be dismissed by the user
These brief descriptions cover the most important terminology In the following section, we look at the basic elements of a very smallPalm OS application
A Simple Application
Creating a small application before tackling a more complex one is a good way to gain familiarity with a new coding challenge First,
we tell you what our little application does and show you the code for it After that we do a code walkthrough and point out importantelements
What the Application Does
Our Hello World application displays the words "Hello World" and provides a button to press Pressing the button displays an alert,
as shown in Figure 4-1, which is dismissed by tapping OK There are two menus, each with one menu item (see Figure 4-2) As this
is a very simple application, you just get a beep when you choose either menu item
-Figure 4- 1 Dialog shown after tapping the button
4 Structure of an Application
http://www.palmos.com/dev/tech/docs/devguide/ch04.htm (2 of 17) [4/21/2001 4:41:34 AM]
Trang 40Figure 4- 2 The menus of Hello World
The Hello World Source Code
Now that you have an idea of what the application can do, look at Example 4-1 to see the code that produces it Once you havelooked through it for yourself, we will discuss it
-Example 4- 1 The Hello World Source Code