锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产成人精品综合久久久,久久久久国产亚洲AV麻豆,久久精品国产亚洲77777http://www.shnenglu.com/kyee/articles/146913.htmlKyee YeKyee YeSun, 22 May 2011 04:00:00 GMThttp://www.shnenglu.com/kyee/articles/146913.htmlhttp://www.shnenglu.com/kyee/comments/146913.htmlhttp://www.shnenglu.com/kyee/articles/146913.html#Feedback0http://www.shnenglu.com/kyee/comments/commentRss/146913.htmlhttp://www.shnenglu.com/kyee/services/trackbacks/146913.html--------------------------------------------------------------------------------
鏍囬: B-tree鏌ユ壘鍑芥暟
浣滆? 鍙墮铏?br />鏃ユ湡: 2011.04.19
--------------------------------------------------------------------------------

鍦?B-tree 涓悳绱㈤敭鍊鹼紝緇撶偣鍐呭彲浠ヤ嬌鐢ㄤ簩鍒嗘煡鎵撅紝鑻ヨ鏌ユ壘鎸囧畾鑼冨洿鍐呮暟鎹笌鏌ユ壘閿?br />鐩告瘮鐩稿瑕佸鏉備竴鐐廣?/p>

鐜扮粰鍑烘煡鎵炬寚瀹氳寖鍥村唴絎竴欏瑰拰鏈鍚庝竴欏規(guī)暟鎹殑紺轟緥浠g爜錛?/p>

 

  1 // B-tree 鐨勯」
  2 typedef struct
  3 {
  4    long        Key;                 // 閿?/span>
  5    void*       Link;                // 瀛愮粨鐐規(guī)垨鏁版嵁
  6 } TBTItem, *PBTItem;
  7 
  8 // B-tree 鐨勭粨鐐?/span>
  9 typedef struct
 10 {
 11    Byte        Count;               // 欏規(guī)暟[1..緇存暟]
 12    bool        IsLeaf;              // 鏄惁涓哄彾瀛愮粨鐐?/span>
 13    TBTItem     Items[100];          // 欏瑰垪琛?鍋囪 B-tree 緇村害涓?nbsp;100)
 14 } TBTNode, *PBTNode;
 15 
 16 // 鏌ユ壘鑼冨洿鍐呯殑絎竴欏瑰茍榪斿洖搴忓彿(娉? AFrom < ATo)
 17 TBTNode* FindFirstItem(TBTNode* ARoot, long AFrom,  long  ATo,
 18                                        bool AIsInc, long& AIndex)
 19 {
 20    // 鍒濆鍖?/span>
 21    bool     boolRet  = false;
 22    TBTNode* pNode    = ARoot;
 23    TBTNode* pNext    = NULL;
 24    long     intNext  = 0;
 25    long     intBegin, intEnd, intMid, intKey;
 26 
 27    // 寰幆鏌ユ壘灞?/span>
 28    while (pNode != NULL)
 29    {
 30       // 鍒濆鍖?娉? pNode->Count >= 1)
 31       intEnd   = pNode->Count - 1;
 32       intBegin = 0;
 33 
 34       // 緇撶偣鍐呬簩鍒嗘煡鎵?/span>
 35       while (intBegin <= intEnd)
 36       {
 37          intMid = (intBegin + intEnd) >> 1;
 38          intKey = pNode->Items[intMid].Key;
 39          if (intKey < AFrom)
 40             intBegin = intMid + 1;
 41          else
 42          {
 43             intEnd   = intMid - 1;
 44             if (intKey == AFrom)
 45             {
 46                intBegin = intMid;
 47                break;
 48             }
 49          }
 50       }
 51 
 52       // 鍒ゆ柇鏄惁涓哄彾緇撶偣
 53       AIndex = intBegin;
 54       if (pNode->IsLeaf)
 55       {
 56          if (intKey != AFrom)
 57          {
 58             if (AIndex != pNode->Count)
 59             {
 60                boolRet = (pNode->Items[AIndex].Key <= ATo);
 61                break;
 62             }
 63          }
 64          else if (AIsInc)
 65          {
 66             boolRet = true;
 67             break;
 68          }
 69          else if (AIndex < pNode->Count - 1)
 70          {
 71             AIndex++;
 72             boolRet = (pNode->Items[AIndex].Key <= ATo);
 73             break;
 74          }
 75 
 76          // 涓嬩竴緇撶偣欏?/span>
 77          if (pNext == NULL)
 78             break;
 79          else
 80          {
 81             pNode = (TBTNode*)pNext->Item[intNext].Link;
 82             pNext = NULL;
 83          }
 84       }
 85       else
 86       {
 87          // 鏍℃绱㈠紩
 88          if (AIndex == pNode->Count)
 89             AIndex = pNode->Count - 1;
 90          else if (intKey == AFrom)
 91          {
 92             if (AIndex < pNode->Count - 1)
 93             {
 94                intNext  = AIndex + 1;
 95                pNext    = (pNode->Items[intNext].Key <= To) ? pNode : NULL;
 96             }
 97          }
 98          else if (AIndex == 0)
 99             pNext    = NULL;
100          else
101          {
102             intNext  = AIndex--;
103             pNext    = (pNode->Items[intNext].Key <= To) ? pNode : NULL;
104          }
105 
106          // 瀛愮粨鐐?/span>
107          pNode = (TBTNode*)pNode->Item[AIndex].Link;
108       }
109    }
110 
111    // 榪斿洖緇撴灉
112    return boolRet ? pNode : NULL;
113 }
114 
115 // 鏌ユ壘鑼冨洿鍐呯殑鏈鍚庝竴欏瑰茍榪斿洖搴忓彿(娉? AFrom < ATo)
116 TBTNode* FindLastItem(TBTNode* ARoot, long AFrom,  long  ATo,
117                                       bool AIsInc, long& AIndex)
118 {
119    // 鍒濆鍖?/span>
120    bool     boolRet  = false;
121    TBTNode* pNode    = ARoot;
122    long     intBegin, intEnd, intMid, intKey;
123 
124    // 寰幆鏌ユ壘灞?/span>
125    while (pNode != NULL)
126    {
127       // 鍒濆鍖?娉? pNode->Count >= 1)
128       intEnd   = pNode->Count - 1;
129       intBegin = 0;
130 
131       // 緇撶偣鍐呬簩鍒嗘煡鎵?/span>
132       while (intBegin <= intEnd)
133       {
134          intMid = (intBegin + intEnd) >> 1;
135          intKey = pNode->Items[intMid].Key;
136          if (intKey < ATo)
137             intBegin = intMid + 1;
138          else
139          {
140             intEnd   = intMid - 1;
141             if (intKey == ATo)
142             {
143                intBegin = intMid;
144                break;
145             }
146          }
147       }
148 
149       // 鍒ゆ柇鏄惁涓哄彾緇撶偣
150       AIndex = intBegin;
151       if (pNode->IsLeaf)
152       {
153          if ((intKey == ATo) && AIsInc)
154             boolRet = true;
155          else if (AIndex > 0)
156          {
157             AIndex--;
158             boolRet = (pNode->Items[AIndex].Key >= AFrom);
159          }
160 
161          break;
162       }
163       else
164       {
165          // 鏍℃绱㈠紩
166          if ((intKey == ATo) && AIsInc)
167             ;
168          else if (AIndex > 0)
169             AIndex--;
170          else
171             break;
172 
173          // 瀛愮粨鐐?/span>
174          pNode = (TBTNode*)pNode->Item[AIndex].Link;
175       }
176    }
177 
178    // 榪斿洖緇撴灉
179    return boolRet ? pNode : NULL;
180 }
181 

 



Kyee Ye 2011-05-22 12:00 鍙戣〃璇勮
]]>
涓璇諱竴鍐欐儏鍐典笅錛屾棤閿佺幆褰㈤槦鍒楀浣曞疄鐜幫紵http://www.shnenglu.com/kyee/articles/146912.htmlKyee YeKyee YeSun, 22 May 2011 03:35:00 GMThttp://www.shnenglu.com/kyee/articles/146912.htmlhttp://www.shnenglu.com/kyee/comments/146912.htmlhttp://www.shnenglu.com/kyee/articles/146912.html#Feedback0http://www.shnenglu.com/kyee/comments/commentRss/146912.htmlhttp://www.shnenglu.com/kyee/services/trackbacks/146912.html--------------------------------------------------------------------------------
鏍囬: 涓璇諱竴鍐欐儏鍐典笅錛屾棤閿佺幆褰㈤槦鍒楀浣曞疄鐜幫紵
浣滆? 鍙墮铏?br />鏃ユ湡: 2009.03.09
--------------------------------------------------------------------------------

   鏃犻攣鐜艦闃熷垪鐨勮璁″強紺轟緥錛岃鍐欓槦鍒楁渶澶х殑搴旂敤鏄細(xì)涓涓嚎紼嬫敹鍒頒簨浠舵垨娑堟伅鍚庣洿鎺?br />鍔犲叆鍒伴槦鍒楋紝鑰屽鐞嗙嚎紼嬭鍙栭槦鍒椾腑鐨勪簨浠舵垨娑堟伅錛屽茍鍔犱互澶勭悊銆傚湪榪欎釜妯″紡涓紝鏈変竴涓嚎
紼嬭礋璐e啓錛屽涓鐞嗙嚎紼嬭鑷繁鐨勯槦鍒楀茍澶勭悊銆傝櫧鐒剁湅璧鋒潵璞℃槸涓鍐欏璇伙紝鍏跺疄涓嶇劧錛岄拡瀵?br />鏌愪竴浜嬩歡闃熷垪鑰岃█錛屽彧鏈変竴涓嚎紼嬫槸鍐欎竴涓嚎紼嬫槸璇匯?/p>

   鐜艦涓璇諱竴鍐欓槦鍒椾腑錛屼笉闇瑕佹媴蹇僽nsigned long婧㈠嚭闂錛屽洜涓烘孩鍑哄悗鑷姩鍥炲綊錛岀浉鍑?br />鍊艱繕浼?xì)淇濈暀銆?/p>

 

  1 紺轟緥涓(娉細(xì)Max_Count 蹇呴』涓?nbsp;2 鐨勬寚鏁幫紝鍗籌細(xì)24816)錛?br />  2 
  3 // 闃熷垪灝哄
  4 #define Max_Count    4096
  5 #define Max_Mask     4095     // = Max_Count - 1
  6 
  7 // 鍙橀噺
  8 void*          List[Max_Count];
  9 unsigned long  Push_Count;
 10 unsigned long  Pop_Count;
 11 
 12 // 鍒濆鍖栭槦鍒?/span>
 13 void InitQueue()
 14 {
 15    Push_Count  = 0;
 16    Pop_Count   = 0;
 17    memset(List, 0sizeof(List));
 18 }
 19 
 20 // 鍔犲叆
 21 bool Push(void* AData)
 22 {
 23    if (Push_Count - Pop_Count < Max_Count)
 24    {
 25       List[Push_Count & Max_Mask] = AData;
 26       Push_Count++;
 27       return true;
 28    }
 29    else
 30       return false;
 31 }
 32 
 33 // 鍙栧嚭
 34 void* Pop()
 35 {
 36    // 鍒濆鍖?/span>
 37    void* result = NULL;
 38 
 39    // 鍒ゆ柇鏄惁涓虹┖
 40    if (Push_Count != Pop_Count)
 41    {
 42       result = List[Pop_Count & Max_Mask];
 43       Pop_Count++;
 44    }
 45 
 46    // 榪斿洖緇撴灉
 47    return result;
 48 }
 49 
 50 紺轟緥浜?娉細(xì)Max_Count >= 2)錛?br /> 51 
 52 // 闃熷垪灝哄
 53 #define Max_Count    4096
 54 #define High_Index   4095     // = Max_Count - 1
 55 
 56 // 鍙橀噺
 57 void*          List[Max_Count];
 58 unsigned long  Push_Count;
 59 unsigned long  Push_Index;
 60 unsigned long  Pop_Count;
 61 unsigned long  Pop_Index;
 62 
 63 // 鍒濆鍖栭槦鍒?/span>
 64 void InitQueue()
 65 {
 66    Push_Count  = 0;
 67    Push_Index  = 0;
 68    Pop_Count   = 0;
 69    Pop_Index   = 0;
 70    memset(List, 0sizeof(List));
 71 }
 72 
 73 // 鍔犲叆
 74 bool Push(void* AData)
 75 {
 76    if (Push_Count - Pop_Count < Max_Count)
 77    {
 78       List[Push_Index] = AData;
 79       Push_Count++;
 80       if (Push_Index == High_Index)
 81          Push_Index = 0;
 82       else
 83          Push_Index++;
 84 
 85       return true;
 86    }
 87    else
 88       return false;
 89 }
 90 
 91 // 鍙栧嚭
 92 void* Pop()
 93 {
 94    // 鍒濆鍖?/span>
 95    void* result = NULL;
 96 
 97    // 鍒ゆ柇鏄惁涓虹┖
 98    if (Push_Count != Pop_Count)
 99    {
100       result = List[Pop_Index];
101       Pop_Count++;
102       if (Pop_Index == High_Index)
103          Pop_Index = 0;
104       else
105          Pop_Index++;
106    }
107 
108    // 榪斿洖緇撴灉
109    return result;
110 }
111 

 



Kyee Ye 2011-05-22 11:35 鍙戣〃璇勮
]]>
涓璇諱竴鍐欐儏鍐典笅錛屾棤閿侀槦鍒楀浣曞疄鐜幫紵http://www.shnenglu.com/kyee/articles/146911.htmlKyee YeKyee YeSun, 22 May 2011 03:31:00 GMThttp://www.shnenglu.com/kyee/articles/146911.htmlhttp://www.shnenglu.com/kyee/comments/146911.htmlhttp://www.shnenglu.com/kyee/articles/146911.html#Feedback0http://www.shnenglu.com/kyee/comments/commentRss/146911.htmlhttp://www.shnenglu.com/kyee/services/trackbacks/146911.html--------------------------------------------------------------------------------
鏍囬: 涓璇諱竴鍐欐儏鍐典笅錛屾棤閿侀槦鍒楀浣曞疄鐜幫紵
浣滆? 鍙墮铏?br />鏃ユ湡: 2009.03.09
--------------------------------------------------------------------------------

   涓璇諱竴鍐欐儏鍐典笅錛屾棤閿侀槦鍒楀浣曞疄鐜幫紵鍏跺疄騫朵笉闅撅紝鍏堣璇翠竴璇諱竴鍐欐棤閿侀槦鍒楃殑瀹為檯搴?br />鐢ㄥ惂銆傝鍐欓槦鍒楁渶澶х殑搴旂敤鏄細(xì)涓涓嚎紼嬫敹鍒頒簨浠舵垨娑堟伅鍚庣洿鎺ュ姞鍏ュ埌闃熷垪錛岃屽鐞嗙嚎紼嬭
鍙栭槦鍒椾腑鐨勪簨浠舵垨娑堟伅錛屽茍鍔犱互澶勭悊銆傚湪榪欎釜妯″紡涓紝鏈変竴涓嚎紼嬭礋璐e啓錛屽涓鐞嗙嚎紼嬭
鑷繁鐨勯槦鍒楀茍澶勭悊銆傝櫧鐒剁湅璧鋒潵璞℃槸涓鍐欏璇伙紝鍏跺疄涓嶇劧錛岄拡瀵規(guī)煇涓浜嬩歡闃熷垪鑰岃█錛屽彧鏈変竴
涓嚎紼嬫槸鍐欎竴涓嚎紼嬫槸璇匯?/p>

   姝ょず渚嬪彲浠ュ皝瑁呮垚涓涓猀ueue綾伙紝鍦↘YLib涓湁TKYQueue綾伙紝鍏跺疄鐜板師鐞嗙浉鍚屻備唬鐮佺ず渚?br />濡備笅錛?/p>

 

 1 // 閾炬帴鏁版嵁欏圭粨鏋?/span>
 2 typedef struct TLinkItem
 3 {
 4    void*       Data;
 5    TLinkItem*  Next;
 6 *PLinkItem;
 7 
 8 TLinkItem*     FLinkHead;        // 闃熷垪澶?/span>
 9 TLinkItem*     FLinkTail;        // 闃熷垪灝?br />10 
11 // 鍒濆鍖栭槦鍒?/span>
12 void InitQueue()
13 {
14    // 鍒嗛厤闃熷垪澶撮」
15    FLinkTail = NULL;
16    FLinkHead = new TLinkItem;
17 
18    // 淇濊瘉 Head 鍜?nbsp;Tail 闈炵┖, 鏄竴涓嚎紼嬭涓涓嚎紼嬪啓鐨勫叧閿?
19    if (FLinkHead != NULL)
20    {
21       // 鍒濆鍖栭槦鍒楀ご
22       FLinkHead->Data = NULL;
23       FLinkHead->Next = NULL;
24       FLinkTail       = FLinkHead;
25    }
26    else
27       throw;
28 }
29 
30 // 鍔犲叆
31 bool Push(void* AData)
32 {
33    // 鍒濆鍖?/span>
34    bool        result = false;
35    TLinkItem*  pItem  = new TLinkItem;
36 
37    // 鍔犲叆闃熷垪
38    if (pItem != NULL)
39    {
40       // 鍐欏?/span>
41       pItem->Data     = AData;
42       pItem->Next     = NULL;
43 
44       // 鍔犲埌鏈熬
45       FLinkTail->Next = pItem;
46       FLinkTail       = pItem;
47 
48       // 榪斿洖緇撴灉
49       result = true;
50    }
51 
52    // 榪斿洖緇撴灉
53    return result;
54 }
55 
56 // 鍙栧嚭
57 void* Pop()
58 {
59    // 鍒濆鍖?/span>
60    void* result = NULL;
61 
62    // 璇誨彇欏?/span>
63    if (FLinkHead->Next != NULL)
64    {
65       // 鍙栧?/span>
66       TLinkItem* pItem = FLinkHead;
67       FLinkHead        = FLinkHead->Next;
68       result           = FLinkHead->Data;
69 
70       // 閲婃斁欏?/span>
71       delete pItem;
72    }
73 
74    // 榪斿洖緇撴灉
75    return result;
76 }
77 

 



Kyee Ye 2011-05-22 11:31 鍙戣〃璇勮
]]>
闃熷垪鍜屼簨浠剁殑閰嶅悎浣跨敤紺轟緥http://www.shnenglu.com/kyee/articles/146906.htmlKyee YeKyee YeSun, 22 May 2011 03:08:00 GMThttp://www.shnenglu.com/kyee/articles/146906.htmlhttp://www.shnenglu.com/kyee/comments/146906.htmlhttp://www.shnenglu.com/kyee/articles/146906.html#Feedback0http://www.shnenglu.com/kyee/comments/commentRss/146906.htmlhttp://www.shnenglu.com/kyee/services/trackbacks/146906.html--------------------------------------------------------------------------------
鏍囬: 闃熷垪鍜屼簨浠剁殑閰嶅悎浣跨敤紺轟緥
浣滆? 鍙墮铏?br />鏃ユ湡: 2009.09.09
--------------------------------------------------------------------------------

   涓涓嚎紼嬫敹鍒頒簨浠舵垨娑堟伅鍚庣洿鎺ュ姞鍏ュ埌闃熷垪錛岃屽鐞嗙嚎紼嬭鍙栭槦鍒椾腑鐨勪簨浠舵垨娑堟伅錛屽茍
鍔犱互澶勭悊銆傚湪榪欎釜妯″紡涓紝鏈変竴涓嚎紼嬭礋璐e啓錛屽涓鐞嗙嚎紼嬭鑷繁鐨勯槦鍒楀茍澶勭悊銆傝櫧鐒剁湅
璧鋒潵璞℃槸涓鍐欏璇伙紝鍏跺疄涓嶇劧錛岄拡瀵規(guī)煇涓浜嬩歡闃熷垪鑰岃█錛屽彧鏈変竴涓嚎紼嬫槸鍐欎竴涓嚎紼嬫槸璇匯?/p>

闃熷垪鍜屼簨浠剁殑閰嶅悎浣跨敤紺轟緥濡備笅錛?/p>

 

  1 /* 鏂規(guī)硶涓: 鐙珛綰跨▼澶勭悊闃熷垪 */
  2 
  3 // 綰跨▼鎵ц浣?/span>
  4 void TDealThread::Execute()
  5 {
  6    // 鍒濆鍖?/span>
  7    Longword dwNo;
  8    Longword dwCount;
  9    TItem*   pItem;
 10 
 11    // 綰跨▼寰幆浣?/span>
 12    while (!Terminated())
 13    {
 14       // 絳夊緟浜嬩歡
 15       FEvent->Wait(INFINITE);
 16 
 17       // 寰幆澶勭悊浜嬩歡欏?/span>
 18       dwCount = FQueue->Count();
 19       for (dwNo = 0!Terminated() && (dwNo < dwCount); dwNo++)
 20       {
 21          pItem = (TItem*)FQueue->Pop();
 22          if (pItem != NULL)
 23          {
 24             // 澶勭悊浜嬩歡欏?br /> 25             // ???  
 26 
 27             // 閲婃斁欏?/span>
 28             delete pItem;
 29          }
 30       }
 31    }
 32 }
 33 
 34 // 娣誨姞浜嬩歡
 35 bool TDealThread::AddEvent(const TItem& AItem)
 36 {
 37    // 鍒濆鍖?/span>
 38    bool result = false;
 39 
 40    // 鍒ゆ柇綰跨▼鏄惁鏈粓姝?/span>
 41    if (!Terminated())
 42    {
 43       // 鍒濆鍖?/span>
 44       TItem* pItem;
 45 
 46       // 鏂板緩欏?/span>
 47       pItem  = new TItem;
 48       *pItem = AItem;
 49 
 50       // 鍔犲叆闃熷垪
 51       if (FQueue->Push(pItem))
 52       {
 53          // 浜嬩歡緗綅
 54          FEvent->Set();
 55          result = true;
 56       }
 57       else
 58          delete pItem;
 59    }
 60 
 61    // 榪斿洖緇撴灉
 62    return result;
 63 }
 64 
 65 // 鍏抽棴綰跨▼
 66 void TDealThread::Close()
 67 {
 68    // 緗粓姝㈡爣蹇?/span>
 69    Terminate();
 70    FEvent->Set();
 71 
 72    // 鍞ら啋浼戠湢綰跨▼
 73    if (!Finished() && Suspended())
 74       Resume();
 75 }
 76 
 77 /* 鏂規(guī)硶浜? 澶栭儴綰跨▼澶勭悊 */
 78 
 79 // 澶栭儴綰跨▼鍙栦簨浠?/span>
 80 bool TOwnerObj::GetEvent(TItem& AItem, Longword ATimeout)
 81 {
 82    // 鍏堝彇闃熷垪欏?/span>
 83    bool result = GetItem(AItem);
 84 
 85    // 鍒ゆ柇鏄惁闇瑕佺瓑寰?/span>
 86    if (!result && (ATimeout != 0))
 87    {
 88       // 鍒濆鍖?/span>
 89       Longword dwBegin = GetTickCount();
 90 
 91       // 寰幆絳夊緟浜嬩歡
 92       while (GetTickCount() - dwBegin < ATimeout)
 93       {
 94          // 闃叉鍏跺畠澶氱嚎紼嬭鍙栨椂淇″彿鍙栦笉鍒? 50 姣絳夊緟
 95          FEvent->Wait(50);
 96 
 97          // 鍙栭槦鍒楅」
 98          if (GetItem(AItem))
 99          {
100             result = true;
101             break;
102          }
103       }
104    }
105 
106    // 榪斿洖緇撴灉
107    return result;
108 }
109 
110 // 娣誨姞浜嬩歡
111 bool TOwnerObj::AddEvent(const TItem& AItem)
112 {
113    // 鍒濆鍖?/span>
114    bool   result = false;
115    TItem* pItem;
116 
117    // 鏂板緩欏?/span>
118    pItem  = new TItem;
119    *pItem = AItem;
120 
121    // 鍔犲叆闃熷垪
122    if (FQueue->Push(pItem))
123    {
124       // 浜嬩歡緗綅
125       FEvent->Set();
126       result = true;
127    }
128    else
129       delete pItem;
130 
131    // 榪斿洖緇撴灉
132    return result;
133 }
134 
135 // 鍙栭槦鍒楅」
136 bool TOwnerObj::GetItem(TItem& AItem)
137 {
138    // 鍒濆鍖?/span>
139    TItem* pItem;
140    bool   result = false;
141 
142    // 鍒ゆ柇闃熷垪鏄惁闈炵┖
143    while (FQueue->Count() != 0)
144    {
145       pItem = (TItem*)FQueue->Pop();
146       if (pItem != NULL)
147       {
148          AItem  = *pItem;
149          result = true;
150 
151          // 閲婃斁欏?/span>
152          delete pItem;
153          break;
154       }
155    }
156 
157    // 榪斿洖緇撴灉
158    return result;
159 }
160 

 



Kyee Ye 2011-05-22 11:08 鍙戣〃璇勮
]]>
濡備綍浣跨敤綾葷殑鎴愬憳鏂規(guī)硶鎸囬拡錛?/title><link>http://www.shnenglu.com/kyee/articles/146905.html</link><dc:creator>Kyee Ye</dc:creator><author>Kyee Ye</author><pubDate>Sun, 22 May 2011 03:01:00 GMT</pubDate><guid>http://www.shnenglu.com/kyee/articles/146905.html</guid><wfw:comment>http://www.shnenglu.com/kyee/comments/146905.html</wfw:comment><comments>http://www.shnenglu.com/kyee/articles/146905.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/kyee/comments/commentRss/146905.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/kyee/services/trackbacks/146905.html</trackback:ping><description><![CDATA[<p>--------------------------------------------------------------------------------<br />鏍囬: 濡備綍浣跨敤綾葷殑鎴愬憳鏂規(guī)硶鎸囬拡錛?br />浣滆? 鍙墮铏?br />鏃ユ湡: 2009.03.22<br />--------------------------------------------------------------------------------</p> <p>   鍏跺疄錛岀被鏂規(guī)硶璋冪敤鍘熺悊寰堢畝鍗曪紝鑻ョ煡閬撳浣曚嬌鐢–璇█妯℃嫙綾誨疄鐜板氨鐭ラ亾鎬庝箞鍥炰簨浜嗭紝鍙?br />鏄繖涓伐浣滅敱緙栬瘧鍣ㄦ潵鍋氱艦浜嗐傝皟鐢ㄦ柟娉曚笌璋冪敤鍑芥暟鐨勫尯鍒槸鍦ㄨ皟鐢ㄦ柟娉曟椂錛岀紪璇戝櫒鎶婂綋鍓?br />瀵硅薄鐨勬寚閽堝綋鍋氱涓涓弬鏁頒紶鍏ワ紝鍏跺畠鍙傛暟鐨勪紶閫掍笌鍑芥暟娌℃湁鍖哄埆錛屼篃灝辮錛岃繖涓烘彁渚涘洖璋?br />浜嬩歡鐨勬柟娉曟寚閽堟彁渚涗竴鏉℃柟渚夸箣闂ㄣ傛柟娉曟寚閽堜笉鑳芥互鐢紝鐢ㄥソ瀹冨彲浠ヤ嬌浣犵殑瑙嗛噹鏇村姞寮闃旓紒</p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-family: Courier; font-size: 10pt; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">  1</span> <span style="color: #008000">/*</span><span style="color: #008000"> TObject - 鍩虹被 </span><span style="color: #008000">*/</span><span style="color: #000000"><br /></span><span style="color: #008080">  2</span> <span style="color: #000000"><br /></span><span style="color: #008080">  3</span> <span style="color: #000000"></span><span style="color: #0000ff">class</span><span style="color: #000000"> TObject<br /></span><span style="color: #008080">  4</span> <span style="color: #000000">{<br /></span><span style="color: #008080">  5</span> <span style="color: #000000">};<br /></span><span style="color: #008080">  6</span> <span style="color: #000000"><br /></span><span style="color: #008080">  7</span> <span style="color: #000000"><br /></span><span style="color: #008080">  8</span> <span style="color: #000000"></span><span style="color: #008000">/*</span><span style="color: #008000"> TDemoA - A 綾?nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br /></span><span style="color: #008080">  9</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 10</span> <span style="color: #000000"></span><span style="color: #0000ff">class</span><span style="color: #000000"> TDemoA<br /></span><span style="color: #008080"> 11</span> <span style="color: #000000">{<br /></span><span style="color: #008080"> 12</span> <span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">:<br /></span><span style="color: #008080"> 13</span> <span style="color: #000000">   TDemoA();<br /></span><span style="color: #008080"> 14</span> <span style="color: #000000">   </span><span style="color: #0000ff">virtual</span><span style="color: #000000"> </span><span style="color: #000000">~</span><span style="color: #000000">TDemoA();<br /></span><span style="color: #008080"> 15</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 16</span> <span style="color: #000000">   </span><span style="color: #0000ff">void</span><span style="color: #000000">  AF1(</span><span style="color: #0000ff">void</span><span style="color: #000000">*</span><span style="color: #000000"> AParam);<br /></span><span style="color: #008080"> 17</span> <span style="color: #000000">   </span><span style="color: #0000ff">void</span><span style="color: #000000">  AF2(</span><span style="color: #0000ff">const</span><span style="color: #000000"> </span><span style="color: #0000ff">char</span><span style="color: #000000">*</span><span style="color: #000000"> AStr, </span><span style="color: #0000ff">long</span><span style="color: #000000"> AValue);<br /></span><span style="color: #008080"> 18</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 19</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> ??? <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /> <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /></span><span style="color: #008000"><br /></span><span style="color: #008080"> 20</span> <span style="color: #008000"></span><span style="color: #000000">};<br /></span><span style="color: #008080"> 21</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 22</span> <span style="color: #000000"></span><span style="color: #008000">/*</span><span style="color: #008000"> TDemoB - B 綾?nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br /></span><span style="color: #008080"> 23</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 24</span> <span style="color: #000000"></span><span style="color: #0000ff">class</span><span style="color: #000000"> TDemoB<br /></span><span style="color: #008080"> 25</span> <span style="color: #000000">{<br /></span><span style="color: #008080"> 26</span> <span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">:<br /></span><span style="color: #008080"> 27</span> <span style="color: #000000">   TDemoB();<br /></span><span style="color: #008080"> 28</span> <span style="color: #000000">   </span><span style="color: #0000ff">virtual</span><span style="color: #000000"> </span><span style="color: #000000">~</span><span style="color: #000000">TDemoB();<br /></span><span style="color: #008080"> 29</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 30</span> <span style="color: #000000">   </span><span style="color: #0000ff">void</span><span style="color: #000000">  BF1(</span><span style="color: #0000ff">void</span><span style="color: #000000">*</span><span style="color: #000000"> AParam);<br /></span><span style="color: #008080"> 31</span> <span style="color: #000000">   </span><span style="color: #0000ff">void</span><span style="color: #000000">  BF2(</span><span style="color: #0000ff">const</span><span style="color: #000000"> </span><span style="color: #0000ff">char</span><span style="color: #000000">*</span><span style="color: #000000"> AStr, </span><span style="color: #0000ff">long</span><span style="color: #000000"> AValue);<br /></span><span style="color: #008080"> 32</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 33</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> ??? <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /> <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /></span><span style="color: #008000"><br /></span><span style="color: #008080"> 34</span> <span style="color: #008000"></span><span style="color: #000000">};<br /></span><span style="color: #008080"> 35</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 36</span> <span style="color: #000000"></span><span style="color: #008000">/*</span><span style="color: #008000"> TDemoC - C 綾?nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br /></span><span style="color: #008080"> 37</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 38</span> <span style="color: #000000"></span><span style="color: #0000ff">class</span><span style="color: #000000"> TDemoC<br /></span><span style="color: #008080"> 39</span> <span style="color: #000000">{<br /></span><span style="color: #008080"> 40</span> <span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">:<br /></span><span style="color: #008080"> 41</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> TOnFunc1 浜嬩歡綾誨瀷</span><span style="color: #008000"><br /></span><span style="color: #008080"> 42</span> <span style="color: #008000"></span><span style="color: #000000">   typedef </span><span style="color: #0000ff">void</span><span style="color: #000000"> (TObject::</span><span style="color: #000000">*</span><span style="color: #000000">TDoFunc1)(</span><span style="color: #0000ff">void</span><span style="color: #000000">*</span><span style="color: #000000"> AParam);<br /></span><span style="color: #008080"> 43</span> <span style="color: #000000">   typedef </span><span style="color: #0000ff">struct</span><span style="color: #000000"><br /></span><span style="color: #008080"> 44</span> <span style="color: #000000">   {<br /></span><span style="color: #008080"> 45</span> <span style="color: #000000">      TDoFunc1          Method;<br /></span><span style="color: #008080"> 46</span> <span style="color: #000000">      </span><span style="color: #0000ff">void</span><span style="color: #000000">*</span><span style="color: #000000">             Object;<br /></span><span style="color: #008080"> 47</span> <span style="color: #000000">   } TOnFunc1;<br /></span><span style="color: #008080"> 48</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 49</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> TOnFunc2 浜嬩歡綾誨瀷</span><span style="color: #008000"><br /></span><span style="color: #008080"> 50</span> <span style="color: #008000"></span><span style="color: #000000">   typedef </span><span style="color: #0000ff">void</span><span style="color: #000000"> (TObject::</span><span style="color: #000000">*</span><span style="color: #000000">TDoFunc2)(</span><span style="color: #0000ff">const</span><span style="color: #000000"> </span><span style="color: #0000ff">char</span><span style="color: #000000">*</span><span style="color: #000000"> AStr, </span><span style="color: #0000ff">long</span><span style="color: #000000"> AValue);<br /></span><span style="color: #008080"> 51</span> <span style="color: #000000">   typedef </span><span style="color: #0000ff">struct</span><span style="color: #000000"><br /></span><span style="color: #008080"> 52</span> <span style="color: #000000">   {<br /></span><span style="color: #008080"> 53</span> <span style="color: #000000">      TDoFunc2          Method;<br /></span><span style="color: #008080"> 54</span> <span style="color: #000000">      </span><span style="color: #0000ff">void</span><span style="color: #000000">*</span><span style="color: #000000">             Object;<br /></span><span style="color: #008080"> 55</span> <span style="color: #000000">   } TOnFunc2;<br /></span><span style="color: #008080"> 56</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 57</span> <span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">:<br /></span><span style="color: #008080"> 58</span> <span style="color: #000000">   TDemoC();<br /></span><span style="color: #008080"> 59</span> <span style="color: #000000">   </span><span style="color: #0000ff">virtual</span><span style="color: #000000"> </span><span style="color: #000000">~</span><span style="color: #000000">TDemoC();<br /></span><span style="color: #008080"> 60</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 61</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> Func1</span><span style="color: #008000"><br /></span><span style="color: #008080"> 62</span> <span style="color: #008000"></span><span style="color: #000000">   </span><span style="color: #0000ff">void</span><span style="color: #000000">  Func1(</span><span style="color: #0000ff">void</span><span style="color: #000000">*</span><span style="color: #000000"> AParam)<br /></span><span style="color: #008080"> 63</span> <span style="color: #000000">   {<br /></span><span style="color: #008080"> 64</span> <span style="color: #000000">      </span><span style="color: #0000ff">if</span><span style="color: #000000"> (OnFunc1.Method </span><span style="color: #000000">!=</span><span style="color: #000000"> NULL)<br /></span><span style="color: #008080"> 65</span> <span style="color: #000000">         ((TObject</span><span style="color: #000000">*</span><span style="color: #000000">)OnFunc1.Object</span><span style="color: #000000">->*</span><span style="color: #000000">OnFunc1.Method)(AParam);<br /></span><span style="color: #008080"> 66</span> <span style="color: #000000">   }<br /></span><span style="color: #008080"> 67</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 68</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> Func2</span><span style="color: #008000"><br /></span><span style="color: #008080"> 69</span> <span style="color: #008000"></span><span style="color: #000000">   </span><span style="color: #0000ff">void</span><span style="color: #000000">  Func2(</span><span style="color: #0000ff">const</span><span style="color: #000000"> </span><span style="color: #0000ff">char</span><span style="color: #000000">*</span><span style="color: #000000"> AStr, </span><span style="color: #0000ff">long</span><span style="color: #000000"> AValue)<br /></span><span style="color: #008080"> 70</span> <span style="color: #000000">   {<br /></span><span style="color: #008080"> 71</span> <span style="color: #000000">      </span><span style="color: #0000ff">if</span><span style="color: #000000"> (OnFunc2.Method </span><span style="color: #000000">!=</span><span style="color: #000000"> NULL)<br /></span><span style="color: #008080"> 72</span> <span style="color: #000000">         ((TObject</span><span style="color: #000000">*</span><span style="color: #000000">)OnFunc2.Object</span><span style="color: #000000">->*</span><span style="color: #000000">OnFunc2.Method)(AStr, AValue);<br /></span><span style="color: #008080"> 73</span> <span style="color: #000000">   }<br /></span><span style="color: #008080"> 74</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 75</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> 浜嬩歡</span><span style="color: #008000"><br /></span><span style="color: #008080"> 76</span> <span style="color: #008000"></span><span style="color: #000000">   TOnFunc1    OnFunc1;<br /></span><span style="color: #008080"> 77</span> <span style="color: #000000">   TOnFunc1    OnFunc2;<br /></span><span style="color: #008080"> 78</span> <span style="color: #000000">};<br /></span><span style="color: #008080"> 79</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 80</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 81</span> <span style="color: #000000"></span><span style="color: #008000">//</span><span style="color: #008000"> 渚嬪瓙</span><span style="color: #008000"><br /></span><span style="color: #008080"> 82</span> <span style="color: #008000"></span><span style="color: #000000">TDemoA A;<br /></span><span style="color: #008080"> 83</span> <span style="color: #000000">TDemoB B;<br /></span><span style="color: #008080"> 84</span> <span style="color: #000000">TDemoC C;<br /></span><span style="color: #008080"> 85</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 86</span> <span style="color: #000000"></span><span style="color: #0000ff">int</span><span style="color: #000000"> demo()<br /></span><span style="color: #008080"> 87</span> <span style="color: #000000">{<br /></span><span style="color: #008080"> 88</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> ??? <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /> <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /></span><span style="color: #008000"><br /></span><span style="color: #008080"> 89</span> <span style="color: #008000"></span><span style="color: #000000"><br /></span><span style="color: #008080"> 90</span> <span style="color: #000000">   C.OnFunc1.Object  </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">&</span><span style="color: #000000">B;<br /></span><span style="color: #008080"> 91</span> <span style="color: #000000">   C.OnFunc1.Method  </span><span style="color: #000000">=</span><span style="color: #000000"> (TDemoC::TDoFunc1)</span><span style="color: #000000">&</span><span style="color: #000000">TDemoB::BF1;<br /></span><span style="color: #008080"> 92</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 93</span> <span style="color: #000000">   C.OnFunc2.Object  </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">&</span><span style="color: #000000">A;<br /></span><span style="color: #008080"> 94</span> <span style="color: #000000">   C.OnFunc2.Method  </span><span style="color: #000000">=</span><span style="color: #000000"> (TDemoC::TDoFunc2)</span><span style="color: #000000">&</span><span style="color: #000000">TDemoA::AF2;<br /></span><span style="color: #008080"> 95</span> <span style="color: #000000"><br /></span><span style="color: #008080"> 96</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> 璋冪敤 C 鏂規(guī)硶</span><span style="color: #008000"><br /></span><span style="color: #008080"> 97</span> <span style="color: #008000"></span><span style="color: #000000">   C.Func1(<img alt="" src="http://www.shnenglu.com/Images/dot.gif" />);     </span><span style="color: #008000">//</span><span style="color: #008000"> <=> B.BF1(<img alt="" src="http://www.shnenglu.com/Images/dot.gif" />);</span><span style="color: #008000"><br /></span><span style="color: #008080"> 98</span> <span style="color: #008000"></span><span style="color: #000000">   C.Func2(<img alt="" src="http://www.shnenglu.com/Images/dot.gif" />);     </span><span style="color: #008000">//</span><span style="color: #008000"> <=> A.AF2(<img alt="" src="http://www.shnenglu.com/Images/dot.gif" />);<br /></span><span style="color: #008080"> 99</span> <span style="color: #008000"><br /></span><span style="color: #008080">100</span> <span style="color: #008000">   </span><span style="color: #008000">//</span><span style="color: #008000"> ??? <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /> <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /></span><span style="color: #008000"><br /></span><span style="color: #008080">101</span> <span style="color: #008000"></span><span style="color: #000000"><br /></span><span style="color: #008080">102</span> <span style="color: #000000">   C.OnFunc1.Object  </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">&</span><span style="color: #000000">A;<br /></span><span style="color: #008080">103</span> <span style="color: #000000">   C.OnFunc1.Method  </span><span style="color: #000000">=</span><span style="color: #000000"> (TDemoC::TDoFunc1)</span><span style="color: #000000">&</span><span style="color: #000000">TDemoA::AF1;<br /></span><span style="color: #008080">104</span> <span style="color: #000000"><br /></span><span style="color: #008080">105</span> <span style="color: #000000">   C.OnFunc2.Object  </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">&</span><span style="color: #000000">B;<br /></span><span style="color: #008080">106</span> <span style="color: #000000">   C.OnFunc2.Method  </span><span style="color: #000000">=</span><span style="color: #000000"> (TDemoC::TDoFunc2)</span><span style="color: #000000">&</span><span style="color: #000000">TDemoB::BF2;<br /></span><span style="color: #008080">107</span> <span style="color: #000000"><br /></span><span style="color: #008080">108</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> 璋冪敤 C 鏂規(guī)硶</span><span style="color: #008000"><br /></span><span style="color: #008080">109</span> <span style="color: #008000"></span><span style="color: #000000">   C.Func1(<img alt="" src="http://www.shnenglu.com/Images/dot.gif" />);     </span><span style="color: #008000">//</span><span style="color: #008000"> <=> A.AF1(<img alt="" src="http://www.shnenglu.com/Images/dot.gif" />);</span><span style="color: #008000"><br /></span><span style="color: #008080">110</span> <span style="color: #008000"></span><span style="color: #000000">   C.Func2(<img alt="" src="http://www.shnenglu.com/Images/dot.gif" />);     </span><span style="color: #008000">//</span><span style="color: #008000"> <=> B.BF2(<img alt="" src="http://www.shnenglu.com/Images/dot.gif" />);<br /></span><span style="color: #008080">111</span> <span style="color: #008000"><br /></span><span style="color: #008080">112</span> <span style="color: #008000">   </span><span style="color: #008000">//</span><span style="color: #008000"> ??? <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /> <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /></span><span style="color: #008000"><br /></span><span style="color: #008080">113</span> <span style="color: #008000"></span><span style="color: #000000"><br /></span><span style="color: #008080">114</span> <span style="color: #000000">}<br /></span><span style="color: #008080">115</span> <span style="color: #000000"><br /></span><span style="color: #008080">116</span> <span style="color: #000000"></span><span style="color: #008000">/*</span><span style="color: #008000"> TKYFmtMemEvent - 鏍煎紡鍖栧唴瀛橀」浜嬩歡綾?nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br /></span><span style="color: #008080">117</span> <span style="color: #000000"><br /></span><span style="color: #008080">118</span> <span style="color: #000000"></span><span style="color: #0000ff">class</span><span style="color: #000000"> TKYFmtMemEvent<br /></span><span style="color: #008080">119</span> <span style="color: #000000">{<br /></span><span style="color: #008080">120</span> <span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">:<br /></span><span style="color: #008080">121</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> TOnFormat 浜嬩歡綾誨瀷</span><span style="color: #008000"><br /></span><span style="color: #008080">122</span> <span style="color: #008000"></span><span style="color: #000000">   typedef </span><span style="color: #0000ff">void</span><span style="color: #000000"> (TObject::</span><span style="color: #000000">*</span><span style="color: #000000">TDoFormat)(</span><span style="color: #0000ff">void</span><span style="color: #000000">*</span><span style="color: #000000"> AItem, Word ASize);<br /></span><span style="color: #008080">123</span> <span style="color: #000000">   typedef </span><span style="color: #0000ff">struct</span><span style="color: #000000"><br /></span><span style="color: #008080">124</span> <span style="color: #000000">   {<br /></span><span style="color: #008080">125</span> <span style="color: #000000">      TDoFormat         Method;<br /></span><span style="color: #008080">126</span> <span style="color: #000000">      </span><span style="color: #0000ff">void</span><span style="color: #000000">*</span><span style="color: #000000">             Object;<br /></span><span style="color: #008080">127</span> <span style="color: #000000">   } TOnFormat;<br /></span><span style="color: #008080">128</span> <span style="color: #000000"><br /></span><span style="color: #008080">129</span> <span style="color: #000000"></span><span style="color: #0000ff">public</span><span style="color: #000000">:<br /></span><span style="color: #008080">130</span> <span style="color: #000000">   TKYFmtMemEvent()  { Clear(); }<br /></span><span style="color: #008080">131</span> <span style="color: #000000">   </span><span style="color: #000000">~</span><span style="color: #000000">TKYFmtMemEvent() { Clear(); }<br /></span><span style="color: #008080">132</span> <span style="color: #000000"><br /></span><span style="color: #008080">133</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> 娓呴櫎</span><span style="color: #008000"><br /></span><span style="color: #008080">134</span> <span style="color: #008000"></span><span style="color: #000000">   </span><span style="color: #0000ff">void</span><span style="color: #000000">  Clear();<br /></span><span style="color: #008080">135</span> <span style="color: #000000"><br /></span><span style="color: #008080">136</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> 鎵ц OnInitialize 浜嬩歡</span><span style="color: #008000"><br /></span><span style="color: #008080">137</span> <span style="color: #008000"></span><span style="color: #000000">   </span><span style="color: #0000ff">void</span><span style="color: #000000">  DoInitialize(</span><span style="color: #0000ff">void</span><span style="color: #000000">*</span><span style="color: #000000"> AItem, Word ASize)<br /></span><span style="color: #008080">138</span> <span style="color: #000000">   {<br /></span><span style="color: #008080">139</span> <span style="color: #000000">      </span><span style="color: #0000ff">if</span><span style="color: #000000"> (OnInitialize.Method </span><span style="color: #000000">!=</span><span style="color: #000000"> NULL)<br /></span><span style="color: #008080">140</span> <span style="color: #000000">         ((TObject</span><span style="color: #000000">*</span><span style="color: #000000">)OnInitialize.Object</span><span style="color: #000000">->*</span><span style="color: #000000">OnInitialize.Method)(AItem, ASize);<br /></span><span style="color: #008080">141</span> <span style="color: #000000">   }<br /></span><span style="color: #008080">142</span> <span style="color: #000000"><br /></span><span style="color: #008080">143</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> 鎵ц OnFinalize 浜嬩歡</span><span style="color: #008000"><br /></span><span style="color: #008080">144</span> <span style="color: #008000"></span><span style="color: #000000">   </span><span style="color: #0000ff">void</span><span style="color: #000000">  DoFinalize(</span><span style="color: #0000ff">void</span><span style="color: #000000">*</span><span style="color: #000000"> AItem, Word ASize)<br /></span><span style="color: #008080">145</span> <span style="color: #000000">   {<br /></span><span style="color: #008080">146</span> <span style="color: #000000">      </span><span style="color: #0000ff">if</span><span style="color: #000000"> (OnFinalize.Method </span><span style="color: #000000">!=</span><span style="color: #000000"> NULL)<br /></span><span style="color: #008080">147</span> <span style="color: #000000">         ((TObject</span><span style="color: #000000">*</span><span style="color: #000000">)OnFinalize.Object</span><span style="color: #000000">->*</span><span style="color: #000000">OnFinalize.Method)(AItem, ASize);<br /></span><span style="color: #008080">148</span> <span style="color: #000000">   }<br /></span><span style="color: #008080">149</span> <span style="color: #000000"><br /></span><span style="color: #008080">150</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> 浜嬩歡</span><span style="color: #008000"><br /></span><span style="color: #008080">151</span> <span style="color: #008000"></span><span style="color: #000000">   TOnFormat   OnInitialize;<br /></span><span style="color: #008080">152</span> <span style="color: #000000">   TOnFormat   OnFinalize;<br /></span><span style="color: #008080">153</span> <span style="color: #000000"><br /></span><span style="color: #008080">154</span> <span style="color: #000000"></span><span style="color: #0000ff">protected</span><span style="color: #000000">:<br /></span><span style="color: #008080">155</span> <span style="color: #000000"></span><span style="color: #0000ff">private</span><span style="color: #000000">:<br /></span><span style="color: #008080">156</span> <span style="color: #000000">};<br /></span><span style="color: #008080">157</span> <span style="color: #000000"><br /></span><span style="color: #008080">158</span> <span style="color: #000000"></span><span style="color: #008000">//</span><span style="color: #008000"> 渚嬪瓙錛氬浣曡緗簨浠舵柟娉曟寚閽?/span><span style="color: #008000"><br /></span><span style="color: #008080">159</span> <span style="color: #008000"></span><span style="color: #0000ff">void</span><span style="color: #000000"> TDemo::SetEvent()<br /></span><span style="color: #008080">160</span> <span style="color: #000000">{<br /></span><span style="color: #008080">161</span> <span style="color: #000000">   FDemo.OnInitialize.Object </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">this</span><span style="color: #000000">;<br /></span><span style="color: #008080">162</span> <span style="color: #000000">   FDemo.OnInitialize.Method </span><span style="color: #000000">=</span><span style="color: #000000"> (TKYFmtMemEvent::TDoFormat)</span><span style="color: #000000">&</span><span style="color: #000000">TDemo::DoFormat;<br /></span><span style="color: #008080">163</span> <span style="color: #000000"><br /></span><span style="color: #008080">164</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> ??? <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /> <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /></span><span style="color: #008000"><br /></span><span style="color: #008080">165</span> <span style="color: #008000"></span><span style="color: #000000">}<br /></span><span style="color: #008080">166</span> <span style="color: #000000"><br /></span><span style="color: #008080">167</span> <span style="color: #000000"></span><span style="color: #008000">//</span><span style="color: #008000"> FDemo 鐨?nbsp;OnInitialize 浜嬩歡鏂規(guī)硶</span><span style="color: #008000"><br /></span><span style="color: #008080">168</span> <span style="color: #008000"></span><span style="color: #0000ff">void</span><span style="color: #000000"> TDemo::DoFormat(</span><span style="color: #0000ff">void</span><span style="color: #000000">*</span><span style="color: #000000"> AItem, Word ASize)<br /></span><span style="color: #008080">169</span> <span style="color: #000000">{<br /></span><span style="color: #008080">170</span> <span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> ??? <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /> <img alt="" src="http://www.shnenglu.com/Images/dot.gif" /></span><span style="color: #008000"><br /></span><span style="color: #008080">171</span> <span style="color: #008000"></span><span style="color: #000000">}<br /></span><span style="color: #008080">172</span> <span style="color: #000000"></span></div> <p><br />    鍥炶皟浜嬩歡鐨勬柟娉曟寚閽堥渶瑕丆++緙栬瘧鍣ㄦ敮鎸侊紝鑷沖皯VC鐨勪笉鍚岀増鏈強GCC緙栬瘧鍣ㄩ兘鏀寔銆?br />鍦╒C6鍜孷C2003涓緗柟娉曟寚閽堢浉瀵硅緝瀹芥澗錛孷C2005涔嬪悗灝卞緢涓ユ牸浜嗭紝濡備笅錛?br />FDemo.OnInitialize.Method = (TKYFmtMemEvent::TDoFormat)&TDemo::DoFormat;</p> <p>   榪欒浠g爜閮借涓嶅悓鐗堟湰VC緙栬瘧鍣ㄦ敮鎸侊紝浣嗗涓嬩唬鐮佸氨鍙兘琚玍C6銆乂C2003鏀寔錛?br />FDemo.OnInitialize.Method = (TKYFmtMemEvent::TDoFormat)DoFormat;<br /><br />   鍏跺疄錛岀被鏂規(guī)硶璋冪敤鍘熺悊寰堢畝鍗曪紝鑻ョ煡閬撳浣曚嬌鐢–璇█妯℃嫙綾誨疄鐜板氨鐭ラ亾鎬庝箞鍥炰簨浜嗭紝鍙?br />鏄繖涓伐浣滅敱緙栬瘧鍣ㄦ潵鍋氱艦浜嗐備笉榪囦笉鏄粈涔堟柟娉曢兘鍙互璋冪敤鐨勶紝濡傦細(xì)闈欐佹柟娉曞氨鍙兘褰撳仛<br />鍑芥暟鎸囬拡鏉ョ敤錛岃岄噸杞芥柟娉曘佽櫄鏂規(guī)硶絳夌瓑鏄笉鍙潬鐨勶紝鎵浠ユ渶濂戒嬌鐢ㄦ櫘閫氱殑綾繪柟娉曟寚閽堛?/p> <p>   璋冪敤鏂規(guī)硶涓庤皟鐢ㄥ嚱鏁扮殑鍖哄埆鏄湪璋冪敤鏂規(guī)硶鏃訛紝緙栬瘧鍣ㄦ妸褰撳墠瀵硅薄鐨勬寚閽堝綋鍋氱涓涓弬鏁頒紶<br />鍏ワ紝鍏跺畠鍙傛暟鐨勪紶閫掍笌鍑芥暟娌℃湁鍖哄埆錛屼篃灝辮錛岃繖涓烘彁渚涘洖璋冧簨浠剁殑鏂規(guī)硶鎸囬拡鎻愪緵涓鏉℃柟渚夸箣闂ㄣ?/p> <p>   鏂規(guī)硶鎸囬拡涓嶈兘婊ョ敤錛岀敤濂藉畠鍙互浣夸綘鐨勮閲庢洿鍔犲紑闃旓紒<br /></p><br /><br /><img src ="http://www.shnenglu.com/kyee/aggbug/146905.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/kyee/" target="_blank">Kyee Ye</a> 2011-05-22 11:01 <a href="http://www.shnenglu.com/kyee/articles/146905.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.nxyb.net.cn" target="_blank">精品蜜臀久久久久99网站</a>| <a href="http://www.818pkmu.cn" target="_blank">成人精品一区二区久久久</a>| <a href="http://www.songyuan163.net.cn" target="_blank">国内精品久久久久久久久电影网 </a>| <a href="http://www.52wysq.cn" target="_blank">精品乱码久久久久久夜夜嗨</a>| <a href="http://www.jlxrc.cn" target="_blank">草草久久久无码国产专区</a>| <a href="http://www.juntiankeji.cn" target="_blank">国产91久久精品一区二区</a>| <a href="http://www.52zqsq.cn" target="_blank">久久九九有精品国产23百花影院</a>| <a href="http://www.hzyzhongyuan.cn" target="_blank">2021久久国自产拍精品</a>| <a href="http://www.4o2ptp.cn" target="_blank">国产三级观看久久</a>| <a href="http://www.sdtra.cn" target="_blank">久久男人AV资源网站</a>| <a href="http://www.ruimen.com.cn" target="_blank">国产精品久久久久久久app</a>| <a href="http://www.xy-ly.com.cn" target="_blank">日韩精品久久久久久久电影蜜臀 </a>| <a href="http://www.waterbirds.cn" target="_blank">久久综合久久自在自线精品自</a>| <a href="http://www.tjpengzhi.cn" target="_blank">亚洲中文字幕久久精品无码APP</a>| <a href="http://www.jvqo.cn" target="_blank">精品久久久噜噜噜久久久</a>| <a href="http://www.snaiye.cn" target="_blank">精品久久人妻av中文字幕</a>| <a href="http://www.zodao.cn" target="_blank">久久精品国产免费一区</a>| <a href="http://www.52888666.cn" target="_blank">久久久久亚洲AV成人网人人软件</a>| <a href="http://www.cstshs.cn" target="_blank">久久久久久久97</a>| <a href="http://www.soumee.com.cn" target="_blank">AV无码久久久久不卡网站下载</a>| <a href="http://www.xsvt.cn" target="_blank">久久久久这里只有精品</a>| <a href="http://www.s36mbtm.cn" target="_blank">久久午夜免费视频</a>| <a href="http://www.xfqbaby.cn" target="_blank">久久精品中文无码资源站</a>| <a href="http://www.3-gold.cn" target="_blank">国产精品久久久99</a>| <a href="http://www.nbhaishun.cn" target="_blank">久久久久久曰本AV免费免费</a>| <a href="http://www.ptrjmfv.cn" target="_blank">国产精品18久久久久久vr</a>| <a href="http://www.xspree.cn" target="_blank">91久久精品国产免费直播</a>| <a href="http://www.dianwowang.cn" target="_blank">色妞色综合久久夜夜</a>| <a href="http://www.qxri.cn" target="_blank">中文字幕亚洲综合久久2</a>| <a href="http://www.phb321.cn" target="_blank">一本一道久久a久久精品综合 </a>| <a href="http://www.ktrb.net.cn" target="_blank">久久亚洲中文字幕精品一区四</a>| <a href="http://www.bitpter.cn" target="_blank">亚洲欧美日韩中文久久</a>| <a href="http://www.searchwiz.cn" target="_blank">国产成人久久777777</a>| <a href="http://www.sgcam.com.cn" target="_blank">亚洲欧美日韩中文久久</a>| <a href="http://www.ssc695.cn" target="_blank">久久久精品久久久久特色影视</a>| <a href="http://www.iyuhu.cn" target="_blank">久久天天躁狠狠躁夜夜网站</a>| <a href="http://www.918jj.cn" target="_blank">久久免费视频一区</a>| <a href="http://www.dq97.cn" target="_blank">久久亚洲欧美日本精品</a>| <a href="http://www.addlife.cn" target="_blank">亚洲国产欧美国产综合久久</a>| <a href="http://www.d4ycf2r.cn" target="_blank">国内精品久久久久久久coent</a>| <a href="http://www.lefanz.cn" target="_blank">亚洲女久久久噜噜噜熟女</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>