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

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

?? clipsmfc_old.cpp

?? clips專家系統(tǒng)內(nèi)核打包類,很有參考性.
?? CPP
?? 第 1 頁 / 共 5 頁
字號(hào):
		Function	: CCLIPSWrap::CLIPSSetFactDup(int Value)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS SetFactDuplication();
		Returns 	: return value of SetFactDuplication, appears to be old
					  FactDuplication value. -1 if an error.
****************************************************************************/
int	CCLIPSWrap::CLIPSSetFactDup(int Value)
{
	INITCHK(-1)
	return (dl_SetFactDuplication)(Value);
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSGetFactDup(void)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS SetFactDuplication();
		Returns 	: return value of GetFactDuplication. -1 on error
****************************************************************************/
bool CCLIPSWrap::CLIPSGetFactDup(void)
{
	INITCHK(false)
	return BOOLCHK((dl_GetFactDuplication)());
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSDribble(CString& FileName, bool Switch)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS DribbleOn() and DribbleOff(); if Switch
					  is true it executes DribbleOn if Switch is false it
					  executes DribbleOff.
		Returns 	: true on success, false on error
****************************************************************************/
bool	CCLIPSWrap::CLIPSDribble(CString& FileName, bool Switch)
{
	INITCHK(false)
	if((Switch)	&&
		(FileName.IsEmpty()))	{
		return false;
		}
	if(Switch)	{
		SETMBUF((LPCSTR)FileName)
		return BOOLCHK((dl_DribbleOn)(m_buf));
		}
	else	{
		return BOOLCHK((dl_DribbleOff)());
		}
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSAssert(CString& String)
		Author		: Mark Tomlinson
		Desc.		: first form for CLIPSAssert();
					  Accessor for CLIPS AssertString function. pointer to the
					  asserted fact is stored in factPtr.
		Returns 	: true on success, false on error
****************************************************************************/
bool	CCLIPSWrap::CLIPSAssert(CString& String)
{
	INITCHK(false)
	if(String.IsEmpty())	{
		return false;
		}
	SETMBUF((LPCSTR)String)
	factPtr = (struct fact *)(dl_AssertString)(m_buf);
	if(factPtr == NULL)	{
		return false;
		}
	return true;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSAssert(void* Fact)
		Author		: Mark Tomlinson
		Desc.		: second form for CLIPSAssert(); (third form is implied)
					  Accessor for CLIPS Assert function. pointer to the
					  asserted fact is stored in factPtr. If the Fact parameter
					  is NULL then factPtr will be asserted unless it is NULL.
		Returns 	: true on success, false on error
****************************************************************************/
bool CCLIPSWrap::CLIPSAssert(void* Fact)
{
	INITCHK(false)
	if(Fact == NULL)	{
		if(factPtr != NULL)	{
			factPtr = (struct fact *)(dl_Assert)(factPtr);
			}
		else	{
			return false;
			}
		}
	else	{
		factPtr = (fact *)(dl_Assert)(Fact);
		}
	if(factPtr == NULL)	{
		return false;
		}
	return true;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSIncrementFactCtr(void* Fact)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS IncrementFactCount. if Fact parameter
					  is NULL then factPtr is assumed to be the fact for which
					  the count is to be incremented.
		Returns 	: true on success, false on error
****************************************************************************/
bool	CCLIPSWrap::CLIPSIncrementFactCtr(void* Fact)
{
	INITCHK(false)
	if(Fact == NULL)	{
		if(factPtr != NULL)	{
			(dl_IncrementFactCount)(factPtr);
			}
		else	{
			return false;
			}
		}
	else	{
		(dl_IncrementFactCount)(Fact);
		}
	return true;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSDecrementFactCtr(void* Fact)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS DecrementFactCount. if Fact parameter
					  is NULL then factPtr is assumed to be the fact for which
					  the count is to be decremented.
		Returns 	: true on success, false on error
****************************************************************************/
bool	CCLIPSWrap::CLIPSDecrementFactCtr(void* Fact)
{
	INITCHK(false)
	if(Fact == NULL)	{
		if(factPtr != NULL)	{
			(dl_DecrementFactCount)(factPtr);
			}
		else	{
			return false;
			}
		}
	else	{
		(dl_DecrementFactCount)(Fact);
		}
	return true;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSGetFactListChanged(void)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS GetFactListChanged.
		Returns 	: return value of GetFactListChanged()
****************************************************************************/
bool CCLIPSWrap::CLIPSGetFactListChanged(void)
{
	INITCHK(false)
	return BOOLCHK((dl_GetFactListChanged)());
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSSetFactListChanged(int Value)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS SetFactListChanged.
		Returns 	: true on success, false on error
****************************************************************************/
bool CCLIPSWrap::CLIPSSetFactListChanged(bool Value)
{
	INITCHK(false)
	(dl_SetFactListChanged)(Value);
	return true;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSGetNextInstance(int Which, void* Class)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS functions:
					  GetNextInstance()
					  GetNextInstanceInScope()
					  GetNextInstanceInClass() <if Class is NULL classPtr is used>
					  determined by Which parameter. updates instancePtr.
		Returns 	: true on success, false on error
****************************************************************************/
bool	CCLIPSWrap::CLIPSGetNextInstance(int Which, void* Class)
{
	INITCHK(false)
	if((Which == I_CLASS) &&
		(Class == NULL)	 &&
		(classPtr == NULL))	{
		return false;
		}

	switch(Which)	{
		case I_PERIOD:
			instancePtr = (struct instance *) (dl_GetNextInstance)(instancePtr);
			break;
		case I_SCOPE:
			instancePtr = (struct instance *) (dl_GetNextInstanceInScope)(instancePtr);
			break;
		case I_CLASS:	{
			if(Class == NULL)	{
				instancePtr = (struct instance *) (dl_GetNextInstanceInClass)(instancePtr, classPtr);
				}
			else	{
				instancePtr = (struct instance *) (dl_GetNextInstanceInClass)(instancePtr, Class);
				}
			}
			break;
		}
	if(instancePtr == NULL)	{
		return false;
		}
	return true;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSGetInstanceClass(void* Instance)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS function	GetInstanceClass():
					  updates classPtr. If Instance is NULL uses instancePtr.
		Returns 	: true on success, false on error
****************************************************************************/
bool	CCLIPSWrap::CLIPSGetInstanceClass(void* Instance)
{
	INITCHK(false)
	if((Instance == NULL)	 &&
		(instancePtr == NULL))	{
		return false;
	}
	if(Instance == NULL)	{
		classPtr = (struct defclass *) (dl_GetInstanceClass)(instancePtr);
	}
	else	{
		if(CLIPSValidInstance(Instance))	{
			classPtr = (struct defclass *) (dl_GetInstanceClass)(Instance);
		}
		else	{
			return false;
		}
	}

	if(classPtr == NULL)	{
		return false;
		}
	return true;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSGetInstanceName(CString& Data,void* Instance)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS function	GetInstanceName():
					  If Instance is NULL uses instancePtr. Name is returned
					  in string class parameter Data.
		Returns 	: true on success, false on error
****************************************************************************/
bool	CCLIPSWrap::CLIPSGetInstanceName(CString& Data,void* Instance)
{
	char far *temp;

	INITCHK(false)
	if((Instance == NULL)	 &&
		(instancePtr == NULL))	{
		return false;
		}
	if(Instance == NULL)	{
		temp = (dl_GetInstanceName)(instancePtr);
		}
	else	{
		temp = (dl_GetInstanceName)(Instance);
		}
	if(temp == NULL)	{
		return false;
		}
	Data = temp;
	return true;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSGetInstanceData(CString& Data,void* Instance)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS function	GetInstancePPForm():
					  If Instance is NULL uses instancePtr. Data is returned
					  in string class parameter Data.
		Returns 	: true on success, false on error
****************************************************************************/
bool	CCLIPSWrap::CLIPSGetInstanceData(CString& Data,void* Instance)
{
	INITCHK(false)
	if((Instance == NULL)	 &&
	   (instancePtr == NULL))	{
		return false;
		}
	CLEARMBUF
	if(Instance == NULL)	{
		(dl_GetInstancePPForm)(m_buf,255,instancePtr);
		}
	else	{
		(dl_GetInstancePPForm)(m_buf,255,Instance);
		}
	Data = m_buf;
	return true;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSCreateRawInstance(CString& Name)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS function	CreateRawInstance():
					  uses classPtr which must already be set to desired class
		Returns 	: true on success, false on error
****************************************************************************/
bool	CCLIPSWrap::CLIPSCreateRawInstance(CString& Data)
{
	INITCHK(false)
	if(classPtr == NULL)	{
		return false;
		}
	if(Data.IsEmpty())	{
		return false;
		}
	SETMBUF((LPCSTR)Data)
	instancePtr = (struct instance *) (dl_CreateRawInstance)(classPtr,m_buf);
	if(instancePtr == NULL)	{
		return false;
		}
	return true;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSValidInstance(void* Instance)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS function ValidInstanceAddress():
					  uses instancePtr if Instance parameter is NULL.
		Returns 	: true if valid, false on error
****************************************************************************/
bool	CCLIPSWrap::CLIPSValidInstance(void* Instance)
{
	int	retVal;

	INITCHK(false)
	if((Instance == NULL)	&&
		(instancePtr == NULL))	{
		return false;
		}
	if(Instance == NULL)	{
		retVal = (dl_ValidInstanceAddress)(instancePtr);
		}
	else	{
		retVal = (dl_ValidInstanceAddress)(Instance);
		}
	if(retVal)	{
		return true;
		}
	return false;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSSaveInstances(CString& FileName, bool Visable)
		Author		: Mark Tomlinson
		Desc.		: Accessor function to CLIPS SaveInstances(), will save
					  either LOCAL Instances or VISIBLE based upon Visable
					  parameter. ClassList is set to NULL. Inherit flag is true.
		Returns 	: number of instances saved, or -1 on error
****************************************************************************/
long int CCLIPSWrap::CLIPSSaveInstances(CString& FileName, bool Visable)
{
	long int retval;

	INITCHK(-1L)
	if(FileName.IsEmpty())	{
		return -1;
		}
	else	{
		SETMBUF((LPCSTR)FileName)
		if(Visable)	{
			retval = (dl_SaveInstances)(m_buf,VISIBLE_SAVE,NULL,true);
			}
		else	{
			retval = (dl_SaveInstances)(m_buf,LOCAL_SAVE,NULL,true);
			}
		}
	return retval;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSLoadInstances(CString& FileName)
		Author		: Mark Tomlinson
		Desc.		: Accessor function to CLIPS LoadInstances, will attempt to load
					  a set of Instances into CLIPS
		Returns 	: number of instances loaded, or -1 on error
****************************************************************************/
long int CCLIPSWrap::CLIPSLoadInstances(CString& FileName)
{
	long int	retval,j,i;
	OFSTRUCT	of;

	INITCHK(-1L)
	if(FileName.IsEmpty())	{
		return -1;
	}
	else	{
		SETMBUF((LPCSTR)FileName)
		if(OpenFile(m_buf,&of,OF_EXIST) == HFILE_ERROR)
			return BAD_LOAD_NAME;
		j = strlen(m_buf);
		//insure we convert backslash to forwardslash
		for(i = 0;i < j;i++)	{
			if(m_buf[i] == '\\')	{
				m_buf[i] = '/';
			}
		}
		retval = (dl_LoadInstances)(m_buf);
	}
	return retval;
}

/****************************************************************************
		Function	: CCLIPSWrap::CLIPSSetStrategy(long int data)
		Author		: Mark Tomlinson
		Desc.		: Accessor for CLIPS function	SetStrategy():
		Returns 	: old strategy value or -1 on error
****************************************************************************/
long int	CCLIPSWrap::CLIPSSetStrategy(long int data)
{
	INITCHK(-1L)
	return (dl_SetStrategy)((int)data);
}

/****************************************************************************

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久精品| 欧美sm美女调教| av激情亚洲男人天堂| 国产成人综合网| 国产aⅴ精品一区二区三区色成熟| 韩国欧美国产1区| 国产一区日韩二区欧美三区| 美女www一区二区| 经典三级在线一区| 国产精品亚洲一区二区三区妖精 | 久久免费看少妇高潮| 久久久久久久综合| 亚洲国产精品二十页| 亚洲欧洲一区二区三区| 一区二区三区在线免费播放| 亚洲乱码国产乱码精品精可以看 | 日本在线不卡视频| 午夜欧美大尺度福利影院在线看 | 99久久久精品| 一本到三区不卡视频| 在线影院国内精品| 欧美日韩日日夜夜| 日韩网站在线看片你懂的| 久久婷婷色综合| 国产精品美女www爽爽爽| 亚洲精品国产高清久久伦理二区| 亚洲愉拍自拍另类高清精品| 日本特黄久久久高潮| 国产成人精品三级| 欧美色视频一区| 26uuu亚洲| 中文字幕在线一区| 亚洲第一综合色| 蜜桃视频第一区免费观看| 国产成人精品一区二区三区四区 | 视频在线观看国产精品| 国产在线视频一区二区| 成人久久18免费网站麻豆| 色视频欧美一区二区三区| 91麻豆精品久久久久蜜臀| 久久久国产午夜精品| 亚洲乱码精品一二三四区日韩在线| 日韩中文字幕麻豆| 国产老妇另类xxxxx| 91免费看视频| 欧美一级在线视频| 中文字幕制服丝袜成人av| 日韩精品免费专区| 成人激情图片网| 3atv一区二区三区| 国产欧美日韩激情| 婷婷丁香久久五月婷婷| 国产成人精品免费在线| 欧美日韩一级大片网址| 久久精品视频一区二区| 亚洲va欧美va天堂v国产综合| 国产精品 日产精品 欧美精品| 欧美优质美女网站| 国产亚洲精久久久久久| 亚洲国产精品人人做人人爽| 国产激情视频一区二区在线观看| 欧美日韩综合不卡| 国产精品久久福利| 久久国产尿小便嘘嘘尿| 日本久久电影网| 欧美国产97人人爽人人喊| 日本亚洲最大的色成网站www| 波多野结衣在线一区| 日韩亚洲欧美中文三级| 一级做a爱片久久| 成人污污视频在线观看| 欧美大度的电影原声| av在线播放不卡| 精品国产一区二区三区不卡| 亚洲欧美一区二区不卡| 成人综合婷婷国产精品久久蜜臀| 欧美福利视频导航| 亚洲激情中文1区| 成人免费观看av| 国产视频911| 精品一区二区三区在线播放视频| 欧美日韩精品一区二区三区蜜桃 | 国产乱码精品一区二区三区五月婷| 欧美亚洲日本国产| 亚洲欧美自拍偷拍| 国产成人8x视频一区二区| 精品裸体舞一区二区三区| 日本中文一区二区三区| 欧美性猛交一区二区三区精品| 国产精品久久久久久福利一牛影视| 国产成人综合在线播放| 久久亚洲精精品中文字幕早川悠里| 青青国产91久久久久久| 欧美久久高跟鞋激| 亚洲成av人片一区二区| 欧美日韩国产成人在线91| 国产精品久久国产精麻豆99网站| 国产激情精品久久久第一区二区| 日韩免费视频一区二区| 精品一区二区三区免费| 欧美不卡激情三级在线观看| 久久国产精品99精品国产| 日韩亚洲欧美高清| 精品在线免费观看| 久久久久久久久久美女| 极品少妇xxxx精品少妇偷拍| 精品国产伦一区二区三区观看方式 | 偷拍日韩校园综合在线| 精品视频全国免费看| 亚洲国产成人av网| 欧美日韩一区二区三区四区| 亚洲午夜视频在线| 欧美美女黄视频| 蜜桃传媒麻豆第一区在线观看| 日韩欧美在线网站| 国产一区二区三区在线观看免费视频| 欧美系列在线观看| 欧美不卡一区二区三区四区| 日韩精彩视频在线观看| 日韩一区二区精品葵司在线 | 在线观看免费成人| 日韩天堂在线观看| 日产国产高清一区二区三区| 日韩三级av在线播放| 国模娜娜一区二区三区| 国产欧美日韩在线看| 91在线视频免费观看| 亚洲一区二区三区影院| 91精品国模一区二区三区| 韩国成人在线视频| 中文在线一区二区| 欧美体内she精高潮| 七七婷婷婷婷精品国产| 久久综合九色综合97婷婷女人| 国产成人精品一区二区三区四区 | 国产综合色产在线精品| 久久久久久久一区| 91香蕉视频黄| 亚洲成av人综合在线观看| 欧美va在线播放| 成人精品小蝌蚪| 午夜欧美大尺度福利影院在线看| 久久综合成人精品亚洲另类欧美| av电影在线观看完整版一区二区| 亚洲国产成人av好男人在线观看| 精品久久国产字幕高潮| 91网上在线视频| 美女久久久精品| 亚洲丝袜自拍清纯另类| 91精品国产综合久久精品性色 | 欧美mv和日韩mv国产网站| 成人黄色免费短视频| 婷婷六月综合网| 中文字幕欧美日韩一区| 欧美日韩激情在线| 国产91精品露脸国语对白| 午夜一区二区三区视频| 国产日韩av一区二区| 欧美亚洲日本一区| 国产成人av自拍| 青青草原综合久久大伊人精品优势| 国产精品妹子av| 日韩一二三四区| 91黄色免费观看| 国产99一区视频免费| 日本欧美大码aⅴ在线播放| 亚洲精品视频一区| 久久久三级国产网站| 欧美日本一区二区在线观看| 盗摄精品av一区二区三区| 另类小说欧美激情| 亚洲电影一级片| 亚洲人成伊人成综合网小说| xnxx国产精品| 欧美高清一级片在线| 91视频在线观看| 国产成人一级电影| 免费亚洲电影在线| 亚洲福利一区二区三区| 亚洲人成在线播放网站岛国| 久久精品欧美日韩| 日韩欧美国产一区二区三区| 91国偷自产一区二区三区观看| 国产成人免费高清| 经典三级视频一区| 久久精品国产亚洲一区二区三区| 亚洲国产日韩在线一区模特| 最近日韩中文字幕| 中文字幕欧美日韩一区| 久久九九影视网| 欧美精品一区二区三区在线| 91精品国产福利| 欧美日韩国产一区| 欧美亚一区二区| 色噜噜狠狠色综合中国| 色综合色狠狠综合色| 91原创在线视频| 色综合色综合色综合| 91美女在线视频| 色老汉一区二区三区|