亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? clipsmfc.h

?? clips專家系統(tǒng)內(nèi)核打包類,很有參考性.
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifndef	_CLIPSWrap
	#define _CLIPSWrap
/////////////////////////////////////////////////////////////////////////////
// CCLIPSWrap defintion 

//CLIPS core code version
#define CLIPS_BUILD_VER 610
//define number of routes to handle
#define NUMROUTES		100
//define number of user routes to handle
// #define NUM_U_ROUTES	100
//define the maximum length of a fact string
#define MAX_FACT_LEN	640
//define max length of an item
#define MAX_ITEM_SIZE	640
//define max length of a list
#define MAX_LIST_SIZE	32000
//define number of iterations between msg pump calls
#define MAX_MSG_PUMP	1
//size of temp buffer variable
#define MBUFSIZE		1024

#ifndef __AFX_H__
	#include <afx.h>
#endif
#ifndef __AFXCOLL_H__
	#include <afxcoll.h>
#endif

#include <dynclips.h>
#include <dynaload.h>

#define DllExport	__declspec( dllexport )

//set this to 1 if you want ODBC support...
//remember to include rsvarcol.cpp into yor project as well
#define USE_ODBC 0
 #ifdef USE_ODBC
	#ifndef __AFXDB_H__
		#include <afxdb.h>
	#endif
	#ifndef _RSVARCOL_H_
		#include <rsvarcol.h>
	#endif
#endif

//prototype for route ordinal function
int GetRouteNum(int start, const char far* route);
//default router check function
bool IsDefaultRouter(const char *route);

//prototype for message pump callback
extern "C"	{
void DllExport MsgLoopProc(void);
}
#ifndef __defc
extern int Defcount;
#endif

//a handy macro to check for CLIPSInit and return something on fail
#define INITCHK(p)	if(!m_fClipsInit)	 {	\
						return p;}
//macro to clear the temp buffer
#define CLEARMBUF	memset(m_buf,0,MBUFSIZE);
#define SETMBUF(s)  CLEARMBUF strcpy(m_buf,s);
#define BOOLCHK(s)  (s) ? true : false

// just in case the CLIPS headers are not in 
// the preprocessor stack for this pass
#ifndef FACT_ADDRESS
	#define FACT_ADDRESS		6	
#endif
#ifndef INSTANCE_ADDRESS
	#define INSTANCE_ADDRESS	7
#endif

//the wrapper class
class CCLIPSWrap
{
	//declarations for the FN pointers to CLIPS functions
	FORM_02		dl_ExitCLIPS;
	FORM_01		dl_Reset;
	FORM_04		dl_GetFactPPForm;
	FORM_30		dl_GetNextFact;
	FORM_40		dl_Run;
	FORM_11		dl_Load;
	FORM_41		dl_GetNumberOfFacts;
	FORM_01		dl_Clear;
	FORM_11		dl_BatchStar;
	FORM_11		dl_Bsave;
	FORM_11		dl_Bload;
	FORM_11     dl_Build;
	FORM_14		dl_Retract;
	FORM_11		dl_Watch;
	FORM_11		dl_Unwatch;
	FORM_34		dl_Matches;
	FORM_12		dl_SaveFacts;
	FORM_11		dl_LoadFacts;
	FORM_10		dl_SetFactDuplication;
	FORM_13		dl_GetFactDuplication;
	FORM_13		dl_DribbleOff;
	FORM_11		dl_DribbleOn;
	FORM_32		dl_AssertString;
	FORM_30		dl_Assert;
	FORM_03		dl_IncrementFactCount;
	FORM_03		dl_DecrementFactCount;
	FORM_13		dl_GetFactListChanged;
	FORM_02		dl_SetFactListChanged;
	FORM_33		dl_GetNextInstanceInClass;
	FORM_30		dl_GetNextInstanceInScope;
	FORM_30		dl_GetNextInstance;
	FORM_30		dl_GetInstanceClass;
	FORM_50		dl_GetInstanceName;
	FORM_04		dl_GetInstancePPForm;
	FORM_34		dl_CreateRawInstance;
	FORM_14		dl_ValidInstanceAddress;
	FORM_42		dl_SaveInstances;
	FORM_43		dl_LoadInstances;
	FORM_10		dl_SetStrategy;
	FORM_13		dl_GetStrategy;
	FORM_32		dl_AddSymbol;
	FORM_37		dl_AddLong;
	FORM_38		dl_AddDouble;
	FORM_41		dl_MemUsed;
	FORM_41		dl_MemRequests;
	FORM_35		dl_WRGetFocus;
	FORM_01		dl_RemoveAllFacts; 
	FORM_04		dl_GetDefglobalValueForm;
	FORM_32		dl_FindDefglobal;
	FORM_17		dl_GetDefglobalValue;
	FORM_30		dl_GetNextDefglobal;
	FORM_14		dl_Undefglobal;
	FORM_11		dl_CloseStringSource;
	FORM_11		dl_LoadConstructsFromLogicalName;
	FORM_15		dl_OpenStringSource;
	FORM_11		dl_Batch;
	FORM_44		dl_ReleaseMem;
	FORM_01		dl_FreeAtomicValueStorage;
	FORM_02		dl_SetHaltExecution;
	FORM_32		dl_MakeInstance;
	FORM_36		dl_FindInstance;
	FORM_14		dl_DeleteInstance; 
	FORM_60		dl_GetGlobalNumberOfInstances;
	FORM_06		dl_DirectGetSlot;
	FORM_16		dl_DirectPutSlot;
	FORM_21		dl_RouteCommand;
	FORM_16		dl_GetFactSlot;
	FORM_16		dl_PutFactSlot;
	FORM_01		dl_InitializeCLIPS;
	FORM_18		dl_AddPeriodicFunction;
	FORM_31		dl_SetOutOfMemoryFunction;
	FORM_02		dl_SetPrintWhileLoading;
	FORM_100	dl_VERSION;
	FORM_14     dl_AssignFactSlotDefaults;
	FORM_30		dl_CreateFact;
	FORM_32     dl_FindDeftemplate;
	FORM_11     dl_ParseDefglobal;
	ADDROUTER	dl_AddRouter;
	FORM_05		dl_Agenda;
	FORM_35		dl_GetCurrentModule;
	FORM_30     dl_GetNextActivation;
	FORM_30		dl_GetNextDefclass;
	FORM_07		dl_Send;
	//new 2.0
	FORM_11		dl_DeleteRouter;
	FORM_61		dl_DefineFunction2;
	FORM_13		dl_RtnArgCount;
	FORM_19		dl_ArgCountCheck;
	FORM_19		dl_ArgRangeCheck;
	FORM_51		dl_RtnLexeme;
	FORM_70		dl_RtnDouble;
	FORM_45		dl_RtnLong;
	FORM_3A		dl_RtnUnknown;
	FORM_20		dl_ArgTypeCheck;
	FORM_39		dl_CreateMultifield;
	FORM_03		dl_SetMultifieldErrorValue;
	//new 3.0
	FORM_08		dl_PeriodicCleanup;
	FORM_18     dl_AddResetFunction;


	HINSTANCE	m_hLib;
	
	//CLIPS exception object
	class CLIPSException	{
		CString	Why;
	public:	//construction & destruction
		CLIPSException() {
			Why = "UnKnown";
		}
		CLIPSException(CString &Text)	{
			Why = Text;
		}
		CLIPSException(const char *szText)	{
			Why = szText;
		}
		virtual ~CLIPSException() {}

	public:	//methods
		void SetWhy(const char *szText)	{
			Why = szText;
		}
		void SetWhy(CString &Text)	{
			Why = Text;
		}
		const char *GetWhy()	{
			return (LPCSTR)Why;
		}
	};

public:
	//constructor and destructor are public
	CCLIPSWrap(int count = -1);
	virtual ~CCLIPSWrap(void);

//UserFunction return types
enum UDF_ReturnValues 
{
UDFReturn_External_Address = (unsigned) 'a',
UDFReturn_Boolean = (unsigned) 'b',
UDFReturn_Character = (unsigned) 'c',
UDFReturn_Double_Prec_Float = (unsigned) 'd',
UDFReturn_Single_Prec_Float = (unsigned) 'f',
UDFReturn_Integer = (unsigned) 'i',
UDFReturn_Symbol_String_or_InstanceName = (unsigned) 'j',
UDFReturn_Symbol_or_String = (unsigned) 'k',
UDFReturn_Long_Integer = (unsigned) 'l',
UDFReturn_Multifield = (unsigned) 'm',
UDFReturn_Integer_or_Float = (unsigned) 'n',
UDFReturn_Instance_Name = (unsigned) 'o',
UDFReturn_String = (unsigned) 's',
UDFReturn_Any = (unsigned) 'u',
UDFReturn_Void = (unsigned) 'v',
UDFReturn_Symbol = (unsigned) 'w',
UDFReturn_Instance_Address = (unsigned) 'x'
};

//Load file return codes
enum LoadStatus	{
	READ_FAIL,
	PARSE_FAIL,
	READ_OK,
	BAD_LOAD_NAME,
	READ_NOT_INIT,
	};

//Save file return codes
enum SaveStatus	{
	SAVE_FAIL,
	SAVE_OK,
	BAD_SAVE_NAME,
	SAVE_NOT_INIT,
	};

//class instance cases
enum InstanceCase	{
	I_PERIOD,
	I_SCOPE,
	I_CLASS
	};

// Attributes
protected:
	//CLIPS struct pointers
	//these are now (3.0) explicitly declared as the
	//correct pointer types rather than void *
	struct fact			*factPtr;
	struct defmodule	*modulePtr;
	struct defrule		*rulePtr;
	struct defglobal	*globalPtr;
	struct instance		*instancePtr;
	struct defclass		*classPtr;
	struct activation	*activationPtr;
	struct deftemplate	*templatePtr;
	struct instanceSlot *insSlotPtr;
	struct templateSlot *tempSlotPtr;
	//other internal stuff

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人xxxx| 国产精品美女久久久久aⅴ国产馆| 依依成人精品视频| 色婷婷激情综合| 香蕉成人伊视频在线观看| 欧美一级久久久久久久大片| 蜜桃av一区二区| 国产日韩欧美在线一区| 成人激情黄色小说| 一区二区成人在线| 日韩欧美国产小视频| 国产福利视频一区二区三区| 自拍视频在线观看一区二区| 欧美日韩一区久久| 国产麻豆成人精品| 亚洲最大成人综合| 欧美一级高清片| 成人avav在线| 婷婷夜色潮精品综合在线| 欧美精品一区男女天堂| 99久久er热在这里只有精品66| 亚洲精选免费视频| 欧美一区二区久久| 国产999精品久久久久久| 亚洲永久免费视频| 精品少妇一区二区三区免费观看| 成人18精品视频| 亚洲3atv精品一区二区三区| 2020国产精品自拍| 在线观看日韩高清av| 国产一区二区三区四区五区入口| 亚洲视频图片小说| 精品久久人人做人人爰| 欧美在线小视频| 粗大黑人巨茎大战欧美成人| 午夜精品在线视频一区| 日本一区二区视频在线观看| 欧美放荡的少妇| 成人av小说网| 麻豆精品一二三| 亚洲国产婷婷综合在线精品| 国产亚洲综合av| 欧美精品电影在线播放| 成人激情图片网| 精品一区二区免费视频| 樱桃视频在线观看一区| 国产人妖乱国产精品人妖| 欧美日韩极品在线观看一区| 成人91在线观看| 国产精品自产自拍| 麻豆一区二区三区| 亚洲成人av免费| 亚洲欧美日韩小说| 国产日韩精品一区二区三区在线| 日韩亚洲欧美一区| 欧美日韩亚洲综合在线| 91香蕉国产在线观看软件| 国产在线精品一区二区三区不卡 | 国产综合久久久久久久久久久久| 亚洲精品老司机| 国产精品美女一区二区| 久久精品日韩一区二区三区| 精品国一区二区三区| 777午夜精品视频在线播放| 欧美综合一区二区| 色婷婷av一区| 在线亚洲一区观看| 日本丶国产丶欧美色综合| 成人激情图片网| 成人国产免费视频| 国产成a人亚洲精| 成熟亚洲日本毛茸茸凸凹| 国产成人免费高清| 国产不卡免费视频| 国产 欧美在线| 成人理论电影网| 成人性视频网站| 99国产欧美另类久久久精品| 色天使色偷偷av一区二区| 色婷婷激情一区二区三区| 在线视频你懂得一区二区三区| 色久优优欧美色久优优| 91伊人久久大香线蕉| 色香色香欲天天天影视综合网 | 在线免费观看日本欧美| 91麻豆自制传媒国产之光| 一本大道久久a久久综合| 色成年激情久久综合| 欧美日韩精品欧美日韩精品| 欧美精品自拍偷拍| 精品国产不卡一区二区三区| wwww国产精品欧美| 国产精品第13页| 一级中文字幕一区二区| 无吗不卡中文字幕| 国产成人av在线影院| 国产成人精品一区二区三区四区| 波多野结衣欧美| 色诱视频网站一区| 日韩一区二区免费视频| 久久婷婷色综合| 最新中文字幕一区二区三区| 亚洲一区二区成人在线观看| 老司机一区二区| 99精品视频在线观看| 欧美日韩午夜影院| 久久色在线观看| 一区二区三区四区激情| 老司机精品视频在线| 国产精品99久久久久久久女警| 91麻豆自制传媒国产之光| 69堂国产成人免费视频| 中文字幕av一区二区三区| 亚洲国产综合视频在线观看| 激情综合五月婷婷| 91国在线观看| 国产亚洲女人久久久久毛片| 亚洲一区二区在线播放相泽| 精品一区二区三区免费播放| 99精品视频在线观看免费| 日韩免费视频线观看| 亚洲另类一区二区| 国模无码大尺度一区二区三区| 色婷婷久久99综合精品jk白丝| 欧美精品一区二区三区蜜臀| 亚洲在线视频一区| 丁香一区二区三区| 欧美一卡2卡3卡4卡| 亚洲私人影院在线观看| 国内国产精品久久| 在线不卡一区二区| 亚洲欧美国产毛片在线| 国产乱对白刺激视频不卡| 欧美年轻男男videosbes| 国产精品九色蝌蚪自拍| 精品中文字幕一区二区 | 欧美日韩中文国产| 国产精品天干天干在观线| 免费人成精品欧美精品| 欧美怡红院视频| 国产精品私人影院| 国产在线精品免费| 欧美高清视频一二三区| 一区二区三区高清| 99麻豆久久久国产精品免费| 久久午夜羞羞影院免费观看| 久久精品久久精品| 91麻豆精品国产自产在线| 亚洲精品国产一区二区三区四区在线| 国产精品综合网| 精品99999| 另类成人小视频在线| 欧美一区二区视频在线观看2020| 亚洲一区二区在线免费观看视频| bt7086福利一区国产| 中文字幕乱码久久午夜不卡 | 日韩欧美一卡二卡| 视频一区二区欧美| 56国语精品自产拍在线观看| 亚洲妇女屁股眼交7| 欧美亚洲综合在线| 夜夜嗨av一区二区三区四季av | 成人免费av在线| 国产精品无圣光一区二区| 国产成人亚洲综合a∨婷婷图片| 337p日本欧洲亚洲大胆精品| 激情综合色播激情啊| 欧美大片在线观看| 激情深爱一区二区| 久久亚洲综合色一区二区三区| 国产精品原创巨作av| 国产欧美在线观看一区| 成人国产亚洲欧美成人综合网| 国产精品久久久久精k8| 91视频91自| 午夜精品福利在线| 日韩一区二区免费电影| 激情综合五月婷婷| 国产精品女同一区二区三区| 波多野结衣视频一区| 亚洲一区在线视频| 91精品国产综合久久久蜜臀粉嫩 | 欧美性猛交xxxxxx富婆| 婷婷综合另类小说色区| 欧美tk丨vk视频| 国产98色在线|日韩| 日韩毛片高清在线播放| 欧美亚洲愉拍一区二区| 日韩av中文字幕一区二区三区| 欧美成人国产一区二区| 国产成人精品免费看| 亚洲六月丁香色婷婷综合久久| 欧美日韩电影一区| 国产高清亚洲一区| 一区二区三区四区不卡视频| 欧美精品乱码久久久久久| 国产呦萝稀缺另类资源| 亚洲欧美偷拍卡通变态| 日韩欧美成人一区| 99久久精品国产一区|