自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Symbian開發(fā)中Symbian資源的自定義和解析

移動(dòng)開發(fā)
你對(duì)Symbian開發(fā)的概念你是否比較熟悉,本文向大家簡(jiǎn)單介紹一下Symbian資源的自定義和解析,希望本文的介紹能讓你有所收獲。

本文和大家重點(diǎn)學(xué)習(xí)一下Symbian開發(fā)中Symbian資源的自定義和解析,Symbian開發(fā)有很多值得學(xué)習(xí)的地方,這里就和大家分享一下,相信通過本文的學(xué)習(xí)你對(duì)Symbian開發(fā)的概念一定會(huì)有明確的認(rèn)識(shí)。

Symbian開發(fā)中Symbian資源的自定義和解析

在系統(tǒng)的CCoeEnv里面有個(gè)AllocReadResourceAsDes16LC這個(gè)函數(shù)可以把資源文件讀取到數(shù)組里,做的上一個(gè)項(xiàng)目里面有很多字符串常量數(shù)組,我就想可不可以自己定義資源,然后讀取呢,網(wǎng)上找個(gè)破資料還真不好找,今天有點(diǎn)空閑時(shí)間,測(cè)試了一下,可以實(shí)現(xiàn)自定義并讀取,記錄一下。

Symbian資源定義的數(shù)據(jù)類型

字段類型
 

BYTE
單字節(jié),解釋為一個(gè)有符號(hào)或無符號(hào)整數(shù)

WORD
雙字節(jié),解釋為一個(gè)有符號(hào)或無符號(hào)整數(shù)

LONG
四字節(jié),解釋為一個(gè)有符號(hào)或無符號(hào)整數(shù)

DOUBLE
八字節(jié),表示一個(gè)雙精度浮點(diǎn)數(shù)

TEXT
以NULL結(jié)尾的字符串,已廢棄,建議使用LTEXT

LTEXT
Unicode字符串,帶有一個(gè)前導(dǎo)字節(jié)保存長(zhǎng)度,沒有終止NULL

BUF
Unicode字符串,沒有前導(dǎo)字節(jié),沒有終止NULL

BUF8
8位字符組成的字符串,沒前導(dǎo)和終止,用于放入8位數(shù)據(jù)

BUF<n>
最大長(zhǎng)度為n的Unicode字符串,沒有前導(dǎo)和終止

LINK
另一個(gè)資源的16位ID,類似于擁有指定資源的一個(gè)引用

LLINK
另一個(gè)資源的32位ID

SRLINK
自引用LINK,該類型字段值由資源編譯器自動(dòng)分配,不能自行提供初始化值,是一個(gè)32位ID

STRUCT
結(jié)構(gòu),創(chuàng)建本身就是STRUCT的字段,使用它可以把STRUCT嵌入到STRUCT中


◆Symbian開發(fā)用這些類型定義自己的自定義資源。可以自己去系統(tǒng)的rh文件里面看看,操作系統(tǒng)定義的一些資源,分析分析

下面是我在rss里寫的資源

 

  1. STRUCTDATA  
  2. {  
  3. WORDwrd;  
  4. LONGlng;  
  5. LTEXTltxt;//variablelength  
  6. BYTEbyt;  
  7. DOUBLEdbl;  
  8. }  
  9.  
  10. STRUCTDATAARRAY  
  11. {  
  12. STRUCTdataelement[];  
  13. }  
  14.  
  15. STRUCTMYCUSTOM  
  16. {  
  17. WORDwrd;  
  18. LONGlng;  
  19. LLINKdatas;  
  20. }  
  21.  
  22.  
  23. //  
  24. //-----  
  25.  
  26. RESOURCEDATAARRAYr_data_array  
  27. {  
  28. dataelement=  
  29. {  
  30. DATA  
  31. {  
  32. wrd=11;  
  33. lng=22;  
  34. ltxt="data1";  
  35. byt=1;  
  36. dbl=2.11;  
  37. },  
  38. DATA  
  39. {  
  40. wrd=33;  
  41. lng=44;  
  42. ltxt="data2";  
  43. byt=2;  
  44. dbl=3.11;  
  45. },  
  46. DATA  
  47. {  
  48. wrd=55;  
  49. lng=66;  
  50. ltxt="data3";  
  51. byt=3;  
  52. dbl=4.11;  
  53. }  
  54. };  
  55. }  
  56.  
  57. RESOURCEMYCUSTOMr_mycustom_data  
  58. {  
  59. wrd=10;  
  60. lng=1000;  
  61. datas=r_data_array;  
  62. }  
  63.  

 


在cpp里面讀取以上自己寫的資源

 

  1. HBufC8*resource=CCoeEnv::Static()->AllocReadResourceAsDes8LC(R_MYCUSTOM_DATA);  
  2. TResourceReaderreader;  
  3. reader.SetBuffer(resource);  
  4. TInta=reader.ReadInt16();  
  5. TIntb=reader.ReadInt32();  
  6. TIntres=reader.ReadInt32();  
  7. HBufC8*res1=CCoeEnv::Static()->AllocReadResourceAsDes8LC(res);//轉(zhuǎn)到LLINK的資源地址  
  8. reader.SetBuffer(res1);  
  9.  
  10. TIntcount=reader.ReadInt16();//數(shù)組用前兩個(gè)字節(jié)來標(biāo)識(shí)數(shù)組長(zhǎng)度  
  11. for(TInti=0;i<count;i++)  
  12. {  
  13. TIntwrd=reader.ReadInt16();  
  14. TIntlng=reader.ReadInt32();  
  15. TPtrCptr=reader.ReadTPtrC();  
  16. TIntbte=reader.ReadUint8();  
  17. TRealdbl=reader.ReadReal64();  
  18. }  
  19. CleanupStack::PopAndDestroy(2);  

 

 

責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-07-12 09:34:59

Symbian開發(fā)

2011-06-16 15:17:16

2010-07-02 09:54:32

Symbian開發(fā)

2010-04-22 11:42:44

Symbian開發(fā)

2012-05-24 09:38:08

Symbian

2011-06-16 16:21:06

Qt Symbian FAQ

2011-06-16 13:56:48

Qt Symbian DLL

2010-04-12 11:35:38

Symbian開發(fā)

2010-05-22 10:38:15

Symbian開發(fā)

2010-07-12 09:43:38

Symbian開發(fā)

2010-10-27 13:14:24

Symbian

2010-06-22 10:01:40

Symbian開發(fā)

2010-06-02 10:33:52

Symbian開發(fā)

2009-04-12 09:03:50

Symbian諾基亞移動(dòng)OS

2011-06-08 13:45:44

Symbian Qt

2009-04-12 08:57:50

Symbian諾基亞移動(dòng)OS

2012-12-24 15:07:28

symbian

2010-09-07 17:27:54

Carbide.c++Symbian移動(dòng)開發(fā)

2009-04-12 09:02:32

Symbian諾基亞移動(dòng)OS

2009-04-12 09:06:00

Symbian諾基亞移動(dòng)OS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)