KLubCmpl_Blocker.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #ifndef KLUBCMPL_BLOCKER
  2. #define KLUBCMPL_BLOCKER
  3. #include "KEngine.h"
  4. #include "KList.h"
  5. #include "KNode.h"
  6. #include "assert.h"
  7. #include "KMemClass1.h"
  8. #include "KStrBase.h"
  9. #define KEYIF  1 
  10. #define KEYELSEIF 2
  11. #define KEYELSE  3
  12. #define KEYEND  4
  13. //extern int g_StrLen(LPSTR);
  14. //extern void g_StrCpy(LPSTR,LPSTR);
  15. //extern void g_StrCpyLen(LPSTR,LPSTR,int);
  16. //extern void g_StrRep(LPSTR lpDest, LPSTR lpSrc, LPSTR lpRep);
  17. class KLineNode: public KNode
  18. {
  19. public:
  20. KMemClass1  * m_pLineMem;
  21. void CreateNode(char * szLine){int nLen = g_StrLen(szLine);assert(nLen > 0); g_StrCpy((char *)m_pLineMem, szLine); };
  22. };
  23. class KStackNode:public KNode
  24. {
  25. public:
  26. KLineNode * m_pLine;
  27. int nKey;
  28. };
  29. class KLubCmpl_Blocker 
  30. {
  31. public:
  32. KList m_StackList;
  33. KList m_Lines; //
  34. KList m_RestLines; //end;--main()后面的代码
  35. KList  UnitsList;
  36. int  GetBuffer(KMemClass1 * &pMem); //转换后获得最终的Buffer
  37. void PushKey(KStackNode * pStackNode);
  38. KStackNode * PopKey();
  39. void ScanIf(KLineNode * pFirstNode);
  40. BOOL ExchangeCurLines();
  41. KLineNode* Load(LPSTR FileName);
  42. BOOL Write(LPSTR FileName);
  43. void Print();
  44. };
  45. #endif