301 18 6MB
Russian Pages 452 Year 2005
. .
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