Symbian OS. Программирование мобильных телефонов на C++ и Java 2 ME 5-94074-030-8

Создание мобильных приложений для операционной системы Symbian - сложная и трудоемкая задача. Эта книга познакомит вас с

300 18 6MB

Russian Pages 452 Year 2005

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Symbian OS. Программирование мобильных телефонов на C++ и Java 2 ME
 5-94074-030-8

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

. .

SYMBIAN OS

C++

JAVA 2 ME

, 2005

004.438 32.973.26-018.2 26 . . 26 Symbian OS. ME. — :

C++ , 2005. - 448 :

Java 2

.

ISBN 5-94074-030-8 Symbian -

. Symbian

OS

C++, Java 2 ME CodeWarrior Ericsson

. for

,

Symbian,

C++

Nokia

UIQ,

GUI

BuilderX SDK 60,

Mobile Studio, Symbian, Sony 80 90. , ,

Symbian OS, , , ,

,

, ,

. , Symbian

-

C++. 004.438 32.973.26-018.2

. . ,

, ,

. .

-

,

ISBN 5-94074-030-8 2005

.

© ©

. ., 2005 ,

,

ɉɪɟɞɢɫɥɨɜɢɟ ........................................................................................ 14 ɋɬɪɭɤɬɭɪɚ ɤɧɢɝɢ ................................................................................. 15 ɑɬɨ ɜɵ ɞɨɥɠɧɵ ɡɧɚɬɶ ......................................................................... 16 ɉɪɨɝɪɚɦɦɧɨɟ ɨɛɟɫɩɟɱɟɧɢɟ .............................................................. 16 ɂɫɯɨɞɧɵɟ ɤɨɞɵ................................................................................... 16 Ȼɥɚɝɨɞɚɪɧɨɫɬɢ ................................................................................... 17 1. Symbian OS.................................................... 18 1.1. Ɋɚɛɨɬɚ ɜ Symbian OS .................................................................. 20 1.2. ɇɚɜɢɝɚɰɢɹ .................................................................................... 22 1.3. ɂɧɬɟɪɧɟɬ ...................................................................................... 23 1.4. Java-ɩɪɢɥɨɠɟɧɢɹ ........................................................................ 25 1.5. ɉɪɨɝɪɚɦɦɵ ɧɚɋ++ ..................................................................... 27 1.6. Ɉɛɡɨɪ ɩɪɨɝɪɚɦɦ ɞɥɹ Symbian OS .............................................. 28 1.6.1. Ɏɚɣɥɨɜɵɟ ɦɟɧɟɞɠɟɪɵ ....................................................... 29 1.6.2. ȼɟɛ-ɛɪɚɭɡɟɪɵ...................................................................... 29 1.6.3. Ɇɭɥɶɬɢɦɟɞɢɚ....................................................................... 30 1.6.4. ɂɝɪɵ ..................................................................................... 32 2. IDE Metrowerks CodeWarrior for Symbian OS ................................. -............................. 33 2.1. ɍɫɬɚɧɨɜɤɚ CodeWarrior for Symbian Personal v2.8.3 ................. 35 2.2. Ɂɧɚɤɨɦɫɬɜɨ ɫ Metrowerks CodeWarrior for Symbian Personal v2.8.3 .................................................................................... 38 2.2.1. Ɇɟɧɸ File ............................................................................. 40 2.2.2. Ɇɟɧɸ Edit ............................................................................. 40 2.2.3. Ɇɟɧɸ View.. ......................................................................... 41 2.2.4. Ɇɟɧɸ Search........................................................................ 42 2.2.5. Ɇɟɧɸ Project ........................................................................ 43

2.2.6. Ɇɟɧɸ Debug .........................................................................44 2.2.7. Ɇɟɧɸ Window .......................................................................45 2.2.8. Ɇɟɧɸ Help ............................................................................46 2.2.9. ɉɚɧɟɥɶ ɢɧɫɬɪɭɦɟɧɬɨɜ .........................................................46 2.2.10. Ɉɤɧɨ Workspace .................................................................47 2.2.11. Ɍɟɤɫɬɨɜɵɣ ɪɟɞɚɤɬɨɪ .........................................................49 2.3. ɇɚɫɬɪɨɣɤɚ Metrowerks CodeWarrior ............................................51 2.3.1. Ƚɪɭɩɩɚ General .....................................................................52 2.3.2. Ƚɪɭɩɩɚ Editor ........................................................................56 2.3.3. Ƚɪɭɩɩɚ Debugger ..................................................................61 2.4. ɋɨɡɞɚɧɢɟ ɩɪɨɟɤɬɚ .......................................................................63 2.5. ɂɦɩɨɪɬ ɩɪɨɟɤɬɚ ...........................................................................65 2.6. Ʉɨɦɩɢɥɹɰɢɹ ɩɪɨɟɤɬɚ...................................................................67 2.7. ɋɨɡɞɚɧɢɟ ɭɫɬɚɧɨɜɨɱɧɨɝɨ ɩɚɤɟɬɚ ................................................69 3. IDE C++ BuilderX Mobile Studio.............................................72 3.1. ɍɫɬɚɧɨɜɤɚ IDEC++BuilderX Mobile Studio ...................................73 3.2. ɂɡɭɱɚɟɦ C++BuilderX ...................................................................75 3.2.1. Ɇɟɧɸ File ..............................................................................76 3.2.2. Ɇɟɧɸ Edit..............................................................................77 3.2.3. Ɇɟɧɸ Search ........................................................................78 3.2.4. Ɇɟɧɸ View ........................................................................... 78 3.2.5. Ɇɟɧɸ Project.........................................................................79 3.2.5. Ɇɟɧɸ Run .............................................................................79 3.2.6. Ɇɟɧɸ Team.......................................................................... 80 3.2.7. Ɇɟɧɸ Wizards .......................................................................80 3.2.8. Ɇɟɧɸ Tools .......................................................................... 80 3.2.9. Ɇɟɧɸ Window .......................................................................80 3.2.10. Ɇɟɧɸ Help.......................................................................... 81 3.2.11. ɉɚɧɟɥɶ ɢɧɫɬɪɭɦɟɧɬɨɜ ...................................................... 81 3.2.12. ɉɚɧɟɥɶ Project................................................................... 82 3.3. ɉɨɞɤɥɸɱɟɧɢɟ SDK ...................................................................... 83 3.4. ɋɨɡɞɚɧɢɟ ɩɪɨɟɤɬɚ ...................................................................... 84 3.5. ɂɦɩɨɪɬ ɩɪɨɟɤɬɚ .......................................................................... 86 3.6. Ʉɨɦɩɢɥɹɰɢɹ ɩɪɨɟɤɬɚ.................................................................. 87 3.7. ɋɨɡɞɚɧɢɟ ɭɫɬɚɧɨɜɨɱɧɨɝɨ ɩɚɤɟɬɚ ............................................... 88 4. .................... 89 4.1. ɉɪɨɝɪɚɦɦɧɵɟ ɫɪɟɞɫɬɜɚ ɤɨɦɩɚɧɢɢ Sony Ericsson .................... 90 4.1.1. ɍɫɬɚɧɨɜɤɚ SDK..................................................................... 91

4.1.2. ɗɦɭɥɹɬɨɪɵ ɬɟɥɟɮɨɧɨɜ Sony Ericsson................................ 94 4.2. ɉɪɨɝɪɚɦɦɧɵɟ ɫɪɟɞɫɬɜɚ ɤɨɦɩɚɧɢɢ Nokia ................................... 95 4.2.1. ɋɟɪɢɹ 60 .............................................................................. 97 4.2.2. ɋɟɪɢɹ 80 .............................................................................. 98 4.2.3. ɋɟɪɢɹ 90 ............................................................................ 100 4.2.4. ɉɪɨɝɪɚɦɦɚ SISAR ............................................................. 102 5. Symbian OS ................................................... 105 5.1. Ⱥɩɩɚɪɚɬɧɚɹ ɚɪɯɢɬɟɤɬɭɪɚ.......................................................... 106 5.2. ɋɢɫɬɟɦɧɵɟ ɛɢɛɥɢɨɬɟɤɢ ........................................................... 107 5.3. ɉɪɨɝɪɚɦɦɧɚɹ ɚɪɯɢɬɟɤɬɭɪɚ ...................................................... 108 5.3.1. əɞɪɨ ɢ ɚɩɩɚɪɚɬɧɚɹ ɱɚɫɬɶ ɫɢɫɬɟɦɵ................................... 109 5.3.2. Ȼɚɡɨɜɵɟ ɫɟɪɜɢɫɵ.............................................................. 109 5.3.3. ɋɟɪɜɢɫɵ ɨɩɟɪɚɰɢɨɧɧɨɣ ɫɢɫɬɟɦɵ................................... 110 5.3.4. ɉɨɥɶɡɨɜɚɬɟɥɶɫɤɢɟ ɫɟɪɜɢɫɵ............................................. 112 5.3.5. ɂɧɮɪɚɫɬɪɭɤɬɭɪɚ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɝɨ ɢɧɬɟɪɮɟɣɫɚ........ 113 5.4. Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ ................................................................... 113 5.4.1. Ⱦɢɫɤ Z ................................................................................. 114 5.4.2. Ⱦɢɫɤ ɋ ................................................................................ 114 5.4.3. Ⱦ ɢ ɫ ɤ ɢ ................................................................................ 115 5.4.4. Ⱦɢɫɤȿ ................................................................................ 115 5.4.5. Ɉɩɟɪɚɬɢɜɧɚɹ ɩɚɦɹɬɶ ........................................................ 116 6. Symbian OS .................... 117 6.1. Ʉɥɚɫɫɵ........................................................................................ 118 6.1.1. Ʉɥɚɫɫɵɋ ............................................................................ 118 6.1.2. Ʉɥɚɫɫɵ R ............................................................................ 118 6.1.3. ɄɥɚɫɫɵɌ............................................................................. 118 6.1.4. ɄɥɚɫɫɵɆ............................................................................ 119 6.1.5. ɋɬɚɬɢɱɟɫɤɢɟ ɤɥɚɫɫɵ ......................................................... 119 6.2. Ɏɭɧɤɰɢɢ .....................................................................................119 6.2.1. ɍɯɨɞɹɳɢɟ ɮɭɧɤɰɢɢ ...........................................................119 6.2.2. ɇɟɭɯɨɞɹɳɢɟ ɮɭɧɤɰɢɢ .......................................................120 6.2.3. Ɏɭɧɤɰɢɢ LC ........................................................................120 6.2.4. Ɏɭɧɤɰɢɢ Set........................................................................120 6.2.5. Ɏɭɧɤɰɢɢ Get .......................................................................120 6.3. ɋɬɪɭɤɬɭɪɵ ..................................................................................120 6.4. Ɇɚɤɪɨɫɵ..................................................................................... 121 6.5. ɂɦɟɧɚ ɩɟɪɟɦɟɧɧɵɯ...................................................................121 6.6. ɉɪɨɫɬɵɟ ɬɢɩɵ ɞɚɧɧɵɯ ..............................................................121 6.7. Ɋɟɤɨɦɟɧɞɚɰɢɢ ..........................................................................122

7. Symbian OS............................. 124 7.1. ɋɢɫɬɟɦɧɵɟ ɤɥɚɫɫɵ ................................................................... 124 7.1.1. ɉɥɚɬɮɨɪɦɚɢɘ ................................................................. 126 7.1.2. ɋɟɪɢɹ 60 ............................................................................ 126 7.2. Ȼɚɡɨɜɚɹ ɫɨɫɬɚɜɥɹɸɳɚɹ ɩɪɢɥɨɠɟɧɢɹ...................................... 127 7.2.1. Ʉɥɚɫɫ Application ............................................................... 127 7.2.2. Ʉɥɚɫɫ Document................................................................. 128 7.2.3. Ʉɥɚɫɫ AppUl ....................................................................... 128 7.2.4. Ʉɥɚɫɫ Ⱥɪɪ View.................................................................. 128 7.3. ɉɟɪɜɚɹ ɩɪɨɝɪɚɦɦɚ ................................................................... 129 7.3.1. Ɋɚɛɨɬɚ ɫɢɫɬɟɦɵ ................................................................ 130 7.3.2. Ʉɥɚɫɫ CTestApplication...................................................... 131 7.3.3. Ʉɥɚɫɫ CTestDocument ....................................................... 133 7.3.4. Ʉɥɚɫɫ CTestAppUi.............................................................. 136 7.3.5. Ʉɥɚɫɫ CTestAppView ......................................................... 140 7.3.6. Oan\nTest_Main.cpp .......................................................... 144 7.3.7. Ɏɚɣɥ Test.pan .................................................................... 145 7.3.8. Ɏɚɣɥ Test.hrh..................................................................... 145 7.3.9. Ɏɚɣɥ Test_Caption.rss....................................................... 146 7.3.10. Ɏɚɣɥ Test.rss ................................................................... 147 7.3.11. Ɏɚɣɥ bld.inf ...................................................................... 149 7.3.12. Ɏɚɣɥ Test.mmp ................................................................ 149 7.3.13. Ɏɚɣɥ Test.pkg .................................................................. 151 7.4. ɍɧɢɤɚɥɶɧɵɟ ɢɞɟɧɬɢɮɢɤɚɬɨɪɵ UID........................................... 154 7.4.1. ɂɞɟɧɬɢɮɢɤɚɬɨɪ UID1 ........................................................ 155 7.4.2. ɂɞɟɧɬɢɮɢɤɚɬɨɪ UID2 ........................................................ 155 7.4.3. ɂɞɟɧɬɢɮɢɤɚɬɨɪ UID3 ........................................................ 155 7.4.5. ɂɞɟɧɬɢɮɢɤɚɬɨɪɵ ɩɥɚɬɮɨɪɦɵ........................................... 156 7.5. Ⱦɨɛɚɜɥɹɟɦ ɢɤɨɧɤɭ ɜ ɩɪɢɥɨɠɟɧɢɟ ........................................... 157 7.5.1. Ⱦɨɛɚɜɥɟɧɢɟ AIF ɪɟɫɭɪɫɨɜ ɜ C++ BuilderX........................ 162 7.6. ɋɛɨɪɤɚ ɩɪɨɟɤɬɚ ɤɨɦɩɢɥɹɬɨɪɨɦ ............................................... 163 7.7. ɋɨɡɞɚɧɢɟ ɭɫɬɚɧɨɜɨɱɧɨɝɨ ɩɚɤɟɬɚ SIS ....................................... 166 8. .................................................. 167 8.1. ɉɥɚɬɮɨɪɦɚ UIQ......................................................................... 167 8.1.1. ɉɚɧɟɥɶ Application Picker.................................................. 167 8.1.2. ɉɚɧɟɥɶ Menu bar ............................................................... 167 8.1.3. Ʉɥɢɟɧɬɫɤɚɹ ɨɛɥɚɫɬɶ ɷɤɪɚɧɚ ............................................. 168 8.1.4. ɉɚɧɟɥɶɌɨɨ1ɖɚɝ .................................................................. 168 8.1.5. ɉɚɧɟɥɶ Status bar .............................................................. 168

8.2. ɋɟɪɢɹ 60.....................................................................................168 8.2.1. ɉɚɧɟɥɶ Status Pane ......................................................... 168 8.2.2. ɉɚɧɟɥɶ Main Pane ............................................................ 169 8.2.3. ɉɚɧɟɥɶ Control Pane.......................................................... 169 8.3. Ɋɟɫɭɪɫɵ......................................................................................169 8.4. Ɇɟɧɸ.......................................................................................... 170 8.5. Ʌɨɤɚɥɢɡɚɰɢɹ..............................................................................181 8.6. ɉɨɥɭɱɟɧɢɟ ɞɚɧɧɵɯ ɨɬ ɩɨɥɶɡɨɜɚɬɟɥɹ....................................... 186 8.7. ɋɩɢɫɤɢ ....................................................................................... 187 8.7.1. ȼɟɪɬɢɤɚɥɶɧɵɣ ɫɩɢɫɨɤ ...................................................... 188 8.7.2. ɋɩɢɫɨɤ Grid.........................................................................192 8.7.3. ɋɩɢɫɨɤ Setting ................................................................... 193 8.7.4. Ⱦɟɦɨɧɫɬɪɚɰɢɨɧɧɵɣ ɩɪɢɦɟɪ Setting List ...........................199 9. .............................................223 9.1. Ɋɢɫɨɜɚɧɢɟ ɥɢɧɢɣ ..................................................................... 224 9.2. Ɋɢɫɭɟɦ ɩɪɹɦɨɭɝɨɥɶɧɢɤ............................................................ 230____ 9.3. Ɋɢɫɭɟɦ ɷɥɥɢɩɫ ...........................................................................235 9.4. Ɋɢɫɭɟɦ ɱɚɫɬɶ ɤɪɭɝɚ .................................................................. 238 9.5. Ɍɟɤɫɬ ɢ ɲɪɢɮɬ .......................................................................... 242 9.6. Ɋɚɛɨɬɚ ɫ ɢɡɨɛɪɚɠɟɧɢɹɦɢ .........................................................251 10. Java .......................... 255 10.1. ɉɥɚɬɮɨɪɦɚ Java 2 ME ........................................................... 255 10.1.1. Ʉɨɧɮɢɝɭɪɚɰɢɹ CLDC ......................................................256 10.1.2. ɉɪɨɮɢɥɢ MIDP.................................................................257 10.2. Ɇɢɞɥɟɬ .................................................................................... 258 10.2.1. ɋɬɪɭɤɬɭɪɚ ɪɚɛɨɬɵ ɦɢɞɥɟɬɚ ............................................259 10.2.2. ɗɤɪɚɧɧɚɹ ɧɚɜɢɝɚɰɢɹ ...................................................... 263 10.3. ȼɵɫɨɤɨɭɪɨɜɧɟɜɵɣ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɣ ɢɧɬɟɪɮɟɣɫ ............... 265 10.3.1. Ʉɥɚɫɫ TextBox ................................................................. 265 10.3.2. Ʉɥɚɫɫ List ......................................................................... 265 10.3.3. Ʉɥɚɫɫ Alert ....................................................................... 266 10.3.4. Ʉɥɚɫɫ Form .......................................................................266 10.3.5. Ʉɥɚɫɫ ChoiceGroup ......................................................... 267 10.3.6. Ʉɥɚɫɫ Stringltem .............................................................. 267 10.3.7. Ʉɥɚɫɫ TextField ................................................................267 10.3.8. Ʉɥɚɫɫ DateField .............................................................. 267 10.3.9. Ʉɥɚɫɫ Spacer ................................................................... 268 10.3.10. Ʉɥɚɫɫ Imageltem............................................................ 268

1.20. 1.21. 1.22. 1.23. 1.24. 1.25. 1.26. 1.27. 1.28. 1.29. 1.30. 1.31. 1.32. 1.33. 1.34. 1.35. 1.36. 1.37. 1.38. 1.39. 1.40. 1.41. 1.42. 1.43. 1.44. 1.45. 1.46. 1.47. 1.48. 1.49. 1.50. 1.51. 1.52. 1.53. 1.54. 1.55. 1.56. 1.57. 1.58. 1.59.

Bluetooth Security Manager ............................................................... 296 Bluetooth Service Discovery Agent .................................................... 296 Bluetooth Service Discovery Database .............................................. 297 Bluetooth Sockets............................................................................... 298 Bluetooth Ul ....................................................................................... 300 Calendar Conversion .......................................................................... 301 Certificate Manager ............................................................................ 302 Character Conversion ........................................................................ 306 Character Conversion Plug-In Provider.............................................. 306 Character Representation of Real Numbers ...................................... 306 Circular Buffers .................................................................................. 307 Client/Server ....................................................................................... 307 Clipboard............................................................................................. 307 Clock ................................................................................................... 307 Command Line Parsing ...................................................................... 308 CommDb ............................................................................................ 309 Connection Management.................................................................... 310 Contacts Model ................................................................................... 311 Contact Views ..................................................................................... 314 Converter Architecture........................................................................ 315 Cookies Support ................................................................................. 316 Critical Sections ................................................................................. 317 Data Application Model....................................................................... 317 Date and Time Handling ..................................................................... 319 DBMS Columns, Column Sets and Keys ........................................... 320 DBMS Database Incremental Operations .......................................... 321 Interface to DBMS Databases ............................................................ 321 DBMS Rowsets................................................................................... 322 DBMS Sharing Databases.................................................................. 323 Descriptor Arrays ................................................................................ 323 Descriptors.......................................................................................... 324 Device drivers ..................................................................................... 326 Dial...................................................................................................... 327 Dynamically Loading Link Libraries .................................................... 328 Dynamic Arrays................................................................................... 328 Dynamic Buffers ................................................................................. 330 ECom Plug-in Architecture ................................................................. 330 Embedding.......................................................................................... 331 Encrypted Streams and Stores........................................................... 332 Environment Change Notifier...............................................................332

1.60. 1.61. 1.62. 1.63. 1.64. 1.65. 1.66. 1.67. 1.68. 1.69. 1.70. 1.71. 1.72. 1.73. 1.74. 1.75. 1.76. 1.77. 1.78. 1.79. 1.80. 1.81. 1.82. 1.83. 1.84. 1.85. 1.86. 1.87. 1.88. 1.89. 1.90. 1.91. 1.92. 1.93. 1.94. 1.95. 1.96. 1.97. 1.98. 1.99.

ETel Core............................................................................................. 332 Extended Notifier Framework .............................................................. 332 Fax Client............................................................................................. 333 Fax Client MTM... ................................................................................333 Fax Header Line ..................................................................................334 Fax Store .............................................................................................334 File Logging .........................................................................................335 File Server Client Side .........................................................................335 Writing a file system.............................................................................337 Filestores .............................................................................................339 Fixed Size Arrays ................................................................................339 Fonts....................................................................................................340 Fonts and Bitmaps...............................................................................341 Front End Processors ..........................................................................341 FTP Engine..........................................................................................342 Graphics ..............................................................................................343 Graphics Foundations..........................................................................344 Grid Foundations .................................................................................345 Grid ......................................................................................................345 Hardware Abstraction Layer (HAL)......................................................346 Handles................................................................................................346 Hardware Accelerator ..........................................................................347 Help Model...........................................................................................349 HTTP Client ........................................................................................ 350 HTTP Message................................................................................... 353 HTTP Transport Layer ........................................................................ 353 Image Converter ................................................................................. 354 Incremental Matcher ........................................................................... 355 Interface to Resource Files................................................................. 355 Internet Mail ........................................................................................ 356 Internet Protocol Utility ....................................................................... 360 Interrupt architecture........................................................................... 364 IPSec .................................................................................................. 364 IrDA Sockets ...................................................................................... 365 InfraRed Transfer Picture Protocol ..................................................... 365 Lexical Analysis .................................................................................. 366 Literal Descriptors............................................................................... 366 Locale Settings ................................................................................... 367 Log Engine.......................................................................................... 369 Maths Services ................................................................................... 370

1.100. 1.101. 1.102. 1.103. 1.104. 1.105. 1.106. 1.107. 1.108. 1.109. 1.110. 1.111. 1.112. 1.113. 1.114. 1.115. 1.116. 1.117. 1.118. 1.119. 1.120. 1.121. 1.122. 1.123. 1.124. 1.125. 1.126. 1.127. 1.128. 1.129. 1.130. 1.131. 1.132. 1.133. 1.134. 1.135. 1.136. 1.137. 1.138. 1.139.

Media Server Common Classes ........................................................370 Memory Streams .............................................................................. 371 Message Scheduled Sending ........................................................... 371 Message Window ............................................................................. 373 MMS MTM Client .............................................................................. 373 MMS Utilities ..................................................................................... 374 MultiMediaCard................................................................................. 376 NetDial ...............................................................................................379 Notification Services ......................................................................... 379 Onboard Camera .............................................................................. 379 Open Font System............................................................................ 379 Package Buffers ............................................................................... 380 PC Connect Device-side BAL........................................................... 380 PhoneBook Synchroniser ................................................................. 381 Power management framework........................................................ 381 Print Framework ............................................................................... 381 Print Preview..................................................................................... 382 Printing.............................................................................................. 382 Raw Memory..................................................................................... 383 Recognizers ...................................................................................... 383 Reference counting objects .............................................................. 384 Security ............................................................................................. 384 Semaphores...................................................................................... 385 Serial Protocol Module...................................................................... 385 SIM Application Toolkit ..................................................................... 385 SMS GSM Utilities ............................................................................ 386 SMS Utilities...................................................................................... 388 Sockets Client ................................................................................... 389 Sound Device ................................................................................... 390 Stores................................................................................................ 391 Store Streams ................................................................................... 392 System Agent.................................................................................... 392 System Sounds................................................................................. 393 TCP/IP .............................................................................................. 393 Test Console..................................................................................... 395 Text and Text Attributes.................................................................... 395 Text Views ........................................................................................ 397 Timers and Timing Services ............................................................. 399 Transfer Buffer .................................................................................. 399 To-do List .......................................................................................... 399

1.140. 1.141. 1.142. 1.143. 1.144. 1.145. 1.146. 1.147. 1.148. 1.149.

UID Manipulation............................................................................... 400 Ul Control Framework ....................................................................... 400 Ul Graphics Utilities........................................................................... 403 Uikon Core ........................................................................................ 404 Uikon Resources............................................................................... 406 USB Client......................................................................................... 408 WAP Messaging................................................................................ 410 WAP SMS Protocol Module .............................................................. 411 WAP Stack ........................................................................................ 411 Window Server Client Side ............................................................... 412

2. Symbian OS............................................................ 413 ArimaU300 ........................................................................... 413 BenQP30 ............................................................................. 414 FomaF880iES ...................................................................... 414 FomaF900i .......................................................................... 415 FomaF900it.......................................................................... 415 FomaF901ic ......................................................................... 416 FomaF2051 ........................................................................ 416 LenovoP930......................................................................... 417 Motorola A920...................................................................... 417 Motorola A925...................................................................... 418 Motorola A1000.................................................................... 418 Motorola A1010.................................................................... 419 Nokia N-Gage ...................................................................... 419 Nokia N-Gage QD................................................................ 420 Nokia 3230........................................................................... 420 Nokia 3650/3600.................................................................. 421 Nokia 3660/3620.................................................................. 421 Nokia 6260........................................................................... 422 Nokia 6600........................................................................... 422 Nokia 6620........................................................................... 423 Nokia 6630........................................................................... 423 Nokia 6670........................................................................... 424 Nokia 6680........................................................................... 424 Nokia 6681 .....................................................................................425 Nokia 6682........................................................................... 425 Nokia 7610........................................................................... 426 Nokia 7650........................................................................... 426

Nokia 7710............................................................................................... 427 Nokia 9210............................................................................................... 427 Nokia 9290 ......................................................................................................... 428 Nokia 9300 ......................................................................................................... 428 Nokia 9500 ......................................................................................................... 429 Panasonic X700....................................................................................... 429 Panasonic X800....................................................................................... 430 SendoX .................................................................................................... 430 SendoX2 .................................................................................................. 431 Siemens SX1 ....................................... .................................................. 431 Sony Ericsson P800................................................................................. 432 Sony Ericsson P900................................................................................. 432 Sony Ericsson P900i................................................................................ 433 Nokia N70 ........................................................................................... -....433 Nokia N90........................................................................................................... 434 Nokia N91........................................................................................................... 434

. ........................................435 Ʉɨɦɩɚɧɢɹ Symbian Ltd.............................................................435 ɂɧɫɬɪɭɦɟɧɬɚɥɶɧɵɟ ɫɪɟɞɫɬɜɚ ɪɚɡɪɚɛɨɬɱɢɤɚ ...............................435 ɂɧɬɟɝɪɢɪɨɜɚɧɧɵɟ ɫɪɟɞɫɬɜɚ ɪɚɡɪɚɛɨɬɤɢ ɩɪɢɥɨɠɟɧɢɣ.................436 Ʉɨɦɩɚɧɢɢ ..................................................................................436 Ɍɟɦɚɬɢɱɟɫɤɢɟ ɫɚɣɬɵ..................................................................437 Ɋɭɫɫɤɨɹɡɵɱɧɵɟ ɫɚɣɬɵ................................................................437 4.

-

.....................................438

ɋɩɢɫɨɤ ɢɫɩɨɥɶɡɭɟɦɵɯ ɢɫɬɨɱɧɢɤɨɜ ............................................ 439 ɉɪɟɞɦɟɬɧɵɣ ɭɤɚɡɚɬɟɥɶ.............................................................. 440

, .

-

, .



,

, . ,

,

-,

-

-

, «

. »,

,

, .

, . ,

-

?

, ,

,

, .

,

-

-

, ,

,

. -

,

,

-

. ,

Java 2 ME

, ,

,

, . C++, Java 2 ME, OPL

Visual

Basic. Symbian

- Windows Mobile OS.

Windows Mobile . , .

-

(

)

,

. . ,

,

, Sony ,

. . -2109,

-

. Symbian Windows Mobile,

, . — Ltd.

- Symbian Ltd. Symbian

. .

□ □ □ □ □ □

1

2005 :

Nokia-47,9%; Ericsson- 15,6%; Sony Ericsson - 13,1%; Panasonic - 10,5%; Siemens - 8,4%; Samsung - 4,5%. Symbian : Symbian OS

. , UIQ,

,80

90. , UIQ.

,

60,

-

60,

, 80% ,

60,

70-80%

,

.

Symbian

1. OS.

, ,

,

. for

2 Symbian

CodeWarrior 2.8 OS

Metrowerks,

C++. 3. Borland Buil-derX Mobile Studio, C++ BuilderX. 4. SDK

60,80, 90 5. ,

UIQ,

C++

Symbian OS SDK. Symbian, Sony Ericsson . Symbian

Nokia,

.

6 C++ Symbian OS. GUIGUI-

7. ,

, -

Symbian OS. UIQ

8

60 .

. Symbian OS. -

9. .

Java 2 ME, .

10. Symbian OS ,

1. Symbian OS

7.0s. 2. Symbian. 3. Symbian. -

4. 5.

. .

Ч , C++,

,

-

.

CodeWarrior for Symbian OS Mobile Studio Borland. Visual Studio . .

Metrowerks

SDK

, -

C++ BuilderX

, \Code.

,

.

, ,

, ,

. CodeWarrior for Symbian OS

-

, C++ BuilderX

1.0

1.5, Visual C++.6

Visual Studio.NET,

.

,

-

, SDK,

. . -

,

.

1.

Symbian OS Symbian Symbian OS ,

Symbian Ltd. .

Symbian OS (

EPOC 32)

1997

. Psion, .

Psion Series . Psion Software

Psion, Nokia, Ericsson EPOC 32, Symbian OS (

Symbian. )

Motorola

, , . Symbian OS EPOC 32.

16-

,

, ,

-

32-

. , Symbian Ltd., Symbian , , .

. Symbian,

. 2000 32, API

, . , 2001 Symbian OS 6.1, , : Symbian ,

, , . Ltd.

, . Nokia: N-Gage

. N-Gage QD.

Symbian OS . 1.1,

. 1.1. ɋɦɚɪɬɮɨɧɵ N-Gage ɢ N-Gage QD

,

Symbian OS 6.1, . . 1.1, -

,

, ,

. , : □ Psion; □ Nokia; □ Motorola; □ Sony Ericsson; □ Siemens; □ Samsung; □ SUN; □ Panasonic; □ Sanyo; □ BenQ; □ Fujitsu; □ Sendo; □ Mitsubishi Electric; □ Borland; □ ARM; □ Intel; □ AppForge; G Metrowerks; □ Vodafone; □ Orange. 2005 Symbian OS. - Nokia 6630, Nokia 6680 Nokia 6681. , , Symbian OS 8.0 . Symbian OS 6.1 (7.0,7.0s, 8.0,8.0 ).

Symbian Ltd. 2005 Symbian OS 9.0. Symbian OS 6.1, .

, Symbian OS 7.0

,

, ,

,

Symbian OS 6.1, 50%. « Java 2 Micro Edition», Java

MIDP 1.0 MIDP 2.0. Symbian OS 6.1 Symbian OS 7.0. , , , Symbian OS 32, C++ . ,

,

.

Symbian

OS

, , .

1.1.

Symbian OS , Symbian OS, ,

, . Symbian OS,

, 2

( Symbian OS).

,

,

,

,

. , Symbian OS

. , ,

(

-

). , ,

SMS,

, , ,

. 1.2. ɗɤɪɚɧ ɬɟɥɟɮɨɧɚ Nokia N-Gage QD

, -

.

,

,

, ,

(

.

-

-

.

. 1.2,

Nokia

60). (Status panel) , ,

,

,

( .

.1.2).

.

,

.

, ,

, Red Faction

И

,

,

. Splinter Sell.

.

-

. 1.3,

. 1.3. Ɇɟɧɸ ɢɝɪ Red Faction ɢ Splinter Sell

(Control panel) . . , , ,

-

,

, :

,

,

,

.

-

.

. 1.4, .

Ɋɢɫ. 1.4. ɉɚɧɟɥɶ ɤɨɧɬɪɨɥɹ

-

,

, ,

,

.

,

UIQ,

,

7.

1.2. -

-

. ,

. 1.1 ( , ).

, : Up (

), Down (

), Left (

), Right ( ,

). .

-

. 1.5, N-Gage.

И

. 1.5. Ɉɤɧɚ

ɬɟɥɟɮɨɧɚ N-Gage

. , . : ,

,

-

, Symbian OS. -

( . Left

. 1.6). Right.

. .

-

Ɋɢɫ. 1.6. ȼɤɥɚɞɤɚ ɜ Symbian OS

,

Symbian OS. , ,

, , .

,

, ,

,

,

, Symbian OS.

1.3. Symbian ),

XHTML-

WML- ( HTMLHTML-

. , ,

-

Opera, NetFront

Browser ( ).

Protocol Radio Services -

) GPRS,

WAP (Wireless Application GPRS (General Racket ).

, 5

,

7

(

). ,

,

. □ □

.

: ; ;

□ □

GPRS, -

; —

;

□ □

-

; ;

IP-

-

WAP

-

. . 1.7

. ,

,

, -

.

,

WML, . 1.7. Ɉɩɪɟɞɟɥɟɧɢɟ ɬɨɱɤɢ ɞɨɫɬɭɩɚ

GPRS-WAP. , -

.

, . 1.8. GPRS.

. 1.8. ɋɨɟɞɢɧɟɧɢɟ ɫ ɂɧɬɟɪɧɟɬ

-

,

WML, .

,

,

, WAP

. HTML,

XHTML . ,

,

. , -

,

HTML ,

.

,

GPRS ,

, .

,

,

,

,

. -

,

.

-

1.4. JavaC++

Symbian Java 2 ME. 3,4

, Symbian OS ( ,

). ( 512

)

32, 64, 128

. , Java 2 ME

C++ Java 2 ME.

Symbian OS

, .

-

.

,

,

, .

. ,

Java 2 ME

,

C++ .

,

,

GPRS

,

. , -

Bluetooth USB-

, . , . USB-

,

. . USB Flash (

-

):

. , .

Symbian OS Oxygen Phone Manager 2.2.1 http://www.opm-2.com/symbian. Symbian OS . , Java 2 ME, *.jad *.jar. *.jad , jar. jarJava 2 ME. Java , . , 1.6 ( Symbian OS).

,

Symbian OS.

Symbian . Java

:\(

)\1 1 1 , . . Java-

Java.

=> , =>

. . . Java

. 1.9, .

Call of Duty 1.0

. 1.9. ɍɫɬɚɧɨɜɤɚ ɢɝɪɵ Call of Duty 1.0

: ( 1.9

).

.

, , .

Java

C++ .

, 3,4

.

800

1,5

, ,

,

.

,

-

. . Java

. =>

. . =>

.

1.5.

C++ Symbian OS ,

C++. .

Symbian OS . (API) C++, .

, *.sis. (IDE),

C++, Symbian

Ltd.,

C++, *.sis 2

3,

SISAR SISAR (SDK)

.

Nokia,

4.

++-

-

Java-

.

++:

-

Symbian OS.

++-

1.6 (

Symbian

OS). *.sis. C++ , (

),

.

. 1.10

-

-/ -JQ

. . , ,

.

.

sis-

. . Real One Player

1.11 .

, =>

. .

.

,

C++, -

. 1.11. ɍɫɬɚɧɨɜɤɚ ɩɪɨɝɪɚɦɦɵ Real One Player

10-15

. ,

, (

!

.

. 1.11) Real One Player. ,

. ,

-

=> Java 2 ME-

.

++-

!

,

6

. C++

,

. Symbian OS.

1.6.

Symbian OS : ,

.

,

Symbian OS ,

-, -

-

Symbian OS.

,

,

, trial version (

.

),

, .

, .

Symbian OS , . ,

-

, .

1.6.1. , , ,

«

»

.

, 60,

. -

, ,

(

,

,

, ,

,

). .

.

: FileMan, SeleQ

. 1.12

eFileManager. ,

Nokia N-Gage QD. , , ,

,

, -

,

. .

Java, ,

.

++. .

Java 2 ME C++, , Symbian

OS .

(Java 2 ME

C++)

. , 1.5

1.6.2.

1.6

.

, «

. »,

Opera, NetFront

, Browser.

. 1.12. Ɏɚɣɥɨɜɵɟ ɦɟɧɟɞɠɟɪɵ FileMan, SeleQ ɢ eFiieManager

-

HTML. , -

. Opera, NetFront HTML

. 1.13

-

Browser. -

,

GPRS.

(

, fGet). ,

fGet

!

1.6.3. : , *.3gp

. *.nim,

, Symbian OS

. SmartMovie,

AVI

. ,

SmartMovie AVI

.

-

,

. 1.13. ɂɧɬɟɪɧɟɬ-ɛɪɚɭɡɟɪ Opera, NetFront ɢ Browser

.

-

. -

UltraMP3.

Symbian OS,

. 1.14

,

SmartMovie

. 1.14. ɉɪɨɝɪɚɦɦɵ Sm apt Movie ɢ ɒɝɚɆɊɁ

UltraMP3.

1.6.4. -

-

, . . N-Gage, *.sis

.

Nokia N-Gage . Java 2 ME,

, ,

,

C++, . , Word, Excel , ,

, Power Point,

,

, .

,

, Symbian OS

,

. -

, C++ Symbian OS.

2. IDE Metrowerks CodeWarrior for Symbian OS ,

-

. .

, ,

,

,

-

,

. Borland

. Sun,

: . Borland,

Microsoft, , ,

, Visual

Studio.NET ,

. , , .

, , -

, .

Symbian OS: C++ BuilderX Mobile Studio Borland CodeWarrior for Symbian Metrowerks. . , , , , . Visual C++, , . Visual C++ ARM , . , Microsoft Windows Mobile 2003 ( Microsoft Windows Mobile 5), a Symbian OS . Symbian Visual C++.6 Visual C++.NET , . , Symbian OS, CodeWarrior for Symbian, C++ BuilderX Mobile Studio . SDK.

Borland

-

, Metrowerks. Metrowerks -

CodeWarrior ,

Windows, Linux, Unix, Palm, Mac Symbian. www.metrowerks.com . Metrowerks, . Windows, Palm, Symbian, PlayStation 2, Game Boy, Game Boy Advanced, Java 2 ME. Symbian, , : □ IDE Metrowerks CodeWarrior Personal 2.8 for Symbian OS, □ IDE Metrowerks CodeWarrior Professional 3.0 for Symbian OS, □ IDE Metrowerks CodeWarrior OEM 3.0 for Symbian OS. CodeWarrior Personal Professional , CodeWarrior OEM Professional, , . CodeWarrior Professional SDK, 103 , , CodeWarrior Personal. CodeWarrior Personal 2.8 for Symbian OS, trial90 , Professional OEM 15 . , , . CodeWarrior Personal 2.8 for Symbian OS Metrowerks Nokia trial(90 ). « » 64 12 / . , trialCD . CodeWarrior Nokia — Nokia CodeWarrior for Symbian OS Metrowerks. CodeWarrior Nokia (http:// forum.nokiacom), . , . , , . , Nokia , , . Symbian Ltd., http:// www.symbian.com/developer, . 2.1, . IDE Metrowerks CodeWarrior Personal 2.8 for Symbian OS, . -

. 2.1. ɋɚɣɬ ɤɨɦɩɚɧɢɢ Symbian Ltd

CodeWarrior IDE Metrowerks CodeWarrior Personal 2.8 for Symbian OS.

2.1. CodeWarrior for Symbian Personal v2.8.3 1.

CW_Symbian_Personal_2.8.3 Metrowerks CodeWarrior for Symbian OS. Welcome to the InstallShield

Wizard (

.

. 2.2).

Next

. 2. (

.

. 2.3), .

,

,

-

, Metrowerks CodeWarrior,

.

. 3.

License Agreement . I accept the terms of the license

agree ment

Next.

90

. 2.2. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Welcome to the InstallShield Wizard

. 2.3. ɂɧɮɨɪɦɚɰɢɨɧɧɨɟ ɨɤɧɨ

4.

Product Information Metrowerks CodeWarrior. .

Next 5.

.

Setup Type,

2.4, , . ( ) Custom (

: Complete

).

, ,

Custom

Next. 6. . 2.5, Manuals Trill Seekers.

Select Components, : CodeWarrior Tools, CodeWarrior , 170 Next. Select Program Folders

7. ,

.

. 2.4. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Setup Type

. 2.5. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Select Components

. Next. 8.

Select File Association Options, . 2.6. ,

-

-

. 2.6. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Select File Association Options

Metrowerks CodeWarrior. Next. 9. . .

Next .

2.2. Metrowerks CodeWarrior for Symbian Personal v2.8.3 Metrowerks CodeWarrior CodeWarrior for Symbian Personal v2.8.3, . □ CodeWarrior Help Metrowerks CodeWar rior ; □ CodeWarrior IDE Metrowerks Co deWarrior for Symbian Personal v2.8.3; □ CodeWarrior Updater , □ Quick Start Guide werks CodeWarrior □ Release Note -

; Metro PDF; Metrowerks CodeWarrior

2.8. => => Metrowerks CodeWarrior => CodeWarrior for Symbian Personal v2.8.3 => Co-

deWarrior IDE. Metrowerks CodeWarrior. , , Metrowerks CodeWarrior . . 2.7 Metrowerks CodeWarrior HelloWorldPlus.

. 2.7. Ɋɚɛɨɱɟɟ ɨɤɧɨ Metrowerks HelloWorldPlus

CodeWarrior

,

Metrowerks

CodeWarrior Workspace (

: ).

Metrowerks CodeWarrior

. ,

, ,

Metrowerks CodeWarrior , ,

, .

, .

, .

,

, ,

.

. .

2.2.1.

File . 2.8,

File, □ New (Gtrl+Shift+N) -

-

:

; □ Open (Ctrl+O) ; □ Find and Open (Ctrl+D) ; □ Close (Ctrl+W) ; □ Save (Ctrl+S) ; □ Save All (Ctrl+Shift+S) ; □ Save As ; □ Save A Copy As ;

□ Revert □ □ □ □ □ □ □ □ □ □

; Open Workspace Workspace; Close Workspace Workspace; Save Workspace As Workspace; Import Project From .mmp File Import Project XML; Export Project ; Page Setup ; Print (Ctrl+P) ; Open Recent Exit Metrowerks CodeWarrior.

2.2.2. □ □ □ □ □

. 2.8. Ɇɟɧɸ File

;

;

Edit

Edit, Undo (Ctrl+Z) Redo (Ctrl+Shift+Z) Cut (Ctrl+X) Copy (Ctrl+C) Paste (Ctrl+V) -

. 2.9, ; ; ; ; ;

:

□ Delete (Delete) ; □ Select All (Ctrl+A) ; Q Balance (Ctrl+B) ; □ Shift Left (Ctrl+[) □ Shift Right (Ctrl+]) ; □ Get Previous Completion (Alt+Shift+/) Code Completion, □ Get Next Completion (Alt+/) letion, □ Code Completion ; □ Preference Metrowerks CodeWarrior; □ WINSW UDEB Settings (Alt+F7) -

;

; Code Comp ;

( 2.6 2.7); □ Version Control Settings □ Commands and Key Bindings werks CodeWarrior; □ Symbian Environments CodeWarrior

2.2.3.

VCS; Metro .

View . 2.10, Toolbar ( :

View, □ Toolbar-

. 2.9. Ɇɟɧɸ Edit

: ),

. 2.10. Ɇɟɧɸ View

□ □ □ □ □ □ □ □ □ □ □ □ □

Hide Window Toolbar Window Toolbar; Reset Window Toolbar Window Toolbar; Clear Window Toolbar — Main Toolbar; Hide Main Toolbar Main Toolbar; Reset Main Toolbar Main Toolbar; Clear Main Toolbar Main Toolbar. Object Inspector Project Inspector ; Browser Contents ; Class Browser (Alt+F12) ; Class Hierarchy Build Progress Build Progress; Errors and Warnings (Ctrl+I) ; □ Symbolics Symbolics ; □ Processes □ Breakpoints □ Registers □ Expressions Q Global Variables □ Command Windows -

2.2.4. □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

;

;

Processes; ; ; Expressions; ; Command Windows.

Search

Search, . 2.11, : Find (Ctrl+F) ; Replace (Ctrl+H) ; Find in Files (Ctrl+Shift+M) ; Find Next (F3) ; Find in Next File (Ctrl+T) ; Enter Find String (Ctrl+E) ; Find Selection (Ctrl+F3) ; Replace Selection (Ctrl+=) ; Replace and Find Next (Ctrl+L) ; Replace All ; Find Definition (Ctrl+') ; Go Back (Ctrl+Shift+B) ; Go Forward (Ctrl+Shift+F) ; Go to Line (Ctrl+G) ; Compare Files , ;

. 2.11. Ɇɟɧɸ Search

□ Apply Difference □ Unapply Difference -

2.2.5. □ □ □ □ □ □ □ □ □ □ □ □

; .

Project

Project, . 2.12, Add ; Add Files ; Create Group ; Create Target ; Create Design Check Syntax (Ctrl+;) Precompile ; Compile (Ctrl+F7) ; Disassemble (Ctrl+Shift+F7) Make (F7) ; Stop Build (Ctrl+Break) Remove Object Code (Ctrl+-) —

; □ Re-search for Files □ Reset Project Entry Patch □ Synchronize Modification Date ;

:

; ; ; ;

;

. 2.12. Ɇɟɧɸ Project

;

□ □ □ □

Debug (F5) Run (Ctrl+F5) Set Default Project Set Default Target -

□ □ □ □ □ □ □

: WINSW UDEB WINSW UREL ARMI UDEB ARMI UREL THUMB UDEB THUMB UREL Build All -

; ; ; , ,

2.2.6. □ □ □ □

; ; ARMI; ARMI; THUMB; THUMB; .

Debug

Debug, Break ; Kill (Shift+F5) - « » Restart (Ctrl+Shift+F5) Step Over (F10) -

. 2.13, ; ; ;

□ Step Into (F11), , ; □ Step Out (Shift+Fl 1) ; □ Run to Cursor □ Change Program Counter; □ Set Breakpoint (F9) ; □ Set Eventpoint : □ Set Log Point ; □ Set Script Point □ Set Skip Point ; □ Set Sound Point ;

:

;

;

. 2.13. Ɇɟɧɸ Debug

□ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

Set Trace Collection off Set Trace Collection on Clear Eventpoint Clear Log Point Clear Script Point Clear Skip Point Clear Sound Point Clear Trace Collection off Clear Trace Collection on Set/Clear Breakpoint Enable Breakpoint (Ctrl+F9) Enable Eventpoint Enable Log Point Enable Script Point Enable Skip Point Enable Sound Point Enable Trace Collection off; □ Enable Trace Collection on —

; . : Log Point; ; ; ; ; ; ; ; : ; ; ; ;

. Q Disable Eventpoint — □ Disable Log Point □ Disable Script Point □ Disable Skip Point □ Disable Sound Point □ Disable Trace Collection off ; □ Disable Trace Collection on — . □ Clear All Breakpoint □ Hide Breakpoints ; □ Set/Clear Watchpoint □ Enable/Disable Watchpoint Watchpoint; □ Clear All Watchpoint □ Break on C++ Exception □ Break on Java Exceptions □ Attach to Process ; □ Connect ; □ Symbian Device Symbian OS; □ Target Server .

2.2.7.

: ; ; ; ;

; Watchpoint; Watchpoint; C++; Java;

Window Window, : □ Close (Ctrl+W) -

. 2.14, ;

□ Close All Editors Document (Ctrl+Shift+W) ; Q Cascade — □ Tile Horizontally □ Tile Vertically -

2.2.8.

; ; .

Help

Help, □ CodeWarrior Help — □ Index □ Search —

. 2.15,

: Metrowerks CodeWarrior; Metrowerks CodeWarrior

; Metrowerks CodeWarrior

; □ Symbian Release Note CodeWarrior for Symbian OS Personal 2.8; □ Licensee Authorization □ Metrowerks Website □ About Metrowerks CodeWarrior -

Metrowerks ; Metrowerks;

Metrowerks CodeWarrior for Symbian OS Personal 2.8.

. 2.14. Ɇɟɧɸ Window

. 2.15. Ɇɟɧɸ Help

2.2.9. Metrowerks CodeWarrior , . , .

. 2.16. ɉɚɧɟɥɶ ɢɧɫɬɪɭɦɟɧɬɨɜ Metrowerks CodeWarrior

, , . 2.16

Metrowerks □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

CodeWarrior.

. New Text File ; New — ; Open ; Save — ; Undo ; Redo ; Cut ; ; Paste ; Find — ; Find Next ; Replace Selection Compile ; Make ; Stop Build — ; Debug ; Errors and Warnings Preferences Metrowerks CodeWarrior; WINSW UDEB Settings -

2.2.10.

;

; .

Workspace

Metrowerks CodeWarrior, Workspace ( ), . . 2.17 Workspace Demamcp. Workspace : Files ( ), Link Orders ( ) Target ( ), . Files Workspace Source ( ) Libraries ( Source , . , . Source, Workspace . Libraries . , Files Workspace, , , , . ,

,

).

. 2.17. Ɉɤɧɨ Workspace

,

,

. 2.18, .

Files

,

-

Workspace

.

, . . 2.17, HELLOWORLDPLUSAPPUI.cpp, Source, . Link Orders Workspace ( ) . . , . , , Target

, Files, Workspace .

Workspace (

.

. 2.17).

: □ WINSW UDEB Settings □ Synchronize Modification Date ;

;

□ □ □ □

Make Debug ; Run Project Inspector -

; ; . Workspace .

,

-

.

, .

Workspace: □ Open in Windows ExplorerExplorer; □ Check Syntax — □ Preprocess ; □ Compile ; □ Compile If Dirty ; □ Disassemble □ Add Files ; □ Create Group □ Remove .

. 2.18. Ʉɨɧɬɟɤɫɬɧɨɟ ɦɟɧɸ ɬɚɛɥɢɰɵ ɧɚ ɜɤɥɚɞɤɟ Files ɨɤɧɚ Workspace

Windows ;

, ; ;

2.2.11. , Metrowerks CodeWarrior . C++, Java

. 2.19,

. .

, .

Preferences => Editor, ,

,

Edit => , -

, . , .

-

. □ □ □ □

, Header Files Functions ; Markers ; Document Settings -

( ;

;

.

. 2.19):

. 2.19. Ɍɟɤɫɬɨɜɵɣ ɪɟɞɚɤɬɨɪ Metrowerks CodeWarrior

□ Version Control -

. , -

,

Edit ,

. Metrowerks CodeWarrior □ □ □ □ □ □ □ □ □ □ □ □ □

: Redo ; Undo ; Paste ; Find and Open File Compile Preprocess Disassemble Set Breakpoint Set Eventpoint ; Set Log Point Set Script Point Set Skip Point Set Sound Point -

; ; ; ; ; , ; ; ; ;

□ Set Trace Collection off □ Set Trace Collection on □ Set Software Breakpoint -

; ; . Status Bar (

) ,

-

. .

Metrowerks CodeWarrior .

2.3.

Metrowerks CodeWarrior

Metrowerks CodeWarrior , Metrowerks CodeWarrior, References IDE Preferences,

. Edit => Preferences. . 2.20.

. 2.20. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ IDE Preferences

IDE Preferences IDE Preferences Panels, , . : General ( Debugger ( ).

. ), Editor ( ,

Metrowerks CodeWarrior. □ Factory Setting □ Revert ; □ Import Panel -

)

IDE Preferences : ;

XML;

□ □ □ □

Export Panel OK Cancel ; Apply -

XML; ; . IDE Preferences ,

Panels, . ,

,

2.3.1.

.

General

General Metro-werks CodeWarrior

, IDE Preferences.

Build Settings Build Settings ( Build Settings,

) . 2.20, .



Settings ( ) Build before running

General, Build Settings . :

. ), Ask (

: Always (

)

Never ( ); □ Save open files before build □ □

; Show message after building up-to-date project ; Compiler thread stack ( ); Use Local Project Data Storage ( ), Build Settings, Use Local Project Data Storage

, .

Choose (

) .

Project Data Storage .

Use Local

,

Concurrent Compiles Concurrent Compiles (

) .

Use Concurrent Compiles, Recommended ( -

)

User specified (

).

-

Recommended ,

, .

User specified User specified

(up-down control) .

IDE Extras IDE Extras (

IDE),

И

. 2.21, Metrowerks Code-Warrior.

. 2.21. ɉɚɧɟɥɶ IDE Extras

IDE Extras Third Party Editor ( Menu □ Menu bar layout □ Recent projects □

Recent symbolic



Recent documents



Recent workspace

)

: Menu ( ), Use Other Settings ( ). : Windows Macintosh; , ; , ; , ; , Workspace.

, Party Editor,

.

Use Third Party Editor,

Launch

Editor (

)

).

Launch Editor w/Line # ( Use Third Party Editor, . , Other Settings, IDE Extras,

: □ Use Multiple Document Interface □ Show Code and Date Size □ Use default workspace -

, ; ; Workspace.

Plugin Settings Plugin Setting (

),

.

2.22, Metrowerks CodeWarrior.

И

. 2.22. ɉɚɧɟɥɶ Plugin Setting

: Plugin Other Settings ( Plugin Diagnostic Level : ), Errors Only ( ) All Info ( ). Other Settings Disable third party COM Plugins ( ), Metrowerks CodeWarrior , . Plugin Setting

Diagnostic ( ). ( ) None (He

)

Shielded Folder Shielded Folder (

),

. 2.23, .

. 2.23. ɉɚɧɟɥɶ Shielded Folder

Shielded Folder Shielded Folder List, Metrowerks CodeWarrior. Shielded Folder List, )

. : Project operations ( compare operations (

, Regular Expression ( , Shielded Folder ) Find and ), ,

Shielded Shielded Folder,

Folder

, CodeWarrior, Change)

( (Remove)

List. Metrowerks (

Add), .

Source Trees Source Trees ( IDE Preferences,

) . 2.24, Metrowerks CodeWarrior (SDK). Source Trees

SDK SDK

Metrowerks

CodeWarrior. , Source Trees Information (

),

SDK,

.

, SDK.

Remove

Name

,

Choose, Add, Change SDK.

. 2.24. ɉɚɧɟɥɶ Source Trees

2.3.2.

Editor Editor (

)

, , IDE Preferences

Metrowerks CodeWarrior. , . Editor , .

Code Completion Code completion (

),

.

. 2.25. ɉɚɧɟɥɶ Code completion

. 2.25,

, .

Code

completion: □ Automatic Invocation completion ; □ Display deprecated items ; □ Case sensitive

Code

;



,

Code Completion Delay (ticks) Code completion.

Code Formatting Code Formatting . 2.26, . C++ Java,

(

), ,

.

И

Code Formatting:



Use Automatic Code Formatting — Code Formatting;

□ □ □

. 2.26. ɉɚɧɟɥɶ Code Formatting

Language Settings C++

Java; Format braces ; Place opening brace on separate line ;



Indent braces -



; Place "else" on same line as closing brace



else, ;

□ □

; Indent code within braces Indent "case" within "switch" statement -

case

switch; Close braces, brackets, and parentheses .

Editor Setting Editor Setting (

) . , Editor Setting ), Contextual Menus ), . Editor Setting

, . (

)

: Remember ( Other Settings (

. 2.27.

И

□ Font preferences -

. 2.27. ɉɚɧɟɥɶ Editor Setting

:

Remember ;

position position and size Contextual Metrowerks CodeWarrior. :

Selection ; L) Window

. Menus, Contextual Menus



Edit Commands -



(Edit); Project Commands



(Project); VCS Commands (Version Control System); Browser Commands

□ □

(Browser); Insert Template Commands



; Debugger Commands (Debug). , Other Settings,

Editor

Setting, □

,

: Balance while typing -



while; Relaxed



; Left margin click selects line -



; Enable Virtual Space -

□ □

popup parsing -

; Use multiple undo ; Drag and drop editing -

drag-and-drop; Sort function popup ; □ Balance Flash Delay □



1/60 ;

Default file format -

.

Font and Tabs Font & Tabs (

) .



Font & Tabs. Font & Tabs Font settings ( ), Size ( ) Script ( , . Tab settings (

. 2.28 .

) ).

: Font

) .

Font & Tabs, :

. 2.28. ɉɚɧɟɥɶ Font & Tabs

□ Tab indents selection Tab □ Auto Indent -

;

□ Tab Inserts Spaces -

Enter

;

Tab; □ Tab Size

.

Text Color Text Color (

)

,

. , ,

,

.

,

. 2.29

, , Text Color. Text .

Color

, . . , Color (

)

И . 2.29. ɉɚɧɟɥɶ Text Color

.

-

Color, , Metrowerks CodeWarrior.

2.3.3.

Debugger Debugger ( ) Metrowerks CodeWarrior Debugger , .

Preferences, .

IDE

Debugger.

Display Settings Display Settings (

),

. 2.30,

, ,

.

. 2.30. ɉɚɧɟɥɶ Display Settings

,

Display Settings .

( (

), ). , .

Default Settings (

Color Settings : Variable values change ) Watchpoint indicator ( Text Color, . Color . Display Settings Variable ). :

□ Show variable types □ Show all locals □ Show values as decimal instead of hex —

; ;

; □ Show variable location □ Smart variable formatting Other Settings (

; . ) :



Sort functions by method name in symbolics window -

; Attempt to show the dynamic runtime type of objects dynamic runtime ; □ Show threads in separate windows ; □ Show process in separate windows ; □ Show variable values in source code □

; Default size for unbounded arrays -

□ .

Window Settings Window

Settings

.

(

) Window Settings

.

:

□ Do nothing ; □ Hide non-debugging Windows ; □ Minimize non-debugging windows -

, ,

; □ Close non-debugging Windows ; □ Do nothing to project windows .

,

Global Settings Global Settings ( ), . 2.31, . , , , . Global Settings IDE Preferences . Cache Edited Files Between Debug Sessions ) Maintain files in cache ). , / Purge cache ( )

( , ( .

Other Settings (

) :

. 2.31. ɉɚɧɟɥɶ Global Settings

□ Confirm invalid file modification dates when debugging ; □ Automatically launch applications when SYM file opened SYM ; LJ Confirm "Kill Process" when closing or quitting — ; □ Select stack crawl window when task is stopped ; □ Don't step into runtime support code runtime ; □ Auto Target Libraries -

.

2.4. Metrowerks CodeWarrior for Symbian OS Personal (SDK), Symbian.

2.8 SDK ,

Metrowerks CodeWarrior, , . 4

,

SDK

SDK, .

Metrowerks CodeWarrior for Symbian OS

Personal 2.8 ,

SDK. ,

. Metrowerks CodeWarrior, => Metrowerks CodeWarrior => CodeWarrior for Symbian Personal v2.8.3 => CodeWarrior

IDE.

Metrowerks CodeWarrior File => New (Ctrl+Shift+N),

- ' New

.

2.32.

. 2.32. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ New

New : Empty Project ( Stationary Wizard ( .

. )-

Sym-bian Symbian) -

, Wizard. Project Name ( Project Name

New, ), Location ( , Location .

Metrowerks CodeWarrior

)

. Symbian Stationary : Project ( ). , , ,

SDK, , .

Project , .

,

, Demo,

( SDK

New. Symbian Stationary Wizard — SDK Selection, . 2.33. : Vendor ) SDK. Vendor , . , , SDK SDK . Demo, SDK Nokia 60.

Symbian Stationary Wizard - SDK Selection . Symbian Stationary Wizard - Stationary Selection .

-

, ,

Hello World.

Hello World (

).

Workspace Source ( ) Libraries ( ). , . Source Libraries Workspace, .

. 2.33. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Symbian Stationary Wizard - SDK Selection

, . Source, , , , Workspace, . ,

. □ □ □ □ □

, C:\Symbian\Code\Demo. : ; ; ;

, Demo_Data group inc sis src -

PKG

SIS; .

Demo Metrowerks CodeWarrior,

,

. . Workspace, .

2.5. Metrowerks CodeWarrior , -

-

*.mmp (Makmake project). , , Metrowerks Code Warrior . Metrowerks CodeWarrior File => Import Project From .mmp File. Symbian Importer - SDK Selection, . 2.34. , , SDK, . Symbian Importer - MMP File Selection, . 2.35. : File Selection ( *mmp) Platform Selection ( ). File Selection , Metrowerks CodeWarrior, Browse, File Selection. \group , , HelloWorld.mmp. Platform Selection , . Symbian Importer — File Selection. , . : □ WINSCW Windows ;

□ ARM4 - 32-

,

ARM

. ,

ARM4 ,

ARM4

ARMI.

THUMB, , ROM

;

. 2.34. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Symbian Importer - SDK Selection

. 2.35. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Symbian Importer - MMP File Selection

□ ARMI - 32ARM , THUMB.

, . ARM4, ARMI ARM4

,

THUMB,

,

ROM □ THUMB - 16ARM

.

; , .

,

THUMB

ARMI. THUMB ROM ;

ARMI, □ Build All Platform Selection

, . ,

.

WINSCW THUMB ARMI

, Sony Ericsson ,

.

Symbian Importer Create Files in Default ROOT Directory, . Warrior .

File Selection ,

Metrowerks Code

2.6. ,

, .

-

,

, .

,

, .

Errors ,

, .

. 2.36

Errors. , WINSCW, ARM4, ARMI,

. THUMB, ,

WINSCW. ,

ARM4, ARMI, THUMB . UDEB ( UREL (

: , WINSW UDEB) , WINSW UREL). Project => Set Default Target Workspace.

. 2.36. Ɉɤɧɨ Errors ɢ ɬɟɤɫɬɨɜɵɣ ɪɟɞɚɤɬɨɪ

WINSCW, Project => Compile (Ctrl+F7), . Workspace Source Compile. Workspace

, . . Project => Make (F7) Metrowerks

, Make Make

CodeWarrior. Workspace.

, Make. ,

, .

Run, Metrowerks CodeWarrior. ject => Run (Ctrl+F5).

Workspace Pro, .

, .

2.7. ARMI UREL , .

THUMB UREL,

— SIS (Symbian Installation Symbian OS.

System). Metrowerks Code-Warrior

ARM4, ARMI CodeWarrior. Workspace UREL , . => Set Default Target.

THUMB, Metrowerks ARMI

, ARMI, Project Workspace Source, Add Files (

). ),

Select files to add ( PKG. .

PKG SIS

, \sis

,

\group, Files (

.

Add

),

. 2.37,

,

. ,

Add Files ARMI UREL ( . 2.37),

.

PKG, SIS.

PKG

, 7.

SIS-

,

7. Edit =*

ARMI UREL Setting (Alt+F7) Metrowerks ARMI

CodeWarrior UREL Setting. , . 2.38.

ARMI UREL Setting . Target Setting Panels -

. 2.37. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Add Files

. 2.38. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ ARMI UREL Setting

,

(

Target Setting, Post-Linker ). . 2.39 None. ,

. Target Setting Panels, . ARMI UREL Setting . 2.38. Symbian Installer Apply File Mappings, Target Setting Panels. File Mappings. Edit Language File Mappings, Text *.pkg, Flags. -

Ɋɢɫ. 2.39. ɉɚɧɟɥɶ File Mappings

,

Ignored

by make ( Apply.

) PKG .

File Mappings ,

SIS

Installation Output File Name Apply

7. BuilderX Mobile Studio.

! ARMIUREL Setting.

. ARMI UREL. Demo, ,

Symbian

, PKG. C++

3. IDE C++ BuilderX Mobile Studio Borland , . trial-

, .

http://www.borland.com ,

C++ BuilderX Mobile Studio, Symbian OS. Borland, C++ BuilderX Mobile Studio (600 ) . , C++ BuilderX Mobile Studio , . Mobile Studio , : □ JBuilderX Mobile Edition; □ C++ BuilderX 1.5 Mobile Edition. JBuilderX Mobile Edition JavaSymbian OS , . , . C++ BuilderX 1.5 Mobile Edition C++ Symbian OS. Borland C++ BuilderX 1.0, 1.5. C++ BuilderX 1.5 (SDK), 4 , . C++ BuilderX 1.0, , . SDK, , C++ BuilderX. Java ++. , . , . C++ BuilderX . C++ BuilderX Mobile Studio. , Java 2 Runtime, C++ BuilderX Mobile Studio.

3.1. Studio

IDE C++ BuilderX Mobile

1. Studio, Mobile_Studio trial 2.5.

trialZIP-

C++ BuilderX Mobile .

Launcher_windows, C++ Borland

BuilderX Mobile Studio. Mobile Studio Install,

. 3.1, Complete Trial Install Borland (

. ,

C++).

Mobile Studio C++ BuilderX Mobile Edition Trial J BuilderX Mobile Edition Trial. Complete Trial Install, Borland Mobile Studio Install, Complete Trial Install.

. 3.1. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Borland Mobile Studio Install

2.

Complete Trial Install,

. 3.2,

. ,

Borland Mobile Studio, . 3. Mobile Edition Trial.

Install : C++ BuilderX 1.5 Next . ,

, Next.

Java

Choose Install Set, . 3.3, , Next. 4. Choose

Install

Folder

C++ BuilderX 1.5 Mobile Edition . . 3.2. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Complete Trial Install

,

, , Symbian OS,

, SDK, cpe-

. 3.3. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Choose Install Set

. . Edition Trial. 5.

Next, C++ BuilderX 1.5 Mobile Edition JBuilderX Mobile

JBuilderX Mobile Edition Trial

. . 3.4, JBuilderX Mobile Edition Trial. JBuilderX Mobile Edition Trial ,

Pre-Installation Summary,

. 3.4. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Pre-lnstallation Summary

, Mobile Studio C++ BuilderX JBuilderX. C++ BuilderX

.

-

JBuilderX ,

.

C++ BuilderX, .

3.2.

C++ BuilderX C++ BuilderX — Symbian

OS.

, ,

C++ BuilderX . 3.5

, -

! C++ BuilderX Demo. Demo C++ BuilderX, Demo, Metrowerks Code Warrior, , . , GUISymbian OS, 7. C++ BuilderX , , => => Borland C++BuilderX => C++ BuilderX. C++ BuilderX , View. C++ BuilderX

. 3.5. ɋɪɟɞɚ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ C++ BuilderX

Project (

).

C++ BuilderX .

Project C++ BuilderX Metrowerks CodeWarrior Visual

Workspace Studio, .

C++ BuilderX ( ), Search ( ), View ( ( ), Team ( ), Wizards ( Window ( ) Help ( ).

: File ( ), Project ( ), Tool ( .

C++ BuilderX.

3.2.1.

File . 3.6,

File, , □ □ □ □

, New (Ctrl-N) ; New File Open Project Open File (Ctrl-O) -

, : ; ; ;

), Edit ), Run ), ,

□ Reopen , □ Compare Files ; □ Close Project □ Close File (Ctrl-F4) ; □ Close All Except —

Print — Exit -

3.2.2.

;

...; □ Close (Ctrl+Shift-F4) □ Close All (Ctrl+Alt-F4) ; Q Revert ; □ Save Project □ Save Project As ; □ Save (Ctrl-S) ; □ Save As ; Save Copy □ Save All (Ctrl+Shift-A) ; □ Rename ; □ Page Layout ;

. 3.6. Ʉɨɦɚɧɞɵ ɦɟɧɸ File

□ □

;

; .

;

;

;

Edit . 3.7,

Edit,

. , □ □ □ □ □ □ □

. Undo (Ctrl-Z) Redo (Ctrl+Shift-Z) Cut (Ctrl-X) Copy (Ctrl-C) Paste (Ctrl-V) Delete — ; Format All -

; ; ;

□ Select All (Ctrl-A) □ Sync Edit (Ctrl+Shift-J) -

; ; ; ; .

. 3.7. Ɇɟɧɸ Edit

3.2.3.

Search

Search ,

, Search : □ Find (Ctrl-F) ; □ Find in Patch (Ctrl-P) □ Replace (Ctrl-R) □ Replace in Patch Search Again (F3) □ Incremental Search (Ctrl-E) □ Go to Line (Ctrl-G) □ Go to Address (Ctrl+Shift-G) □ Find Classes (Ctrl-Minus) -

3.2.4.

. ; ; ; ; ; ; ; .

View ,

View

C++ BuilderX, : Toolbars -

G □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □ □

C++ BuilderX: File Editing — Search Build —

; ; ; , ;

Platform Configuration — Run/Debug Navigation Help — Show All ; Hide All . Project (Ctrl+Alt-P) Content (Ctrl+Alt-C) Structure (Ctrl+Alt-S) Messages (Ctrl+Alt-M) Status Bar ; Switch Viewer to History — Context Menu (Ctrl-F10) Remove All Message Tabs Hide All (Ctrl+Alt-Z) History ; Back (Ctrl+Alt-Left) ;

; ; ; щ ;

;

; ; ; ; ; ; ;

□ Forward (Ctrl+Alt-Right) □ Breakpoints (Ctrl+Alt-B) □ CPU View (Ctrl+Alt-U) ; □ Debug Event Log -

3.2.5.

; ; .

Project

Project

,

□ Make Project (Ctrl-F9) □ Rebuild Project Q Link Project □ Make (Ctrl+Shift-F9) Q Rebuild □ Make Project Group □ Rebuild Project Group ; □ Link Project Group — □ Add Files ; □ New Folders ; □ New Directory View □ Remove from Project □ Refresh — ; □ Rename ; □ Project Properties □ Default Project Properties ; □ Project Group Properties -

3.2.5.

: ; ; ; ; ; ; ; ; ; ; .

Run ,

Run

,

, Run: □ Run Project (F9) □ Debug Project (Shift-F9) □ Configurations — □ Run to Cursor (F4) □ Pause Program ; □ Resume Program ; □ Reset Program (Ctrl-F2) □ Inspect (Alt-F5) — ; □ Add Breakpoint □ Add Line Breakpoint □ Add Data Breakpoint G Add Address Breakpoint -

; ; ; ; ; ,

: ; ; .

3.2.6.

Team

Team : □ Select Project VCS □ Configure Version Control □ Update ; LJ Commit ; □ File Status ; □ Add ; CJ Remove ; □ Update Project □ Commit Browser □ Place Project into CVS □ Create Local Repository □ Sync Project Settings □ CVS Administration -

3.2.7.

□ □ □ □ □ □ □ □ □

;

; ; CVS; ; ; .

; ; .

Tools : C++ BuilderX;

IDE Options — Editor Options Configure File Associations — Build Tools Exported Settings Group Symbian SDK Configuration Rest GDB GDB; Reload Toolset Configure Tools -

3.2.9. □ □ □ □

VCS;

Wizards

, : □ New Build Configuration — □ Target Settings □ Build Options -

3.2.8.

,

: ; ; ; SDK; ; .

Window

Window New Browser Minimize Browsers Restore Browsers Cascade Browsers -

C++ BuilderX: ; ; ; ;

□ □ □ □

Tile Browsers Vertically Tile Browsers Horizontally Select Browser Select Message -

3.2.10.

; ; ; .

Help

C++ BuilderX: □ Help Topics ; □ C++ BuilderX Home Page □ Release Notes □ About C++ BuilderX -

Borland; C++ BuilderX; C++ BuilderX.

3.2.11. C++ .

. 3.8,

BuilderX,

. C++ BuilderX: Q New ; □ Open File ; □ Reopen ; □ Close ; □ Save ; Save All ; □ Print ; □ Undo ; Redo ; □ ; □ Paste ; □ Cut ; □ Find ; □ Search Again ; □ Replace ; □ Find Classes ; □ Make Project □ □ D Messages ;

И

. 3.8. ɉɚɧɟɥɶ ɢɧɫɬɪɭɦɟɧɬɨɜ C++ BuilderX

; ; ;

□ □ □ □ □ □

Run Project Debug Project Go To — ; Back ; Forward ; Help Topics .

3.2.12. Project ( . 3.9, Project ( Project ( Project.

; ;

Project )

C++ BuilderX,

), Refresh ( ),

)

. : Close Project Select and Open

Project : Project Content ( ), File Browser ( Class Browser ( Project Content , , AIF( ). Browser , Class Browser

) ).

File . ,

Class browsing disabled for active project Class Browser. , Properties ( ), Project Properties, . 3.10. Enable C++ Class Browsing ( . 3.10) . Class Browser SDK. . 3.9. ɉɚɧɟɥɶ Project

-

. 3.10. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Project Properties

.

.

3.3.

SDK C++ BuilderX 1.5 Mobile Edition

60

SDK

90, UIQ2.1.

C++ BuilderX 1.5 Mobile Edition C++ BuilderX Tools => Symbian SDK Configuration. SDK Configuration ( . 3.11). Current SDK Configuration ( SDK) C++ BuilderX . SDK Configuration . Add ( ) SDK C++ BuilderX, Remove ( ) SDK, Edit ( ) SDK. Close ( ) SDK Configuration Help ( ) C++ BuilderX. SDK Add SDK Configuration. Add SDK Configuration, . 3.11. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ SDK Configuration . 3.12. 1.0,

. 3.12. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Add SDK Configuration

SDK Path ( Configuration SDK. Name (

SDK)

Add SDK

, SDK Template (

SDK) SDK, SDK Description. SDK

SDK) . SDK

C++

BuilderX.

3.4. Gallery,

C++ BuilderX Object Mobile C++

File => New. . 3.13. ,

. □ Import Symbian C++ Project C++ BuilderX;

. 3.13. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Object Gallery ɜɤɥɚɞɤɚ Mobile C++

□ New Symbian GUI Application GUI; □ New Symbian Empty Project □ New Symbian DLL DLL: □ New Symbian C++ File -

;

*. ; □ New Symbian .H File *.h; □ New Symbian Resource File □ New Symbian AIF Wizard AIF.

;

New Symbian GUI Application, GUI- ( New Symbian GUI

) , Wizard - Step 1 of 2,

.

. . 3.14.

. 3.14. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ New Symbian GUI App Wizard - Step 1 of 2

New Symbian GUI App Wizard - Step 1 of 2 . Project Name ( ) , Demo. Project Directory ( ) . , SDK , . SDK , , 60. Platform ( ) , WINS W, ARMI THUMB. Build

: UDEB ( ) UREL ( Next . New Symbian GUI App Wizard - Step 2 of 2, . 3.15.

).

. 3.15. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ New Symbian GUI App Wizard - Step 2 of 2

Target Name UID3 Project

New Symbian GUI App Wizard - Step 2 of 2 _ .ext. , 7. Finish. Project Content Demo.

3.5. , File => New Gallery . Project Wizard -Step 1 of 2, Step

1

of

Code Warrior. 2 SDK

, Object Import Symbian C++ Project, Import Symbian C++ . 3.16. Demo, Import Symbian C++ Project Wizard .

UDEB

bld.inf . WINSCW, ARMI UREL.

Bld.inf ,

Platform THUMB.

,

\group ,

Build Contents of bld.inf file

. 3.16. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Import Symbian C++ Project Wizard - Step 1 of 2

C++ BuilderX, Next. Import Symbian C++ Project Wizard - Step 2 Project file name, Finish, C++ BuilderX.

of 2, , ,

.

3.6. C++ BuilderX

Project => Ctrl-F9.

Make

Project .

Build Progress Build, C++ BuilderX .

, . 3.17. Build,

Build, .

,

SDK,

Run => Run Project Build , . ,

SDK .

F9. Progress,

. 3.17. ɇɚɣɞɟɧɧɵɟ ɨɲɢɛɤɢ ɜ ɩɪɨɰɟɫɫɟ ɤɨɦɩɢɥɹɰɢɢ ɩɪɨɟɤɬɚ

3.7. ,

SIS. WINSCW ( UDEB (

ARMI

) )

UREL. . Properties Platform Project => Make Project. *.sis, BuilderX ,

Build

Project => Project Symbian Settings, . C++ Package File. -

Project 7,

SIS

C++ BuilderX.

4. Symbian OS (SDK) . -

, .

(

, SDK UIQ2.1 «

SDK SDK 206 )

»

-

. -

, ,

,

,

, Symbian OS, SDK UIQ,

SDK.

.

,

Symbian

Ltd. UIQ

Technology AB.

UIQ 208 Nokia 60,

.

320

. 176

Nokia 200 640

80 .

208

90,

, .

, -UIQ

60,

. UIQ Ari-ma, 60 Samsung, Lenovo. ActivePerl, www.activeperl.com.

Sony Ericsson, Motorola, BenQ, Nokia, Siemens, Sendo X, Panasonic, SDK : Java Runtime 1.3.1, SISAR,

*.sis

,

. , JavaSoft Builder. ,

AIF Builder, Java Runtime Java Runtime 1.3.1 , Program Files SISAR AIF Java Runtime 1.3.1 ActivePerl SDK

. SDK ,

. Java 2 Micro

« Edition»

: . Java 2 SDK,

-

, Java Runtime,

-

, , SDK.

,

.

4.1. Sony Ericsson Sony Ericsson

Symbian

OS .

Sony Ericsson

UIQ, 208

.

320

Sony Ericsson

. 4.1. ɋɚɣɬ ɤɨɦɩɚɧɢɢ Sony Ericsson

,

, , Sony Ericsson , SDK Symbian OS

. ,

Java 2 ME. Sony Ericsson SDK

UIQ ,

UIQ. UIQ : UIQ 2.0 ( Sony Ericsson P800) UIQ 2.1 ( Sony Ericsson P900 ). UIQ2.0 Symbian OS 6.1 CLDC 1.0/MIDP 1.0 ( Java 2 ME ), UIQ 2.1 Symbian OS 7.0 CLDC 1.0/ MIDP 2.0. , . (SDK) Sony Ericsson, UIQ, , Metrowerks CodeWarrior (UIQ WINSCW) C++ BuilderX Mobile Studio (UIQ WINS). , , . , Nokia 3, Borland , C++ BuilderX SDK, , Metrowerks CodeWarrior. UIQ2.1 \Sony Ericsson. UIQ 2.1 . : http://developer.sonyericsson.com SDK.

4.1.1.

SDK SDK

Sony Ericsson

SDK

:

.

,

SDK. UIQ

, ,

. UIQ.

1. Location,

Choose Destination . 4.2,

SDK. SDK).

C:\Symbian\UIQ_21 ( C:\Symbian\UIQ_21\

. 2.

SDK . . 4.3 -

Select Components.

, 32\

. 4.2. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Choose Destination Location

. 4.3. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Select Components

, Symbian OS Kit Installer, Java Runtime Environment Java Runtime, SDK. 3. Java Runtime Location, . 4.4, C:\Program Files\JavaSoft\JRE\1.3.1 , 4.

SISAR

Perl. Choose Destination AIF Builder. ,

Perl ,

.

4.5. Perl C++ BuilderX,

.

. 4.4. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Choose Destination Location Java Runtime

. 4.5. ɍɫɬɚɧɨɜɤɚ Perl

5. OS Kit Installer. . 4.6. . □ UIQ 2.1 Emulator only UIQ; □ UIQ 2.1 C++ SDK □ UIQ 2.1 Java SDKJava 2 ME; □ UIQ 2.1 MIDP SDK ; □ Documentation -

Symbian : SDK SDK

C++; MIDP

Java 2 ME

SDK. He

, .

-

. 4.6. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Symbian OS Kit Installer

\Sony Ericsson , ; □ Example project UIQ. 6. SDK , . \Sony Ericsson ZIPuiq21_updatel_winscw. , C:\Symbian\UIQ_21. Documentation Windows Documentation. uiq21_updatel_winscw C:\Symbian\UIQ_21.

4.1.2. Э

,

-

Sony Ericsson SDK

Ericsson.

-

Metrowerks CodeWarrior . C++ BuilderX 1.5 Mobile Edition , , => Symbian SDK Configuration. UIQ 2.0

Sony SDK SDK, Tools

, . (

,

C:\Symbian\ UIQ_21\epoc32\data epoc.bmp epoc.ini. epocl.bmp, epocl.ini)

. 4.7. ɗɦɭɥɹɬɨɪ ɬɟɥɟɮɨɧɚ ɞɥɹ ɩɥɚɬɮɨɪɦɵ UIQ 2.1

epoc.bmp .

StandardQ.bmp epoc.ini, ,

StandardQ.ini. C:\Symbian\UIQ_21\P900 Emulator Bitmap Sony Ericsson P900. .

\Sony Ericsson Sony Ericsson P800,

.

-

, . 4.8

Sony

4.2. Nokia Nokia

, .

Nokia □ □ □

Sym-bian OS

, http://www.forum.nokia.com , Java 2 ME. Symbian OS

: 60 80 90 -

176 200 320

208 640 640

; ; .

. 4.8. ɗɦɭɥɹɬɨɪɵ ɬɟɥɟɮɨɧɨɜ Sony Ericsson P900 ɢ Sony Ericsson P800

80

90

,

-

. Nokia 6,5

Gage QD

60.

,

Nokia N-

, , . N-Gage,

, ,

SDK N-Gage. , SDK N-Gage . , SymbianOS6.1 , . SDK

-

,

SDK , N-Gage N-Gage QD Sym-bian OS 7.0, , N-Gage, SDK

.

. 60, (

N-Gage)

Doom

Pandemonium 60

!

4.2.1.

60

60. Samsung, Lenovo,

,

Nokia, Siemens, Sendo X, Panasonic, , , . 60 60 0.9 (1.0, 1.2, 2.0, 2.1) , Nokia 60 2.8, Symbian OS 8.0. 2.8 Nokia . 60 — 60 1.2 60 2.1. 60 2.1. 60 1.2 Symbian OS 6.1, 60 2.1 Symbian OS 7.0 (7.0s). 60 2.1 : Met-rowerks CodeWarrior (WINSCW) C++ BuilderX (WINS). , SDK Microsoft Visual Studio ( 60 1.2 0.9). Borland C++ BuilderX, SDK. SDK 60 , SDK C:\Symbian\6.1 ( 7.0, 7.0s)\Series60. , SDK. 60 Java Runtime Environment Perl, SDK 60! Metrowerks CodeWarrior SDK , C++ BuilderX SDK

SDK, Symbian SDK Configuration

Tools => SDK ( 3.3). , SIS C:\Symbian\7.0s(6.1)\Series60

3 \Epoc32, SIS

.

, . 60

,

4.10,

4.2.2.

SDK . .

80 Nokia

-

,

80. 640

200 QWERTY

,

,

\Nokia

-

Nokia 9210. И

2.

. 4.10. ɗɦɭɥɹɬɨɪ ɫɟɪɢɢ 60

80 ,

,

BuilderX

Visual Studio C++ 6.

1. Location, \Symbian,

SDK .

SDK

80 ,

И

,

C++ , Choose Destination

SDK . 4.11.

. 4.11. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Choose Destination Location ɫɟɪɢɢ 80

2.

SDK ,

Select . 4.12,

Custom Features,

, .

. 4.12. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Select Features ɫɟɪɢɢ 80

3. Network Configuration Setup (

. 4.13), .

, No, SDK .

80 . 4.13. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Network Configuration Setup

4. SDK C++ BuilderX. 80, Series8070s.xml. , C++ BuilderX :\ ++ BuilderX\sdktemplate . C++ BuilderX Tools => Symbian SDK Configurations SDK C++ BuilderX. SDK Add SDK Configurations, . 4.14, SDK Template Series 80 SDK 7.0s (Microsoft version). C++ BuilderX SDK 80 60. 80 . . 4.15 80. SDK C:\Symbian\7.0s\Series80

. 4.15. ɗɦɭɥɹɬɨɪ ɬɟɥɟɮɨɧɚ ɫɟɪɢɢ 80

4.2.3.

90 Nokia, (

).

,

90 320 640

90, 80, Nokia 9500 QWERTY

. \Nokia Metrowerks CodeWarrior. SDK 80. Runtime Environment Perl, -

, SDK Choose Destination Location, C:\Symbian ( . 4.16).

90 90

Java , . SDK

90. 1.

SDK

24000

90

. 4.16. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Choose Destination Location ɫɟɪɢɢ 90

6.

Select Features,

. 4.17, , SDK. ,

.

. 4.17. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Select Features ɫɟɪɢɢ 90

7.

SDK , for Symbian OS Metrowerks Edition,

BuilderX

, Series 901.0 Beta 2 . 4.18, . , Cancel. Metrowerks CodeWarrior 90 , C++

-

. 4.18. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Series 90 1.0 Beta 2 for Symbian OS

, Tools => Symbian SDK Configuration, SDK 90 ( . 3, 3.3). , (

. 4.19).

4.2.4. SISAR SDK

60

90

SISAR ARM I. , => => Series

. 4.19.

90

60 (90) Development Tools => SDK =» Tools => Sisar. , Runtime 3.1.1 JavaSoft ( . 4.1

Java ).

SISAR 4.20.

. File => New Project (Ctrl+N), SISAR, . ,

, .

. 4.20. ɉɪɨɝɪɚɦɦɚ SISAR

□ □ □ □ □ □

: Header; Name; Requisites; Capabilities; Entries; Configuration. PKG, Tools => Import PKG, Choose PKG file to open PKG , Open.

C:\Symbian\7.0s(6.1)\Series60(90)\Epoc32. ARMI, . 4.21 SIS File (Ctrl+B) Configuration . 7.

Configuration , SIS file

. SISAR. Tools => Build SIS,

. 4.21. ȼɤɥɚɞɤɚ Configuration ɩɪɨɝɪɚɦɦɵ SISAR

5.

Symbian OS ,

, :

(

),

,

,

.

-

, ,

. :

, .

,

, -

. . , a Windows XP

Symbian OS

:

.

, , . , ,

,

, .

, Intel ,

Microsoft ,

. ,

,

, . .

. ,

, .

, , . Symbian OS —

-

.

Symbian Ltd. Symbian OS.

Symbian OS . Symbian OS,

.

5.1. .

-

, ,

. ARM (Advanced RISC

Machine), .

ARM RISCARM. ,

,

,

ARM

.

, :

, □ □ □ □ □ □

,

, .

. ARM Intel, Samsung, Motorola, Texas Instruments Inc. ARM :

ARM 4; ARM 5; ARM 6; ARM 7; ARM 9; ARM 10. . ARM 7

32130

RISC

,

(100-200

0,25 . )

220

. /

, , 0,35-0,18 .

, . , .

ARM 7

.

ARM 9, . ARM

□ □

: 32-

; /

32 ;

16

□ □

CMOS

;

;



MMV, ;

□ □

Thumb,

; Java 2 ME

Jazelle ;



(

□ □

);

, USB, SDLC, IrDA

; ARM .

ARM .

5.2. Symbian . C++, Java, ,

, JavaScript, Visual Basic, OPL. Symbian OS Java

-

C++. Java 2 ME C++,

, .

Java 2 ME, ;

Symbian OS, C++

Java , Java

.

, Symbian OS

10. C++. UNIX, Windows

,

Linux,

, . Symbian OS .

, (API).

Symbian OS , , , , , WAP, Bluetooth, IrDA TCP/IP, . Symbian

,

,

, . ,

OS .

Symbian OS

, ,

. . Symbian OS,

,

. -

, , API Symbian OS

.

1, Symbian OS 7.0s. , . , .

Graphics ( ,

)

, . Symbian OS Java 2 ME Symbian OS

, —

,

,

, MFC Windows.

, , , .

5.3. Symbian OS v6.1, v7.0, v7.0s, v8.0, v8.0a. (

, Symbian OS ). : Symbian OS

6.1

7.x

Symbian OS.

. Symbian OS 6.1 7.x. , , , Symbian OS 8

, . .

9

, ,

,

,

,

Symbian OS.

,

Symbian OS 7.0s. , Symbian OS :

,

.

. Symbian OS

, . 5.1, □ Kernel and Hardware Integration — □ Base Services ;

. Symbian OS. ;

□ OS Services ; □ Application Services ; □ UI Frameworks -

□ Java 2 ME Java 2 ME.

;

Symbian OS Java 2 ME.

-

, ,

-

. Java 2 ME 11. .

. 5.1. Ⱥɪɯɢɬɟɤɬɭɪɚ Symbian OS

5.3.1.

И

. 5.2. ɍɪɨɜɟɧɶ Kernel and Hardware Integration

(Kernel and Hardware Integration) , (Kernel Services) ARM

-

. ,

. 5.2.

, .

(Device Driver) □ □ ; □ □ □ □ USB1.1.

: ; ; ; ;

5.3.2. (Base Services)

(

) .

Fileserver (

Symbian OS. : Low Level Libraries ). . 5.3.

Low Level Libraries , :

□ □ □ □ □ □

; ; ;

. 5.3. ɍɪɨɜɟɧɶ Base Services

; ; .

. : □ RAM (Random Access Memory)( ), □ NOR flash; □ NAND flash; □ □ SD-

-

;

; .

5.3.3. ,

,

(OS Services) Symbian OS .

,

, . OS Services .

. 5.4

, OS Services.

. 5.4. ɍɪɨɜɟɧɶ OS Services

(PC Connect Services) ,

(Toolkit) . (Graphics Services) , HAL (Hardware Abstraction Layer -

).

, .

(Comms Services) . , (Networking Services) , USB Bluetooth.

Symbian OS (Telephony), :

□ □ □ □ □

GSM (Phase2+), GPRS (r4, Class ), CDMA 2000 (lx), EDGE (ECSD, EGPRS), WCDMA(r4).

□ □ □ □ □

TCP, IPv4, IPv6, MSCHAPv2; IPSec; TCP/IP; WAP; .

:

: □ IrDA; □ USB; □ Bluetooth. OS Services Generic Services ( : Cryptography Services ( (

)

). , □ DES; Q 3DEC; □ AES; □ RC2; □ RC2-128; □ RC4; □ RC5; □ RSA;, □ DSA; □ DH; □ PKCS#7.

.

:

, (

2D,

), Multimedia

3D). . . Symbian OS OpenGL ES.

.

5.5 2D

. 5.5. ɋɢɫɬɟɦɚ ɦɭɥɶɬɢɦɟɞɢɚ

GDI (Graphics Device Interface Symbian.

) Symbian OS .

5.3.4. (Applications

Services)

, , .

. Symbian OS ,

, ,

:

SMS, ,

. 5.6.

. 5.6. ɍɪɨɜɟɧɶ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɯ ɫɟɪɜɢɫɨɜ

PIM(Personal Information Manager ) . , API (Data Synchronization) SyncML 1.1, / . (Messaging) □ SMS; □ EMS; □ MMS.

:

, Symbian OS. .

POP, SMTP/ , XHTTP,

,

.

WAP, HTTP,

.

5.3.5. (UI Framework) —

,

Symbian OS. Symbian Ltd. - UI Applications Framework (

) .

- UI Toolkit ( ). SDK,

4 .

-

, Symbian OS

. . , -

.

5.4. ,

-

, Symbian OS

. , CD-ROM

, . Symbian OS

,

— .

, , Symbian OS

, ,

. Symbian ROM (Read Only Memory ( )) -

,

.

,

ROM

.

, (

,

) ROM

.

-

Symbian OS

. . 5.7,

-

. 5.7. Ɏɚɣɥɨɜɚɹ ɫɢɫɬɟɦɚ N-Gage

-

N-Gage

60. FileMan 1.01 ,D

SymbianWare. , . Symbian OS Z. , D, Z, G

Z

ROM

.

-

26 .

5.4.1.

! Z-

ROM

,

Symbian OS. ROM

«

» .

5 (

,

Z FileMan

), .

. 5.8, Nokia N-Gage. Z, .

. 5.8. ɋɜɨɣɫɬɜɚ ɞɢɫɤɚ Z

Z , Z .

5.4.2. 4 .

60 Sony Ericsson, Motorola 700 , . ,

. 4

3,4

10

, , ,

.

,

, .

,

, , .

, : .

,

-

, . 5.9. ɋɜɨɣɫɬɜɚ ɞɢɫɤɚ ɋ

. . .

. 5.9

5.4.3. D(RAM - Random Access Memory), . . D .

D

-

5.4.4. . , . ,

,

,

. . .

, , , Symbian OS

, .

.

,

,

. 5.10, System,

. 5.10. ɉɚɩɤɚ System ɧɚ ɫɦɚɪɬɮɨɧɟ Nokia N-Gage

. ,

.

N-Gage

Java-

-

,

. E:\Java.

,

*.jar

*.jad, Java-

JavaJava-

. ( ) . ,

20 Java-

. ,

,

60 Java

-

,

,

.

Java ,

. .

,

, , E:\System\midp. , . ,

Java C++.

C:\System\Install\install.log.

, -

— Bluetooth . ,

Java Java

QD

JAR Java,

N-Gage Bluetooth .

JAD

, . «

,

»,

,

.

,

. Symbian OS

, «

.

»

,

, .

5.4.5. , : « ,

,

. ». Symbian OS . .

,

Symbian OS «

»

,

, .

Symbian OS -

8

, .

Siemens SX1

,

16

. Symbian OS.

,

, , ). 1-3

. ,

3

.

( ,

8-35

.

.

. ,

. , , .

Symbian OS,

. .

, , . , .

,

,

6. Symbian OS .

-

,

, , -

. ,

.

-

,

,

,

,

. -

,

« ,

.

»

, .

,

,

,

? .

, ,

, . «

,

»

.

,

PDF,

14 . ,

, .

Windows ,

-

,

,

. , .

,

,

,

-

, ,

,

, .

,

.

, ,

-

. Symbian Ltd. , .

, ,

.

-

, , «

»

.

6.1. Symbian OS , ,

, , API Symbian OS

, . 1.

,

, .

,

:

. Symbian OS , R, , .

Symbian OS.

D, ,

,

R, .

6.1.1. К CBase. new (ELeave), . (

CBase

). .

6.1.2. К

R

,

R, ,

.

. R . Close ().

6.1.3. К ,

, API Symbian OS. ,

.

. -

, .

6.1.4. К API Symbian OS . ,

, .

,

, .

6.1.5. . Symbian OS .

6.2. Symbian OS

, , .

. Draw () . L (

. : SetCommandHandler (). ,

, APILC, ) Get (

6.2.1.

Set ).

щ Symbian OS (leaving function)

(non-leaving function). . Symbian OS

,

, .

Symbian OS ,

. «

»

, Reset .

, Symbian OS .

Symbian OS, ,

, -

-

.

,

. , Symbian OS , , NewL (), CreateL (), RunL ()

. L,

.

, ,

. , .

щ

6.2.2.

-

,

,

,

,

-

,

.

-

,

, Exit () -

6.2.3.

.

1 . .

LC. ,

-

, .

6.2.4.

Set ,

Set,

, SetPen-

Color (),

, .

, .

,

SetColor () .

6.2.5.

Get ,

Get,

Item (), .

,

, GetCurrent, .

6.3. Symbian OS .

API 6

Symbian OS 7

,

5

Symbian OS.

, API

,

.

, .

6.4. -

Symbian , IMPORT_C.

,

-

: _WINS .

6.5. . Display, ,

d ,

,

Dy.

, , .

,

, .

,

Vibor,

, . Symbian OS

, , EDecember, E

. , January, EFebruary. . .

-

(date members) i

. ,

-

, .

6.6. Symbian OS , .

,

-

e32defs.h. Symbian OS: □ Tint ; □ TUInt □ TInt64 - 64-

3232; ;

□ TI n 18 - 8□ TIntl6 -16□ I nt 3 2 - 32□ TUInt8 - 8; □ TUIntl - 16□ TUInt32 - 32; □ TReal □ TReal32 -32; □ TReal64 - 64; □ TRealX — 9863 ~ ±1 □ TText8 - 8□ TText □ TTextl6- 16□ TChar - 32□ TBool EFalse

; ; ; ; ;

- ±1

10 ~9863

; ; (Unicode) ; ; ; ,

ETrue

.

6.7. . 1. 2.

. (Warnings 0).

3.

, ,

,

.

4. 5. 6.

. ,

. ,

. 7. 8.

,

.

. . 9.

, .

10.

, .

,

11.

, ,

-

.

12.

, ,

.

13.

, .

14.

, ,

(*) : TBar* Stol;

, Symbian OS

15.

.

API

. 16.

, (*.h),

(*.

17. 18. 19. 20.

).

. . . API

. 21. Symbian OS

(

-

), . , .

, .

Symbian OS

, ,

.

-

,

. . Symbian OS

7.1 UIQ

60.

CONE Symbian OS. □ APPARC (Application Architecture -

APPARAC )

; □ CONE (Control Environment -

) .

Uikon Application

(

),

(

Document ).

Uikon . CEikApplication ikDokument CEikAppUi -

□ Q □

Symbian OS, (GUI) ) UI

(

; ; . Uikon

, UIQ

60.

UIQ 60 CEikApplication, CEikDokument, Symbian. ( (

,

CEikAppUi

Uikon UI GUI

) ). .

И

! (UI) ,

,

,

,

, ,

,

, ,

,

-

. (GUI) ,

UI, ,

Windows

, . ,

Windows, ,

. .

Symbian OS, . , Symbian OS (Graphic Device Interface -

GDI ). Symbian OS,

.

UI, GUI ,

GDI ,

,

.

7.1.1.

UIQ UIQ,

UIQ Technology AB Sony Ericsson, Motorola, BenQ, Arima, Symbian OS. , , UIQ, 208 320 . UIQ 60 Qikon, Uikon Symbian. UIQ (Qikon) Uikon, . . 7.1, Uikon Qikon. 7.1. я UIQ (Qikon)

Symbian OS (Uikon)

Symbian OS - Uikon Application CEikApplication Document CEikDocument AppUl ____________ CEikAppUi __________

UIQ - Qikon CQikApplication CQikDocument CQikAppUi __________________

,

-

Qik

UIQ. UIQ,

Qikon,

Uikon. ,

UIQ, (GUI)

7.1.2.

60

60 -

176

208

.

. Avkon. Symbian OS Uikon

60 . 7.2 60 Avkon.

7.2. В 60 (Avkon) Symbian OS - Uikon Application Document App Ul ______

UIQ.

CEikApplication CEikDocument CEikAppUi

Symbian OS (Uikon) 60 - Avkon CAknApplication CAknDocument CAknAppUi ɢ CAknViewAppUi ____

UIQ

60 (Avkon)

Akn .

CAknViewAppUi . 60.

, CAknViewAppUi

UIQ (Qikon), ,

60 (Avkon) 60.

7.2. Windows, -

, (GUI).

, , DOS.

,

-

, . ,

,

GUI Symbian OS

. 2

3

HelloWorld , ,

Metrowerks CodeWarrior

C++ BuilderX Mobile Edition, .

, . Symbian OS. . Application

(

), )

7.2.1. К

Document ( view (

),

UI

(

).

Application

Application

,

-

.

UIQ

(UID3). Uikon 60

Application Application

Document . CEikApplication, CQikApplication CAknApplication, CEikApplication.

7.2.2. К

Document

Document , . CEikDokument,

UIQ, (Qikon) CAknDokument.

60 (Avkon)

7.2.3. К

Document UI. Uikon CQikDokument.

UI Document,

UI ,

UI

view.

CQikAppUi,

60

7.2.4. К

Symbian OS CEikAppUi, CAvkAppUi.

. Uikon UIQ-

View View

, , .

view

60

,

.

, ,

, ,

,

,

. , , , ,

GUI

), GUI-

2 3. Symbian OS, ( .

Symbian

OS,

, .

. 7.2

. ,

, ,

,

. . 7.2, ,

C++

,

. 7.2. Ⱥɪɯɢɬɟɤɬɭɪɚ ɩɪɢɥɨɠɟɧɢɹ

-

,

-

.

7.3. . UIQ

60.

60, ,

GUI . , Application, Document,

Ui View. Metrowerks CodeWarrior ,

C++ BuilderX Mobile Edition, GUI. Test, 60. Test

\Code\Test Symbian OS. Test CTestAppUi, CTestAppView, .

. 7.3,

CTestApplication, CTestDocument Avkon CCoeControl. ,

GUI-

-

. 7.3. ȼɡɚɢɦɨɞɟɣɫɬɜɢɟ ɤɥɚɫɫɨɜ ɩɪɢɥɨɠɟɧɢɹ Test

Test, .

7.3.1. , ,

,

-

, DLL. . 7.4 Symbian OS . , E32Main() . , , Server)

-

(Window .

. 7.4. ɋɯɟɦɚ ɫɢɫɬɟɦɧɵɯ ɜɵɡɨɜɨɜ Symbian OS

DLL (

, -

)

. ,

, ,

. ,

,

Window Server , ,

,

.

Symbian OS. ,

-

Test.

7.3.2. К

CTestApplication

. ,

C++ *.h,

, ,

,

,

. *.

-

,

-

. Symbian OS. CTestApplication . Symbian OS ,

Test_Application.h, \Code\Test\inc\Test_Application.h.

-

. :

□ aif *.aif

□ data □ group -

(*.bmp) ;

AIF (*.rss)

; bld.inf, *.pkg

*.mmp,

; □ inc □ install *.sis; □ src —

*.h, *.hrh, *.pan; *.pkg

sis (*.

)

. , ,

,

.

, .

SIS-

,

PKG

-

\group.

- , ,

CTest_Application.h CTestApplication.

.

/******************************************************* // Test_Application.h // CTectApplication //******************************************************* // #ifndef _Test_APPLICATION_H_ #define _Test_APPLICATION_H_ //

#include

// CTestApplication class CTestApplication : public CAknApplication { public: TUid AppDllUidO const; protected: CApaDocument* CreateDocumentL();

#endif // _Test_APPLICATION_H_ / ******************************************************* CTest_Application.h .

: #ifndef tendif.

#define

aknapp.h, CAknApplication ( ) Avkon 60. : class CTestApplication : public CAknApplication class CTestApplication «:» CAknApplication, CTestApplication Avkon. : TUid: :AppDllUidO CreateDocumentL() CApaDocument. CTest_Application.cpp, CTestApplication. \Code\Test\src\Test_Application.cpp.

/У*******************************************************

// //

Test_Application.cpp CTestApplication

/ *******************************************************

// #include "Test_Application.h" #include "Test_Document.h" // const TUid KUidTest = { 0x10000000 }; // CApaDocument* CTestApplication::CreateDocumentL() { CApaDocument* document = CTestDocument::NewL(*this); return document; } // // TUid CTestApplication::AppDllUid() const { return KUidTest; }

CTest_Application.cpp const TUid KUidTest = { 0x10000000 }; (UID3)

.

Symbian OS

-

, (

7.4. ).

, UID3, UID. CTestApplication CreateDocumentL ()

.

. Symbian AppDllUid ()

« : :» OS

. (UID3).

7.5.3. К

,

CTestApplication (Document).

CTestDocument

CTestDocument -

,

. CTestDocument

.

AppUi, CTestDocument \Code\Test\inc\Test_Document.h,

. , CreateAppUiL (). .

// Test_Document.h // CTestDocument //******************************************************* // tifndef _Test_DOCUMENT_H_ #define _Test_DOCUMENT_H_ //

tinclude

// CTestAppUi; class CEikApplication;

class

// CTestDocument class CTestDocument : public CAknDocument public: // static CTestDocument* NewL(CEikApplicationS aApp); static CTestDocument* NewLC(CEikApplications aApp); // ~CTestDocument(); CEikAppUi* CreateAppUiL(); private: void ConstructL(); // CTestDocument(CEikApplication& aApp);

#endif // _Test_DOCUMENT_H_

akndoc.h CAknDocument. Symbian OS

.

class CTestAppUi; class CEikApplication; , , , . CTestDocument, CAknDo-cument. CTestDocument , NewL (), NewLC () ConstructL (). Symbian OS . Symbian OS , . , , . NewL (), NewLC () ConstructL () , , . CTestDocument () CEikApplication. CTestDocument CreateAppUiL () AppUi. CTestDocument, \Code\Test\src\Test_Document.cpp. . //*********************** * * ****************************** // Test_Document. // CTestDocument.h //******************************************************* // ♦include "Test_Document.h" ♦include "Test_AppUi.h" // CTestDocument* CTestDocument::NewL(CEikApplicationS aApp) { CTestDocument* self = NewLC(aApp); CleanupStack::Pop(self); return self; } // CTestDocument* CTestDocument::NewLC(CEikApplicationS aApp) { CTestDocument* self = new (ELeave) CTestDocument(aApp); CleanupStack::PushL(self); self->ConstructL (); return self;

// void CTestDocument::ConstructL()

// CTestDocument::CTestDocument(CEikApplicationS aApp) : CAknDocument(aApp)

// CTestDocument::-CTestDocument()

// CEikAppUi* CTestDocument::CreateAppUiL() { return new (ELeave) CTestAppUi; }

Test_Document.cpp Test. NewL (), NewLC ()

, ConstructL () CTestDocument () CTestAppUi.

. . CTestDocument ,

7.3.4. К

StoreLO

CreateAppUiL () RestoreLO, .

CTestAppUi

CTestAppUi , ,

,

. Test_AppUi.h CTestAppUi \Code\Test\inc\Test_AppUi.h.

.

/ ******************************************************* //

Test_AppUi.h // CTestAppUi

// tifndef _Test_APPUI_H_ tdefine _Test_APPUI_H_ // #include // class CTestAppView; // class CTestAppUi { public:

CTestAppUi : public CAknAppUi

void ConstructLO ; // CTestAppUi() ; // CTestAppUi(); public: // void HandleCommandL(Tint aCommand); private: CTestAppView* iAppView; }; #endif // _Test_APPUI_H_

aknappui.h

CAknAppUi.

CTestAppUi CTestAppUi 60.

«:», CAknAppUi

Avkon ,

HandleCommandL () CTestAppView, Test_AppUi.cpp, \Code\Test\src\Test_AppUi.cpp

. CTestAppUi.

/ ******************************************************* // //

Test_AppUi.cpp CTestAppUi

// #include #include // ♦include // ♦include "Test_AppUi.h" ♦include "Test_AppView.h" ♦include "Test.hrh" ♦include "Test.pan" // . void CTestAppUi::ConstructL() { // UI BaseConstructL() ; // iAppView = CTestAppView::NewL(ClientRect()); // AddToStackL(iAppView); } // CTestAppUi::CTestAppUi() { } // CTestAppUi::CTestAppUi() { if (iAppView) { // iEikonEnv->RemoveFromStack(iAppView); // delete iAppView; // iAppView = NULL;

// void CTestAppUi::HandleCommandL(Tint aCommand)

switch(aCommand) { // case EEikCmdExit: case EAknSoftkeyExit: ExitO ; break; // default: User::Panic (_L("Test"), ETestBasicUi); break; //

******************************************************* Test_AppUi.cpp . Avkon.hrh — Avkon , . . Test.hrh , Test.pan . Symbian OS Panic ( ),

,

. . ConctructLO,

, UI. BaseConstructL (), ClientRect () .

. iAppView, AddToStackL ()

. CTestAppUi

iEikonEnv->RemoveFromStack(iAppView); delete iAppView; . iAppView = NULL; NULL. HandleCommandL ()

, switch .

. Exit, .

, .

,

,

(Soft key), .

HandleCommandL () EEikCmdExit , AknS f t keyExi t Exit

Exit Exit (), . case,

, break, ,

case,

-

case. default HandleCommandL ().

, User: : Panic () , , HandleCommandL (). Test, Options, - Exit.

, , , :

-

,

Exit .

,

Options ,

,

.

,

,

« User: : Pan i (). ,

» (

), . — , , User: :Panic () Test.pan . Options,

. ETestBasicUi, , Test

,

, .

7.3.5. К

CTestAppView

CTestAppView , . Test_AppView.h

CTestAppView \Code\Test\inc\Test_AppView.h,

.

//

Test_AppView.h // CTestAppView

// #ifndef _Test_APPVIEW_H tdefine Test APPVIEW H

-

// #include class CTestAppView : public CCoeControl { public: // static CTestAppView* NewL(const TRect& aRect); static CTestAppView* NewLC(const TRects aRect); // ~CTestAppView(); public: void Draw(const TRectS aRect) const; private: void ConstructL(const TRects aRect); CTestAppView();

#endif // _Test_APPVIEW_H_

coecntrl.h

CCoeControl, CTestAppView

CTestAppView. ,

Draw () , .

, ,

. Draw ().

,

,

Test_AppView.cpp, \Code\Test\src\Test_AppView.cpp.

, -

// Test_AppView. // CTestAppView //******************************************************* // #include

#include // ♦include // ♦include "Test_AppView.h" // CTestAppView* CTestAppView::NewL(const TRects aRect) { CTestAppView* self = CTestAppView::NewLC(aRect); CleanupStack::Pop(self) ; return self; } // CTestAppView* CTestAppView::NewLC(const TRectS aRect) CTestAppView* self = new (ELeave) CTestAppView; CleanupStack::PushL(self); self->ConstructL(aRect); return self; } // void CTestAppView::ConstructL(const TRectS aRect) { // CreateWindowL() ; // SetRect(aRect); // ActivateL(); } // CTestAppView::CTestAppView()

// CTestAppView: : --CTestAppView ()

// void CTestAppView::Draw(const TRectS /*aRect*/) const { // CWindowGc& gc = SystemGcO; //

gc.Clear(); // TRect drawRect = Rect(); // drawRect.Shrink(10,10); // gc.DrawRect(drawRect); // drawRect.Shrink(15,30); // gc.DrawRect(drawRect); } //******************************************************* CTestAppView NewL () ConstructL (), CreateWindowL ()

NewLC () ,

.

,

,

. 1, Control Pane. . .

? : Status Pane, Main Pane Main Pane, -

WindowsConstructL () Acti-vateL().

Draw () Draw ()

. , , SystemGc (). CWindowGc& gc = SystemGc();

Clear (),

,

,

,

. : TRect drawRect = Rect(); : drawRect.Shrink(10,10); Shrink () . Y. 10 X

10

X, . Y. .

-

-

, ,

10

. DrawRect (). gc.DrawRect(drawRect); , 15

X

30

Y.

,

.

7.3.6.

Test_Main.cpp TestMain.cpp

, .

-

,

apprun.exe . -

Eikon Test_Main.cpp \Code\Test\src\Test_Main.cpp. // //

Test_Main.

// #include "Test_Application.h" // DLL GLDEF_C Tint E32Dll(TDllReason /*aReason*/) { return KErrNone; } // EXPORT_C CApaApplication* NewApplication() { return (new CTestApplication); } /*******************************************************

. ,

E32D11 () DLL. KErrNone, NewApplication ()

. , , Exit (

).

7.3.7.

Testpan Test

Test.pan.

, \Code\Test\inc\Test.pan.

-

/******************************************************* // // //***** // #ifndef ♦define

Test.pan ************************************************** _ Test_PAN_ _ Test_PAN _

// enum TTestPanics { ETestBasicUi = 1

#endif TestPAN

***************************

/ ************* ****

Test_AppUi.cpp .

HandleCommandL () , Panic ()

,

.

-

, .

-

32-

. . 1,

TTestPanics 0,

1

, Symbian OS

ETestBasicUi Test.pan. .

System panic reference .

TTestPanics Test.pan ( 1 ), Symbian OS .

panic ,

7.3.8.

, System

Test.hrh

Test.hrh

-

, *.

*.rss. ,

, .

\Code\Test\inc\Test.hrh,

Test.hrh

.

// //

Test.hrh

/ ******************************************************* // #ifndef _ Test_HRH_ #define _ Test_HRH _ // enum TTestlds { ETestCommandl = 1

#endif // _Test_HRH_

/ ******************************************************* TTestlds ,

-

, . *.

*.hrh, (enum)

, .

7.3.9.

Test_Caption.rss — Symbian OS. , , *.rss (Resource Source Script) . Test_Caption.rss

. , Test_Caption.rss \Code\Test\group \Test_Caption.rss // //

Status Pan. -

Test_caption.rss

/******************************************************* finclude RESOURCE CAPTIONDATA

:

caption = "Test"; shortcaption = "Test";

apcaptionfile.rh,

. Test_Caption.rss. , shortcaption

caption .

, . ,

RESOURCE CAPTION_DATA, , CAPTION ( ,

. Test_Caption.rss)

,

AIE

7.3.10. ,

Testrss ,

,

, Test

. ,

. Test.rss \Code\Test\group\Test.rss, Test.

-

//******************************************************* // Test.rss // //**** *************************************************** // (ID) NAME SETS // #include ♦include ♦include // ♦include



"Test.hrh"

//******************************************************* // //******************************************************* RESOURCE RSS SIGNATURE

,

/ ******************************************************* //

RESOURCE TBUF r_default_document_name { buf=""; }

/*******************************************************

//

RESOURCE EIK_APP_INFO { cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT; }

/******************************************************* Test.rss

:

NAME SETS NAME . И

-

, .

. Test.hrh . : RESOURCE RESOURCE .

_

. avkon.rh 60. : □ RSS_SIGNATURE -

Test.rss , ,

□ TBUF -

. ;

, , .

,

;

□ EIK_APP_INFO information resource).

(Application -

,

. 8.

7.3.11.

bid. in f

bld.inf : PRJ_MMPFILES Test.mmp PRJ_MMPFILES *.mmp,

-

. bld.inf

, .

C++

BuilderX Metrowerks CodeWarrior , bld.inf

*.mmp

7.3.12.

bld.inf. .

Test.mmp *.mmp .

«

,

» Test \Code\Test\group\Test.mmp,

. -

Test.mmp .

//***•***************************************************

//

Test.mmp

/*******************************************************

TARGET TARGETTYPE

Test.app app Е

UID

0x10000000

TARGETPATH

\system\apps\test

LANG

01

SOURCEPATH SOURCE SOURCE SOURCE

..\src Test_Main.cpp Test_Application.cpp Test_AppView.cpp

SOURCE SOURCE

Test AppUi.cpp Test Document.cpp

SOURCEPATH

..\group

RESOURCE RESOURCE

Test.rss Test caption.rss

USERINCLUDE

..\inc

SYSTEMINCLUDE

\epoc32\include

LIBRARY LIBRARY LIBRARY LIBRARY LIBRARY LIBRARY

euser.lib apparc.lib cone.lib eikcore.lib avkon.lib eikcoctl.lib

/ ******************************************************* *.mmp . Test

. ,

Test.mmp. *.mmp

. ,

, .

□ TARGET : *.

,

, *.dll

*.

□ TARGETTYPE (

.

Test.mmp

Test.



Symbian OS. : *.

, *.dll, *.exe

TARGET). (UID1). GUI Symbian OS (UID2)

□ UID -

(UID3). 7.4.

□ TARGET PATH . \system\apps\test

( :

. Test.mmp :).

, . \system\apps. ,

□ LANG -

, Symbian . ,

. -

8

.

. □ SOURCEPATH -

. , .

□ SOURCE *. . . □ RESOURCE *.rss *_caption.rss. □ UERINCLUDE . Test Q SYSTEMINCLUDE -

. . \inc. , \epoc32\include.

Symbian OS, □ LIBRARY -

. Symbian OS .

, .

LIBRARY

, .

□ AIF — File),

(Application Information (*.aif), . . *.mmp. , *.mmp

Test

.

, , ,

,

, .

.

CodeWarrior , CodeWarrior.

7.3.13.

,

Test.pkg *.pkg

,

. (SIS) SIS.

*.pkg *.pkg -

; ;

-

. \Code\Test\sis\Test.pkg.

Test.pkg SIS

Test.pkg,

; , UID3, #{"Test"}, (0x10000000),

(major, 1,0,0,

; 60 2.0 (0xl01F7960), 0, 0, 0,

minor,

build), TYPE=SISAPP

{"Series60ProductID"}

; "..\..\..\epoc32\release\armi\urel\Test. " !:\system\apps\Test\Test. "

"-

". . ..\epoc32\data\z\system\apps\Test\Test.r01"-"!:\system\apps\Test\Test.rsc" ". . ..\epoc32\data\z\system\apps\Test\Test_caption.r01""!:\system\apps\Test\Test_caption.rsc" , .

.

#{"Test"}, (0x10000000), 1,0,0, TYPE=SISAPP , , (UID3), (ma j or, minor build) . , , : (0xl01F7960), 0, 0, 0, {"Series60ProductID"} (Platform UID), , 7.4. Test.pkg . " . . \ . . \ . . \epoc32\release\armi\urel\Test. !:\system\apps\Test\Test. "

" -"

". . . . \epoc32\data\z\systeIn\apps\Test\Test.r01"-" ! :\system\apps\Test\Test.rsc" " . . ..\epoc32\data\z\system\apps\Test\Test_caption.r01""!:\system\apps\Test\Test_caption.rsc" SISARMI UREL

THUMB UREL

.

SDK, *._caption.rsc. SIS.

*. ,

Test.app

:

, , *.rsc

" . . \ . .\..\epoc32\release\armi\urel\Test. " !:\system\apps\Test\Test. " , , \system\apps\Test\Test.app. Test.pkg,

"

, , :

". . ..\epoc32\data\z\system\apps\Test\Test.r01"-"!:\system\apps\Test\Test.rsc" "..\..\..\epoc32\data\z\system\apps\Test\Test_caption. "!:\system\apps\Test\Test_caption.rsc"

1"-

*. ). ,

LANG, 1 ( , -

*. 16. . , Test.pkg, 60

SDK

60 :

1.x

2.x,

SDK

". . ..\epoc32\release\armi\urel\Test.app" -w ! :\system\apps\Test\Test. " ". . ..\ 32\ release\armi\urel \Test.r01""!:\system\apps\Test\Test.rsc" ". . ..\ 32\ release\armi\urel \Test_caption.r01""!:\system\apps\Test\Test_caption.rsc" SDK . SDK

60 , 60

1.x

-

1.x

. ,

, SDK SDK

. 60

THUMB 2.x:

"..\..\..\epoc32\release\thumb\urel\Test. !:\system\apps\Test\Test.app"

" -"

-

". . ..\epoc32\data\z\system\apps\Test\Test.r01"-" !:\system\apps\Test\Test.rsc" ". . ..\epoc32\data\z\system\apps\Test\Test_caption.r01""!:\system\apps\Test\Test_caption.rsc" SDK

60

1.x:

". . ..\epoc32\release\thumb\urel\Test.app" -" !:\system\apps\Test\Test. " ". . . 32\ release\thumb\urel \Test.r01""!:\system\apps\Test\Test.rsc" ". . ..\ 32\ release\thumb\urel \Test_caption.rOl""!:\system\apps\Test\Test_caption.rsc" Metrowerks CodeWarrior . , Metrowerks CodeWarrior Ha3BaHMeIIporpaMMH_Data. ARMI UREL, ARMI UDEB . , Metrowerks CodeWarrior ,

,

SDK.

. Edit =» ARMI UREL Setting (Alt+F7) Metrowerks CodeWarrior ARMI UREL Setting. ARMI UREL Setting. Target Setting , Output Directory ( ), , , Test, C:\Symbian\Code\Test\ Test_Data\ARMI UREL. Symbian Installation ARMI UREL Setting Content Search Location ( ).

7.4.

UID (UID) -

0x00000000

32-

OxOFFFFFFF,

UID1, UID2, UID3

Symbian OS. , Platform UID.

, ,

7.4.1.

UID1 *.mmp

*.

, *.dll

TARGETTYPE. *.mmp

*.

, UID1 TARGETTYPE

.

7.4.2.

UID2 UID2 -

GUI-

Symbian OS, (GUI).

*.mmp Test

.

UID Test.mmp -

60

UIQ.

7.4.3.

UID3 UID3 -

,

UID3 Symbian Ltd. [email protected] . ,

,

, !

,

. .

, -

, -

.

,

, UID3. -

UID3

! -

! ,

-

Symbian

UID3 ! UID3 , , ! . 0x10000000. {0x10000000};

Test_Application.cpp

Test

UID3 const TUid KUidTest =

UID3 AppDl lUid () UID3. Test.mmp UID UID3 0x10000000. , , Test.pkg #{"Test"}, (0x10000000), 1, 0, 0, TYPE = SISAPP; UID3. UID3. ,

, UID3

UID3

Symbian Ltd. ,

. UID3 . UID3 , ! Test 0x10000000,

UID3

( ),

UID3!

,

, UID3

,

SDK .

UID3 ,

. UID3

.

, ,

UID3,

Symbian Ltd.

7.4.5. {Platform UID) *.pkg

SIS-

. Platform UID. ,

. ,

. Test

Test.pkg

Platform UID: 0 101 79602.0. . 7.3 . 7.3. ɋɟɪɢɹ 60 ɜɟɪɫɢɹ 0.9 0x101F6F88 ɋɟɪɢɹ 60 ɜɟɪɫɢɹ 1.0 0x101F795F ɋɟɪɢɹ 60 ɜɟɪɫɢɹ 1.2 0x101F8202 ɋɟɪɢɹ 60 ɜɟɪɫɢɹ 2.0 0x101F7960 Siemens SX1 ________________ 0x101F9071

60

7.3.

(

Nokia 3650 0x101 Nokia N-Gage Nokia 6600 0x101F7963 Nokia 6620 0x1020216B Nokia 6630 0x101 Nokia 7610 0x101 Nokia 7650 0x101F617B _________UIQ2.0

) F7962

0x101F8A64 F7964 F6F87 0x101FD5DB___________________

Test

, ,

.

7.5.

. 7.5. Ɋɚɛɨɬɚ ɩɪɨɝɪɚɦɦɵ Test

,

-

. . , .

-

,

Launch (

). .

Test , ,

. 7.5. Exit. GUI.

,

.

7.5. Symbian OS Symbian OS,

AIF (Application Information File), . Test . Test.

,

.

Symbian OS Symbian OS 44 44

. *.mbm (Multi-Bitmap), Windows - *.bmp *.mbm .

AIF-

: 42x29 .

Symbian OS ) , 12(216 = 65536). (

. 65536

(212 = 4096) Symbian OS

-

4096 16

24-

. (mask bitmap)

, *.bmp AifTest

*.mbm

. »,

« —

(

, )

.

. *.mbm .

12-

42

: 29 (Status Pane).

44

. ,

. AifTest,

UID3 ( AifTest

).

\Code\AifTest. AifTest , . AifTest MaskTest.bmp 44 44 . - Testl.bmp - MaskTestl.bmp AifTest.rss, \Code\AifTest\aif\ AifTest.aif, //

44

AifTest.rss

#include // aif RESOURCE AIF_DATA { //

UID3

-

Test.bmp,

-

42

.

29 .

app_uid = 0x11000000; // caption_list = CAPTION code = ELangEnglish; caption = "AifTest";

num_icons = 2; embeddability = KAppNotEmbeddable; newfile = KAppDoesNotSupportNewFile; } //*******************************************************

Symbian OS aiftool.rh, , AIF_DATA . app_uid

AifTest.rss. (UID3), Test.mmp, TestApplication.cpp

AifTest Test.pkg. caption_list . Test_caption.rss, . pecypca, Test_caption.rss,

AIF-pecypca Test_caption.rss

, AIF-

, . ,

Test_caption.rss AIFCAPTION caption code

AifTest, . code ,

caption.

,

,

. ELangEnglish,

AifTest 8. Test.mmp .

AIF*.mmp. He

AifTest , UID3

. //******************************************************* // Test.mmp

-

// ******************************************************

TARGET TARGETTYPE

Test.app app Е OxllOOOOOO

UID TARGETPATH

\system\apps\test

LANG

01

SOURCEPATH SOURCE SOURCE SOURCE SOURCE SOURCE

..\src Test_Main.cpp Test_Application.cpp Test_AppView.cpp Test_AppUi.cpp Test_Document.cpp

SOURCEPATH

..\group

RESOURCE

Test.rss

USERINCLUDE

..\inc

SYSTEMINCLUDE LIBRARY LIBRARY LIBRARY LIBRARY LIBRARY LIBRARY

\epoc32\include euser.lib apparc.lib cone.lib eikcore.lib avkon.lib commonengine.lib

AIF Test.aif ..\Aif AifTest.rss \ cl2 Test.bmp MaskTest.bmp Testl.bmp MaskTestl.bmp //******************************************************* AI F AIF-pecypca Test.aif. Test (

,

AifTest, ),

Test.aif. Aif,

AifTest.rss. . .

, ,

12

4096

12 .

Test.pkg

AifTest.

UID3 AIF. /Test.pkg ; ; , UID3, (0x11000000), 1,0,0, TYPE=SISAPP

#{"Test"b

; 60 2.0 (0xl01F7960), 0, 0, 0, {"Series60ProductID"} "..\..\..\epoc32\data\z\system\apps\Test\Test.aif""!:\system\apps\Test\Test.aif" "..\..\..\epoc32\release\armi\urel\Test. !:\system\apps\Test\Test. "

" -"

*■. . . •\epoc32\data\z\system\apps\Test\Test.r01"-" !:\system\apps\Test\Test.rsc" ". ..\..\epoc32\data\z\system\apps\Test\Test_caption.r01"*!:\system\apps\Test\Test_caption.rsc"

,

AifTest. .

AifTest

,

. AIF-

.

. 7.6. Ɋɚɛɨɬɚ ɩɪɨɝɪɚɦɦɵ AifTest

, . 7.7.

7.5.1.

AIF

C++ BuilderX C++ BuilderX

. aif File => New

. . 7.7,

Gallery, wizard pecypca

OK,

,

Object New Symbian AIF AIF-

.

. 7.7. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ Object Gallery

. 7.8. , Test,

New Symbian AIF wizard - Step 1 of 3, AIF source directory aif AIF-pecypca. : C:\Symbian\Code\Test.

Next. . 7.9, Add

Language

Project AIF-

New Symbian AIF wizard - Step 2 of 3, Bitmap file name , . . Bitmaps . Next. New Symbian AIF wizard - Step 3 of 3 AIF-pecypca, . 7.10, . , Caption , Add. Defined captions . Finish. C++ BuilderX \aif

. 7.8. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ New Symbian AIF wizard - Step 1 of 3

. 7.9. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ New Symbian AIF wizard - Step 2 of 3

. Test.rss. AIF-

. 7.11, C++ BuilderX ,

Test

C++ BuilderX *.mmp .

AIF-

7.6. ? . 7.12,

, .

. 7.10. Ⱦɢɚɥɨɝɨɜɨɟ ɨɤɧɨ New Symbian AIF wizard - Step 3 of 3

. 7.11. ɋɪɟɞɚ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ C++ BuilderX ɫ ɨɬɤɪɵɬɵɦ ɩɪɨɟɤɬɨɦ Test

. 7.12

,

, )

( ,

. ,

:

. 7.12. ɋɯɟɦɚ ɤɨɦɩɢɥɹɰɢɢ, ɫɛɨɪɤɢ ɢ ɭɩɚɤɨɜɤɢ ɩɪɨɟɤɬɚ

□ *.

-

; Q *._caption.rsc □ *.rsc □ *.aif -

,

; ; . ,

-

, ARM

(

ARMI).

Symbian System Installation (SIS), Symbian OS. *. , *._caption.rsc, *.rsc *.aif \system\app\Ha3BaHHe_nporpaMMbi. *. , *._caption.rsc, *.rsc *.aif \system\app\Ha3BaHne_nporpaMMbi , , ,

. . Symbian OS,

.

7.7. SIS , ,

SIS , , . Symbian OS ,

, SISAR.

,

-

,

П

. SDK 32

!

AifTest, C:\Symbian\Series60\Epoc32\AifTest! SIS.

32 C++ BuilderX, 32

,

3.

CodeWarrior 2.

SISAR

4.

WINCSW, ARMI

THUMB

,

, PKG. ,

,

SDK

7.3.13

. , SDK PKG \group

PKG.

, SIS. UID2, UID3

, , , Platform UID.

8. Symbian OS . ,

, ,

,

, UIQ

.

60 , .

8.1.

UIQ UIQ

Motorola, Arima 208

Sony Ericsson,

BenQ.

320 . UIQ

.

. 8.1

UIQ

. □ Application Picker -

-

, ;

Q Menu bar □ Main pane □ Toolbar — ; □ Status bar -

8.1.1.

; ; . 8.1. ɉɚɧɟɥɢ UIQ

.

Application Picker Application Picker . ,

, . 8.1.

Application Picker,

8.1.2.

.

Menu bar ,

,

-

. Menu bar. -

Menu bar

.

8.1.3. К .

,

,

,

,

,

8.1.4.

.

Toolbar

Toolbar .

Toolbar ,

-

,

.

8.1.5.

Status bar -

, .

Status bar

,

8.2.

.

60 , 60, UIQ. 176

60 ,

208 .

60 (

.

. 8.2,

). □ Status Pane □ Main Pane □ Control Pane -

; ; . И

8.2.1.

Status Pane 60 ,

Status Pane . □ Signal Pane □ Context Pane -

. : ,

; ,

(42 AIF-pecypca

. 8.2. ɉɚɧɟɥɢ ɫɟɪɢɢ 60

29

). Test

; □ Title Pane □ Navigation Pane -

; , ;

□ Indicator Pane .

8.2.2.

Main Pane , ,

.

60

- 174 132

8.2.3.

-

Main Pane -

.

Control {Control Pane) .

-

,

: Exit, Back, Cancel, Options.

, ,

,

.

8.3. 60 . , *.rss, *.rh, *.hrh, *.loc caption.rss, . Symbian OS Q BYTE - 1; □ WORD - 2; □ LONG - 4; □ DOUBLE - 8; □ TEXT ; LTEXT (Unicode); □ BUF (Unicode); □ BUF8 - 8; □ BUF < > , < >; Q LINK - 16(ID) □ LLINK - 32(ID) □ SRLINK (ID) □ SRUCT ; □ ENUM ; □ RESOURCE ; □ NAME - 20(ID)

:

; ; ;

.

,

,

Symbian OS, ,

. , : STRUCT MYNAME BYT bvalue = 0; LON lvalue = 0; BUF buf;

.

-

ENUM . . RESOURCE < ,

_

>


,

:

RESOURCE MENU_BAR r_mymenu_bar { // MENU_BAR

, r_mymenu_bar. , .

Symbian OS ,

,

. Symbian

OS (Uikon). #include tinclude Symbian OS UIQ_ 60. , 60 : #include ♦include

,

,

8.4. ( .

) ,

, .

Symbian OS

-

.

60 Options, .

, 60,

. Options Options

AifTest, AifTest, Exit. Exit

7. , .

. . Note (

,

).

. Test.hrh, Test.rss Test_AppUi.cpp

HandleCommandL () . MenuTest

\Code\MenuTest. . TTestCommands . //. //

.

Test.hrh . Test.hrh \Code\MemuTest\inc\Test.hrh,

Test.hrh

/*******************************************************

// #ifndef _ Test_HRH_ #define _ Test_HRH_ // enum TTestCommands { ETestCommand = 1, ETestConfirmation, ETestInformation, ETestNotes, ETestError, ETestWarning

#endif // ____ Test_HRH_ / ******************************************************* ETestCommand ,

, 1

, 0x600.

,

. :

□ Configuration Note

-

,

, . ;

□ Information Note -

, ,

, . i;

□ Error Note —

, .

□ Warning Note -

; ,

,

. ETestNote . Test.rss. \Code\MenuTest\group\Test.rss.

-

/ ******************************************************* // //

Test.rss

//it******************************************************

II (ID) NAME MENS // ♦include tinclude

♦include

// #include "Test.hrh"

//

/ ******************************************************* RESOURCE RSSSIGNATURE

|

/*******************************************************

i '

// //*******************************************************

i

i

RESOURCE TBUF

r_default_document_name

I

buf=""; >//******************************************************* // //*******************************************************

i

1

RESOURCE EIK_APP_INFO { cba = R_AVKON_SOFTKEYS_OPTIONS_EXIT; menubar = r_test_menubar; }

/ * * * ** * * ** * * * * ** * * ** * * * * ** * * ** * * * * ** * * ** * * * * ** * * ** * * * * ** // //

I

***** ** ******** ** ******** ** ******** ** ******** ** **** ***

RESOURCE MENU_BAR r_test_menubar { titles = { MENU_TITLE { menu_pane = r_test_menu;

/******************************************************* //

"Options"

/*.*.*.*.***.************************************************ RESOURCE MENU_PANE r_test_menu { items = { // Test.hrh MENU_ITEM { command = ETestConfirmation; txt = "Confirmation Note";

MENU_ITEM { command = ETestNotes; txt = "Notes"; cascade = r_test_submenu; MENU_ITEM { command = ETestlnformation; txt «■ "Information Note";

ь

MENU_ITEM { command = EAknCmdExit; txt = "Exit";

//

/ ******************************************************* RESOURCE MENU_PANE r_test_submenu { items = { MENU_ITEM { command = ETestError; txt = "Error Note"; }, MENU_ITEM {

command = ETestWarning; txt = "Warning Note";

/

******************************************************* MENS.

EIK_APP_INFO .

menubar - r_test_menubar; menubar avkon.rh

, . r_test_menubar .

, , . r_test_menubar, :

.

//******************************************************* // /

/

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*



>

RESOURCE MENU_BAR r_test_menubar { titles = { MENU_TITLE { menu_pane = r_test_menu;

//*************

**********

MENU_BAR titles

. MENU_TITLE,

menu_pane r_test_menu. r_test_menu. , ,

MENU_PANE , MENU_PANE.

// "Options" //******************************************************* RESOURCE MENUPANE rtestmenu items // Test.hrh MENUITEM

command = ETestConfirmation; txt = "Confirmation Note"; MENU_ITEM { command = ETestNotes; txt = "Notes"; cascade = r_test_submenu;

MENU_ITEM { command = ETestlnformation; txt = "Information Note"; }, MENU_ITEM { command = EAknCmdExit; txt = "Exit";

MENU_ITEM , command

. ,

Test.hrh. ,

txt . ,

Options, MENU_PANE. .

,

, , 8.5.(

).

,

, ETestNotes,

. : cascade = r_test_submenu; ,

, :

// //*******************************************************

-

RESOURCE MENU_PANE r_test_submenu { items = { MENU_ITEM { command = ETestError; txt = "Error Note"; }, MENU_ITEM { command = ETestWarning; txt = "Warning Note"; } }; }

, . r_test_submenu

, . .

-

MenuTest, Options (

. 8.3).

. 8.3. Ɇɟɧɸ ɜ ɩɪɨɝɪɚɦɦɟ MenuTest

(

)

,

Test_AppUi.cpp . MenuTest Test_AppUi.cpp \Code\MenuTest\src\Test_appUi.cpp, .

-

//

Test_AppUi.cpp

J // CTestAppUi / ******************************************************* i II ♦include ♦include // tinclude // #include "Test_AppUi.h" #include "Test_AppView.h" #include "Test.hrh" ♦include "Test.pan" // void CTestAppUi::ConstructL() { // , BaseConstructL(); // iAppView = CTestAppView::NewL(ClientRect()); // AddToStackL(iAppView); } // CTestAppUi::CTestAppUi() {

1 // CTestAppUi::-CTestAppUi() { if (iAppView) { // iEikonEnv->RemoveFromStack(iAppView) ; // delete iAppView; // iAppView = NULL;

UI

// void CTestAppUi::HandleCommandL(Tint aCommand) { switch(aCommand) { // Confirmation: case ETestConfirmation: { _LIT (textl, "Confirmation Note"); CAknConfirmationNote* NoteConfirmation; NoteConfirmation = new (ELeave) CAknConfirmationNote; NoteConfirmation ->ExecuteLD(textl); break; } // Information case ETestlnformation: { _LIT (text2, "Information Note"); CAknInformationNote* Notelnformation; Notelnformation = new (ELeave) CAknInformationNote; Notelnformation ->ExecuteLD(text2); break; } // Error case ETestError: { _LIT (text3, "Error Note"); CAknErrorNote* NoteError; NoteError = new (ELeave) CAknErrorNote; NoteError ->ExecuteLD(text3); break; } // Warning case ETestWarning: { _LIT (text4, "Warning Note"); CAknWarningNote* NoteWarning;

NoteWarning = new (ELeave) CAXnWarningNote; NoteWarning ->ExecuteLD(text4); break;

// case EAknSoftkeyExit:

case EEikCmdExit: { Exit (); break; } // default: User::Panic (_L("MenuTest"), ETestBasicUi); break; } **********************************************

/ HandleCom-mandL (). (case) , Test.hrh, : ETestConfirmation, ETestlnformation, ETestError ETestWarning. , , , C++. , Metrowerks CodeWarrior ARMI UREL THUMB UREL . SIS. C++ BuilderX . ETestConfirmation , . Confirmation Note, . : CAknWarningNote* NoteWarning; NoteWarning = new (ELeave) CAknWarningNote; , Confirmation Note. NoteWarning >ExecuteLD(text); . , CAknlnf ormationNote, CAknErrorNote CAknWarningNote . . 8.4 MenuTest . Symbian OS 60, .

. 8.4. ɂɧɮɨɪɦɚɰɢɨɧɧɵɟ ɩɪɢɦɟɱɚɧɢɹ ɜ ɩɪɨɝɪɚɦɦɟ MenuTest

8.5. ,

.

Symbian OS . Symbian OS . , 16.

. 8.1 8.1. К

,

я

Ⱥɧɝɥɢɣɫɤɢɣ ȼɟɥɢɤɨɛɪɢɬɚɧɢɹ Ɏɪɚɧɰɭɡɫɤɢɣ ɇɟɦɟɰɤɢɣ ɂɫɩɚɧɫɤɢɣ ɂɬɚɥɶɹɧɫɤɢɣ ɒɜɟɞɫɤɢɣ Ⱦɚɬɫɤɢɣ ɇɨɪɜɟɠɫɤɢɣ Ɏɢɧɫɤɢɣ Ⱥɦɟɪɢɤɚɧɫɤɢɣ ɒɜɟɣɰɚɪɫɤɢɣ ɮɪɚɧɰɭɡɫɤɢɣ

ELangEnglish = 1 ELangFrench = 2 ELangGerman = 3 ELangSpanish = 4 ELangltalian = 5 ELangSwedish = 6 ELangDanish = 7 ELangNorwegian = 8 ELangFinnish = 9 ELangAmerican = 10 ELangSwissFrench = 11

ELangRussian = Symbian OS.

8.1. К

я

(

ɒɜɟɣɰɚɪɫɤɢɣ ɧɟɦɟɰɤɢɣ ɉɨɪɬɭɝɚɥɶɫɤɢɣ Ɍɭɪɟɰɤɢɣ ɂɫɥɚɧɞɫɤɢɣ Ɋɭɫɫɤɢɣ ȼɟɧɝɟɪɫɤɢɣ Ƚɨɥɥɚɧɞɫɤɢɣ Ȼɟɥɶɝɢɣɫɤɢɣ ɮɥɟɦɢɲ Ȼɟɥɶɝɢɣɫɤɢɣ ɮɪɚɧɰɭɡɫɤɢɣ Ⱥɜɫɬɪɚɥɢɣɫɤɢɣ ɚɧɝɥɢɣɫɤɢɣ Ⱥɜɫɬɪɢɣɫɤɢɣ ɧɟɦɟɰɤɢɣ ɇɨɜɨɡɟɥɚɧɞɫɤɢɣ ɚɧɝɥɢɣɫɤɢɣ Ɇɟɠɞɭɧɚɪɨɞɧɵɣ ɮɪɚɧɰɭɡɫɤɢɣ ɑɟɲɫɤɢɣ ɋɥɨɜɚɰɤɢɣ ɉɨɥɶɫɤɢɣ ɋɥɨɜɟɧɫɤɢɣ Ɍɚɣɜɚɧɶɫɤɢɣ ɤɢɬɚɣɫɤɢɣ Ƚɨɧɤɨɧɝɫɤɢɣ ɤɢɬɚɣɫɤɢɣ Ʉɢɬɚɣɫɤɢɣ əɩɨɧɫɤɢɣ Ɍɚɣɫɤɢɣ Ⱥɮɪɢɤɚɚɧɫ Ⱥɥɛɚɧɫɤɢɣ Ⱥɦɯɚɪɢɤ Ⱥɪɚɛɫɤɢɣ Ⱥɪɦɹɧɫɤɢɣ Ɍɚɝɚɥɨɝ Ȼɟɥɨɪɭɫɫɤɢɣ Ȼɟɧɝɚɥɶɫɤɢɣ Ȼɨɥɝɚɪɫɤɢɣ Ȼɢɪɦɚɧɫɤɢɣ Ʉɚɬɚɥɨɧɫɤɢɣ ɏɨɪɜɚɬɫɤɢɣ Ʉɚɧɚɞɫɤɢɣ ɚɧɝɥɢɣɫɤɢɣ Ɇɟɠɞɭɧɚɪɨɞɧɵɣ ɚɧɝɥɢɣɫɤɢɣ ɘɠɧɨɚɮɪɢɤɚɧɫɤɢɣ ɚɧɝɥɢɣɫɤɢɣ ɗɫɬɨɧɫɤɢɣ Ɏɚɪɫɢ Ʉɚɧɚɞɫɤɢɣ ɮɪɚɧɰɭɡɫɤɢɣ Ƚɚɥɥɶɫɤɢɣ ɹɡɵɤ Ƚɪɭɡɢɧɫɤɢɣ Ƚɪɟɱɟɫɤɢɣ Ʉɢɩɪɫɤɢɣ ɝɪɟɱɟɫɤɢɣ Ƚɭɹɪɚɬɢ ȿɜɪɟɣɫɤɢɣ

) ELangSwissGerman = 12 ELangPortuguese =13 ELangTurkish = 14 ELanglcelandic = 15 ELangRussian = 16 ELangHungarian = 17 ELangDutch = 18 ELangBelgianFlemish = 19 ELangBelgianFrench = 21 ELangAustralian = 20 ELangAustrian = 22 ELangNewZealand = 23 ELanglnternationalFrench = 24 ELangCzech = 25 ELangSlovak = 26 ELangPolish = 27 ELangSlovenian = 28 ELangTaiwanChinese = 29 ELangHongKongChinese = 30 ELangPrcChinese = 31 ELangJapanese = 32 ELangThai = 33 ELangAfrikaans = 34 ELangAlbanian = 35 ELangAmharic = 36 ELangArabic = 37 ELangArmenian = 38 ELangTagalog = 39 ELangBelarussian = 40 ELangBengali = 41 ELangBulgarian = 42 ELangBurmese = 43 ELangCatalan = 44 ELangCroatian = 45 ELangCanadianEnglish = 46 ELanglnternationalEnglish = 47 ELangSouthAfricanEnglish = 48 ELangEstonian = 49 ELangFarsi = 50 ELangCanadianFrench = 51 ELangScotsGaelic = 52 ELangGeorgian = 53 ELangGreek = 54 ELangCyprusGreek = 55 ELangGujarati = 56 ELangHebrew = 57

8.1. К

я

(

ɏɢɧɞɢ ɂɧɞɨɧɟɡɢɣɫɤɢɣ ɂɪɥɚɧɞɫɤɢɣ ɒɜɟɣɰɚɪɫɤɢɣ ɢɬɚɥɶɹɧɫɤɢɣ Ʉɚɧɚɞɫɤɢɣ Ʉɚɡɚɯɫɤɢɣ Ʉɯɦɟɪɫɤɢɣ Ʉɨɪɟɣɫɤɢɣ Ʌɚɨɫɫɤɢɣ Ʌɚɬɜɢɣɫɤɢɣ Ʌɢɬɨɜɫɤɢɣ Ɇɚɤɟɞɨɧɫɤɢɣ Ɇɚɥɚɣɫɤɢɣ Ɇɚɥ ɹɥɚɦ Ɇɚɪɚɬɯɢ Ɇɨɥɞɚɜɫɤɢɣ Ɇɨɧɝɨɥɶɫɤɢɣ ɇɨɪɜɟɠɫɤɢɣ Ȼɪɚɡɢɥɶɫɤɢɣ ɩɨɪɬɭɝɚɥɶɫɤɢɣ ɉɟɧɞɠɚɛɫɤɢɣ Ɋɭɦɵɧɫɤɢɣ ɋɟɪɛɫɤɢɣ ɋɟɧɟɝɚɥ ɋɨɦɚɥɢ Ɇɟɠɞɭɧɚɪɨɞɧɵɣ ɢɫɩɚɧɫɤɢɣ Ʌɚɬɢɧɨɚɦɟɪɢɤɚɧɫɤɢɣ ɢɫɩɚɧɫɤɢɣ ɋɭɚɯɢɥɢ ɒɜɟɞɫɤɢɣ ɮɢɧɫɤɢɣ Ɂɚɪɟɡɟɪɜɢɪɨɜɚɧ ɞɥɹ ɛɭɞɭɳɟɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ Ɍɚɦɢɥɶɫɤɢɣ Ɍɟɥɭɝɭ Ɍɢɛɟɬɫɤɢɣ Ɍɢɝɪɢɧɢɹ Ʉɢɩɪɫɤɢɣ ɬɭɪɟɰɤɢɣ Ɍɭɪɤɦɟɧɫɤɢɣ

ɍɤɪɚɢɧɫɤɢɣ

ɍɪɞɭ Ɂɚɪɟɡɟɪɜɢɪɨɜɚɧ ɞɥɹ ɛɭɞɭɳɟɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ȼɶɟɬɧɚɦɫɤɢɣ ɍɷɥɶɫɤɢɣ Ɂɭɥɭ Ⱦɥɹ ɞɪɭɝɢɯ ɹɡɵɤɨɜ

) ELangHindi = 58 ELanglndonesian = 59 ELanglrish = 60 ELangSwissltalian = 61 ELangKannada = 62 ELang Kazakh = 63 ELangKhmer = 64 ELang Korean = 65 ELangLao = 66 ELang Latvian = 67 ELangLithuanian = 68 ELangMacedonian = 69 ELangMalay = 70 ELangMalayalam = 71, ELangMarathi = 72 ELangMoldavian = 73 ELangMongolian = 74 ELangNorwegianNynorsk = 75 ELangBrazilianPortuguese = 76 ELangPunjabi = 77 ELangRomanian = 78 ELangSerbian = 79 ELangSinhalese = 80 ELangSomali = 81 ELanglnternationalSpanish = 82 ELangLatinAmericanSpanish = 83 ELangSwahili = 84 ELangFinlandSwedish = 85 ELangReservedi =86 ELangTamil = 87 ELangTelugu = 88 ELangTibetan = 89 ELangTigrinya = 90 ELangCyprusTurkish = 91 ELangTurkmen = 92 ELangllkrainian = 93 ELangUrdu = 94 ELangReserved2 = 95 ELangVietnamese = 96 ELangWelsh = 97 ELangZulu = 98 ELangOther = 99

,

. ,

-

. . LANG_MENU_EXIT. , ), *.140 ( ,

( .

,

Exit , *. 6

), *.193 (

.

) ,

, . .

,

*.101, , :

*. 6,

//******************************************************* // Language.116 // //******************************************************* // #define ELanguage

ELangRussian

// ♦define

LANG_MENU_CONFIRMATION

"

#define #define #define ♦define #define

LANG_MENU_INFORMATION LANG_MENU_NOTES LANG_MENU_ERROR LANG_MENU_WARNING LANG_MENU_EXIT

" " " " "В

" " " " " "

//*******************************************************

Language.116 *.1 ,

MenuTest. ,

Sym-bian OS. , MyLan-guage.loc, , :

//******************************************************* //

MyLanguage.loc

in II #ifdef LANGUAGE_01 ♦include "Language.101"

#endif // #ifdef LANGUAGE_02 #include "Language.102" #endif // #ifdef LANGUAGE_03 #include "Language.103" #endif // #ifdef LANGUAGE_16 ♦include "Language.116" #endif // #ifdef LANGUAGE_40 ♦include "Language.140" #endif // #ifdef LANGUAGE_93 #include "Language.193" tendif

, \inc,

. , ,

*.rss, *_caption.rss

; avkon.loc. ♦include "MyLanguage.loc"

My Language, loc

. ,

,

,

,

, , . :

*.aif,

, LANG . LANG 01 02 03 16 40 93

PKG

,

01 02 03 16 40 93 SISSymbian OS

,

.

, . .

,

SDK

, 60

Example .

Language,

.

8.6. MenuTest, HandleCommandL (). ,

-

. switch ,

.

HandleCommandL () ,

. Symbian OS

.

-

,

, : Q CCoeAppUi: :HandleKeyEventL () ; Q CCoeAppUi: :HandleForegroundEventL () -

,

; □ CCoeAppUi: :HandleSystemEventL () , (Window Server); Q CCoeAppUi::HandleApplicationSpecificEventL() ; □ CCoeControl: :Of ferKeyEventL () . e32keys.h

Uikon.hrh .

,

CCoeControl: : Of ferKeyEventL () . TKeyResponse CMyTestControl::OfferKeyEventL( const TKeyEventS aKeyEvent, TEventCode aType) { // , if (aType == EEventKey)

-

// (aKeyEvent.iCode) {

,

,

if

case EKeyDownArrow: // // return EKeyWasConsumed; case EKeyUppArrow: //

//

return EKeyWasConsumed; case EKeyLeftArrow: // // return EKeyWasConsumed; case EKeyRightArrow: // // return EKeyWasConsumed; default: return EKeyWasConsumed;

return EKeyWasConsumed; SDK

60

C++ API Reference TKeyCode,

Window Server .

8.7. .

-

,

,

,

. Symbian OS (

)

: Grid ( ).

Setting List (

), Vertical List

. .

-

, ,

,

. .

,

8.7.1. (Vertical List) . .

. 8.5,

. 8.5. ȼɟɪɬɢɤɚɥɶɧɵɣ ɫɩɢɫɨɤ

.

. 8.5. ,

. ,

. ,

, . : Selection List, Menu List, Markable List

Multiselection List.

Selection .

Selection

, . ,

,

,

.

Menu Menu

Selection, ,

Options .

Markable Selection, .

. 8.6,

Markable.

. 8.6. ɋɩɢɫɨɤ Markable

Markable, , . Mark All (

), Unmark (

: Mark ( Unmark All (

)

), ).

Multiselection Multiselection

Markable ,

, , . ).

( Multiselection.

. 8.7 ,

Markable.

. 8.7. ɋɩɢɫɨɤ Multiselection

, *.rss

:

RESOURCE LISTBOX r_list_vertical { array_id = r_list_string; flags = EAknListBoxSelection; }

array_id

LBUF, . r_list_string,

-

. flags , □ □ □ □

.

: Selection List - EAknListBoxSelectionList; Menu List - EAknListBoxMenuList; Markable - EAknListBoxMarkableList; Multiselection - EAknListBoxMultiselectionList. .

,

,

.

,

. . 8.5,

, .

Avkon .

, ,

.

, .

,

,

.

. 8.8,

.

. 8.8. Ɉɮɨɪɦɥɟɧɢɟ ɫɩɢɫɤɨɜ

. 8.5, ,

,

. ,

(Label) . 8.8.

.

,

,

,

.

. . , ,

: "l\tHead\tLabel" □ «1» □ \t □ Header □ Label -

;

,

; ,

;

,

□ CAknSingleStyleListBox "\tLabel". □ CAknSingleGraphicsStyleListBox . □ CAknSingleNumberStyleListBox -

. -

Avkon, . ,

13x13 , " 1 \ tLabe 1". . " 1 \ tLabel".

□ CAknSingleHeadingStyleListBox , — : "\Head\tLabel". □ CAknSingleGraphicsHeadingStyleBox 13x13 , — . "O\tHead\tLabel". □ CAknSingleLargeStyleListBox 42x29 , "l\tLabel". □ CAknSingleNumberHeadingStyleListBox , "l\tHead\tLabel". Q CAknDoubleStyleListBox "\tLabell\tLabel2". □ CAknDoubleStyle2ListBox , . □ CAknDoubleNumberStyleListBox , CAknDoubleStyleListBox,

. "l\tLabell\tLabel2". U CAknDoubleTimeStyleListBox , (

)\tLabell\tLabel2".

.

.

.

.

"08.00\tAM

CAknDoubleLargeStyleListBox , . "l\tLabell\tLabel2".

8.7.2.

42x36

Grid Grid

, .

Grid , ,

. Up, Down, Left , ,

Right. .

, Grid : D Selection List EAknListBoxSelecti-onGrid; □ Menu List EAknListBoxMenuGrid; □ Markable ListEAknListBoxMarkableGrid; □ Multiselection ListEAknListBoxMarkableGrid. Grid Avkon. CAknCaleMonthlyStyleGrid . CAknPinbStyleGrid , . 8.8. CAknGMSStyleGrid . . 8.9 Grid. Grid, *.rss Grid, : RESOURCE GRID r_grid_list { array_id = r_grid_string; flags = EAknListBoxMarkableGrid; style = r_grid_style; }

. 8.9. ɋɬɢɥɢ ɨɮɨɪɦɥɟɧɢɹ ɫɩɢɫɤɚ Grid

,

,

, . r_grid_style,

style Grid. ,

-

, :

RECOURSE GRID_STYLE {

r_grid_style

primaryscroll = EAknGridFollowsItemsAnLoops; secondaryscroll = EAknGridFollowsItemsAnLoops; layoutflags = EAknGridHorizontalOrientation| EAknGridLeftTopRight| EAknGridTopTopBottom; itemsinprimaryorient = 3; itemsinsecondaryorient = 4; gapwith = 4; gapheight = 4; height = 45; width = 45;

□ primaryscroll ; □ secondaryscroll — layoutflags -

Grid; , Grid.

, ,

.

Grid; □ itemsinprimaryorient □ itemsinsecondaryorient gapwith gapheight ; □ height width — .

8.7.3.

; ; ,

Setting Setting .

Setting

, .

Setting, ,

. 8.10,

.

Setting. . 8.10 GPRS.

Setting

, .

. 8.10. ɋɩɢɫɨɤ Setting

, .

. Setting, . Volume control, Slider control, Enumerated text, Text editor, Time editor, Date edition, IP editor, Binary switch, Password numeric editor Password alphabetic editor. Setting, , . Setting, Setting List. SDK 60 2.1 SDK Series60Ex. Setting.

Volume control Setting .

. 8.11,

Volume

control. .



, ,

Volume control -

. 8.11. Volume control

.

,

,

,

.

,

. Volume control Right ,

,

Left.

. .

Volume control

0

10,

.

Slider control .

-

. 8.12,

Slider control.

. 8.12. Slider control

,

. . Right

Left.

Enumerated text Enumerated text . Windows.

. 8.13

, Enumerated text. -

. Down.

Up

,

,

. Enumerated text ,

Setting.

. 8.13. Enumerated text

Text editor

.

, Text editor -

. , Text editor.

. 8.14 .

,

, None.

. 8.14. Text editor

Time editor .

. 8.15

Time editor , , Right

, Left.

, Time editor. , AM.

Text editor

-

. 8.15. Time editor

Date editor Time editor, , ,

, . .

Date editor 8.16

.

.

Date editor.

. 8.16. Date editor

IP editor .

. .

IP editor,

IP-

. .

. 8.17

IP editor IP

editor.

Binary switch Binary switch , . 8.18,

-

Binary switch.

.

. 8.17. IP editor

.

-

Binary switch,

. Binary switch , .

. 8.18. Binary switch

Password editor . : numeric alphabetic. alphabetic,

,

Password editor , .

.

numeric

, .

. Password editor 8.19 Password editor.

,

.

.

. 8.19. Password editor

8.7.4.

Setting List Setting List,

SDK

60

\Example,

Setting. Setting, ,

. \Series60Ex settinglist, □ \aif AIF ; □ aknexsettinglistaif.rss □ Status pane; □ \group ; □ aknexsettinglist.mmp ; □ aknexsettinglist.pkg PKG; □ aknexsettinglist.rss ; □ aknexsettinglistcaption.rss □ bld.ini □ \inc □ aknexsettinglist.hrh -

SDK Setting List: AIF;

; ; ; ;

□ □ □ □ □ G

aknexsettinglist.loc aknexsettinglistapp.h — aknexsettinglistappui.h aknexsettinglistdocument.h aknexsettinglistview.h aknexsettinglistcontainer.h — tingListContainer; □ aknexsettinglistbox.h ListBox; □ aknexsettinglistitemdatah tingListltemData; □ \src □ aknexsettinglistapp.cpp □ aknexsettinglistappui.cpp □ aknexsettinglistdocument.cpp □ aknexsettinglistview.cpp □ aknexsettinglistcontainer.cpp □ aknexsettinglistbox.cpp ListBox; □ aknexsettinglistitemdataxpp tingListltemData.

; ; AppUi; ; ; AknExSetAknExSettingAknExSet; ; AppUi; Document; ; ; AknExSettingAknExSet-

/F AIF-pecypca . UID3. /* * AknExSettingListaif.rss * AknExSettingList * Copyright ( ) 2003 Nokia. All rights reserved. -fc _______________________________________________________________________________ *

/



finclude