• Read This First
    • About this SDK
    • What’s new in OPL for EPOC Release 5
    • EPOC SDK Products and support
    • Year 2000 Compliance
    • Licence agreement
    • Acknowledgements
    • Documentation conventions
  • Introducing OPL
    • About OPL
    • A first program
    • File management
    • Running modules
  • Programming in OPL
    • OPL Basics
      • Values and expressions
      • Commands
      • Control structures
      • Calling procedures
      • Including header files
    • Data File Handling
      • Database manipulation
      • SQL specification
      • OPL and disks
    • Graphics and Interaction
      • Graphics
      • Friendlier interaction
    • Error Handling
      • Syntax errors — Errors reported during translation
      • Runtime errors — Handling errors reported while running programs
      • OPL error values
    • Advanced Topics
      • About the advanced topics
      • Programs using more than one module
      • Calling procedures by strings
      • More on file specification
      • How OPL stores values
      • Safe pointer arithmetic
      • OPL applications
      • OPL and MIME
      • Foreground and background
      • Scanning the keyboard directly
      • I/O functions and commands
      • Dynamic memory allocation
  • Example Programs
    • About the example programs
    • Timer — Countdown timer
    • Dice — Rolls dice
    • Birthday — Calculates birthdays
    • Files — Data files
    • Reorder — Re-orders a database file
    • Watch — Simple stopwatch
    • Label — Inserts a new label into a database
    • Bounce — Displays a bouncing ball
    • Circles — Draws circles
    • Animate — Animated bitmaps
  • Keyword Reference
    • About OPL Keywords
    • ABS — ATAN
    • BACK — BYREF
    • CANCEL — CURSOR
    • DATETOSECS — dXINPUT
    • EDIT — EXTERNAL
    • FIND — FREEALLOC
    • gAT — gY
    • HEX$ — HOUR
    • IABS — IOYIELD
    • KEY — KMOD
    • LAST — LPRINT
    • MAX — mPOPUP
    • NEXT — NUM$
    • OFF — OPENR
    • PARSE$ — PUT
    • RAD — RND
    • SCI$ — SUM
    • TAN — TRAP RAISE
    • UADD — USUB
    • VAL — VECTOR
    • WEEK — WHILE...ENDWH
    • YEAR
  • Using OPXs
    • About OPXs
    • Bmp.opx — Sprites and bitmaps
    • Contact.opx — The Contacts engine
    • Date.opx — Date and time manipulation
    • dBase.opx — Database handling
    • dbUtils.opx — Additional DBMS functionality
    • Printer.opx — Printer and text handling
    • SysRam1.opx — Additional OPL functionality
    • System.opx — EPOC system functions
  • OplTran
    • About OplTran
    • opltran.exe — Command line OPL translator
  • Appendices
    • Operators and logical expressions
    • Serial ports and printing
    • Character codes
    • EPOC Error Values
    • Listing of Const.oph
  • Glossary
    • Glossary - A
    • Glossary - B
    • Glossary - C
    • Glossary - D
    • Glossary - E
    • Glossary - F
    • Glossary - G
    • Glossary - H
    • Glossary - I
    • Glossary - J
    • Glossary - K
    • Glossary - L
    • Glossary - M
    • Glossary - N
    • Glossary - O
    • Glossary - P
    • Glossary - Q
    • Glossary - R
    • Glossary - S
    • Glossary - T
    • Glossary - U
    • Glossary - V
    • Glossary - W
    • Glossary - X
    • Glossary - Y
    • Glossary - Z