?? dsacdobject.h
字號:
// dsACDObject.h: interface for the dsACDObject class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DSACDOBJECT_H__86EF7403_D4ED_4C15_B024_FB094E8E76F6__INCLUDED_)
#define AFX_DSACDOBJECT_H__86EF7403_D4ED_4C15_B024_FB094E8E76F6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "dsACDStruct.h"
/***********************************************************************
所有策略語句類的基類
***********************************************************************/
class dsACDObjectBase
{
public:
dsACDObjectBase(int id) : nID(id) { }
virtual ~dsACDObjectBase() {}
virtual PVOID Read() const = 0;
virtual void Write(PVOID p) = 0;
virtual void WritetoFile (CStdioFile& m_IOFile, int flag) = 0;
public:
int nID;
};
/***********************************************************************
處理鏈表結構中結點信息的類
***********************************************************************/
class dsMapHTreeToObj
{
public:
dsMapHTreeToObj() {pListHead = pListTail = NULL;}
~dsMapHTreeToObj() {
while (pListHead!=NULL)
{
ListMapItem *pTemp = pListHead;
pListHead = pListHead->pListNext;
delete pTemp->pACDObj;
delete pTemp;
}
}
struct ListMapItem {
HTREEITEM hTree;
dsACDObjectBase * pACDObj;
ListMapItem * pListNext;
} * pListHead, * pListTail;
// 在界面上增加一條語句時,在ListMapItem鏈表中添加一條對應的結點信息
void AddMapItem(HTREEITEM h, dsACDObjectBase *pObj);
// 在界面上刪除一條語句時,在ListMapItem鏈表中去掉對應的結點信息
void RemoveMapItem(HTREEITEM h);
// 刪除ListMapItem鏈表中所有結點的信息
void RemoveAllListItem();
void SetAt(HTREEITEM h, dsACDObjectBase *pObj);
// 在ListMapItem鏈表中把HTREEITEM hOldTree改成hNewTree
void SetTreeItem(HTREEITEM hOldTree, HTREEITEM hNewTree);
// 在ListMapItem鏈表中尋找對應于HTREEITEM h的結點
ListMapItem * Find(HTREEITEM h);
// 在ListMapItem鏈表中尋找pItem結點的前一個結點
ListMapItem * GetPreItem(ListMapItem *pItem);
// 在ListMapItem鏈表中獲取對應于HTREEITEM h的結點的具體信息(即:該結點是什么類型的對象)
dsACDObjectBase * FindObj(HTREEITEM h);
};
extern dsMapHTreeToObj g_MapObj;
/***********************************************************************
數據定義語句
***********************************************************************/
class dsACDDataDefine : public dsACDObjectBase
{
public:
dsACDDataDefine() : dsACDObjectBase(0X101) {}
~dsACDDataDefine() {}
virtual PVOID Read() const {return NULL;}
virtual void Write(PVOID p) {}
virtual void WritetoFile (CStdioFile& m_IOFile, int flag);
};
/***********************************************************************
返回值語句
***********************************************************************/
class dsACDReturnValue : public dsACDObjectBase
{
public:
dsACDReturnValue() : dsACDObjectBase(0X102) {}
~dsACDReturnValue() {}
virtual PVOID Read() const {return NULL;}
virtual void Write(PVOID p) {}
virtual void WritetoFile (CStdioFile& m_IOFile, int flag);
};
/***********************************************************************
流程開始語句
***********************************************************************/
class dsACDFlowBegin : public dsACDObjectBase
{
public:
dsACDFlowBegin() : dsACDObjectBase(0X301) {}
~dsACDFlowBegin() {}
virtual PVOID Read() const {return NULL;}
virtual void Write(PVOID p) {}
virtual void WritetoFile (CStdioFile& m_IOFile, int flag);
};
/***********************************************************************
流程結束語句
***********************************************************************/
class dsACDFlowEnd : public dsACDObjectBase
{
public:
dsACDFlowEnd() : dsACDObjectBase(0X302) {}
~dsACDFlowEnd() {}
virtual PVOID Read() const {return NULL;}
virtual void Write(PVOID p) {}
virtual void WritetoFile (CStdioFile& m_IOFile, int flag);
};
/***********************************************************************
變量定義語句
***********************************************************************/
class dsACDObjVariable : public dsACDObjectBase
{
public:
dsACDObjVariable() : dsACDObjectBase(0X103) { pInfo = NULL;}
~dsACDObjVariable() {if (pInfo != NULL) delete pInfo;}
virtual PVOID Read() const {return pInfo;}
virtual void Write(PVOID p) {pInfo = (dsVD_INFO *)p;}
virtual void WritetoFile (CStdioFile& m_IOFile, int flag);
void ReadformFile (const CString & buf, dsVD_INFO *pInfo, CString &csItemText);
private:
dsVD_INFO * pInfo;
};
/***********************************************************************
數據分類語句
***********************************************************************/
class dsACDObjDataSort : public dsACDObjectBase
{
public:
dsACDObjDataSort() : dsACDObjectBase(0X104) { pInfo = NULL;}
~dsACDObjDataSort() {if (pInfo != NULL) delete pInfo;}
virtual PVOID Read() const {return pInfo;}
virtual void Write(PVOID p) {pInfo = (dsDS_INFO *)p;}
virtual void WritetoFile (CStdioFile& m_IOFile, int flag);
void ReadformFile (const CString & buf, dsDS_INFO *pInfo, CString &csItemText);
private:
dsDS_INFO * pInfo;
};
/***********************************************************************
數據庫連接語句
***********************************************************************/
class dsACDDBConnect : public dsACDObjectBase
{
public:
dsACDDBConnect() : dsACDObjectBase(0X105) { pInfo = NULL;}
~dsACDDBConnect() {if (pInfo != NULL) delete pInfo;}
virtual PVOID Read() const {return pInfo;}
virtual void Write(PVOID p) {pInfo = (dsDBConn_INFO *)p;}
virtual void WritetoFile (CStdioFile& m_IOFile, int flag);
void ReadformFile (const CString & buf, dsDBConn_INFO *pInfo, CString &csItemText);
private:
dsDBConn_INFO * pInfo;
};
/***********************************************************************
條件控制語句
***********************************************************************/
class dsACDConControl : public dsACDObjectBase
{
public:
dsACDConControl() : dsACDObjectBase(0X303) { pInfo = NULL;}
~dsACDConControl() {if (pInfo != NULL) delete pInfo;}
virtual PVOID Read() const {return pInfo;}
virtual void Write(PVOID p) {pInfo = (dsCC_INFO *)p;}
virtual void WritetoFile (CStdioFile& m_IOFile, int flag);
void ReadformFile (const CString & buf, dsCC_INFO *pInfo, CString &csItemText);
private:
dsCC_INFO * pInfo;
};
/***********************************************************************
條件為真語句
***********************************************************************/
class dsACDConTrue : public dsACDObjectBase
{
public:
dsACDConTrue() : dsACDObjectBase(0X304) {}
~dsACDConTrue() {}
virtual PVOID Read() const {return NULL;}
virtual void Write(PVOID p) {}
virtual void WritetoFile (CStdioFile& m_IOFile, int flag);
};
/***********************************************************************
條件為假語句
***********************************************************************/
class dsACDConFalse : public dsACDObjectBase
{
public:
dsACDConFalse() : dsACDObjectBase(0X305) {}
~dsACDConFalse() {}
virtual PVOID Read() const {return NULL;}
virtual void Write(PVOID p) {}
virtual void WritetoFile (CStdioFile& m_IOFile, int flag);
};
/***********************************************************************
多路分支語句
***********************************************************************/
class dsACDSwitch : public dsACDObjectBase
{
public:
dsACDSwitch() : dsACDObjectBase(0X306) { pInfo = NULL;}
~dsACDSwitch() {if (pInfo != NULL) delete pInfo;}
virtual PVOID Read() const {return pInfo;}
virtual void Write(PVOID p) {pInfo = (dsSM_INFO *)p;}
virtual void WritetoFile (CStdioFile& m_IOFile, int flag);
void ReadformFile (const CString & buf, dsSM_INFO *pInfo, CString &csItemText);
private:
dsSM_INFO * pInfo;
};
/***********************************************************************
缺省匹配語句
***********************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -