2015-06-20 60 views
0

我正在嘗試集成CLIPS和C#應用程序。我是CLIPS的新手,所以我無法理解如何從「打印輸出」構造中獲取表達式。 我已經加載.clp文件,斷言事實,運行它,但現在我想重定向輸出到我的應用程序在C#中。 對不起,我不勝感激,如果你會告訴我示例或鏈接樣本。將輸出從CLIPS重定向到.Net(C#)

例如,

(deftemplate 1Data (slot name)(slot age)) 
(defrule 1Data (1Data (name Tim)(age ?age))=> 
    (printout t crlf "Tim is " ?age " years old" crlf)) 

我需要獲得並使用「添」?時代「歲」,在.NET項目表達。

回答

0

您需要使用高級編程指南第012部分中定義的路由器系統,http://clipsrules.sourceforge.net/documentation/v630/apg.pdf。爲了在C#中使用,您可能需要將C代碼包裝爲C#類,以便在C#中使用。在http://sourceforge.net/projects/clipsnet/有一個項目,其中包含可能對此很有用的代碼。我無法讓項目編譯,但源代碼可以給你一些關於如何開始的想法。

+0

@ Gary Riley,當然,我已經在基本和高級指南中瞭解了CLIPS中的I/O系統。此外,我試圖使用CLIPSNet.dll,但我找不到任何DLL文件,因此我不得不使用ExpertSystem.dll。稍後我會嘗試使用CLIPSNet.dll重製我的項目。感謝你的回答。 – Tim

+0

我創建了一些示例,演示如何將本機CLIPS代碼與.NET窗體和Windows Presentation Foundation項目結合使用.NET公共語言運行時包裝器。信息可在這裏找到:http://clipsrules.sourceforge.net/CLIPSNETBeta.html –

+0

非常感謝評論和好消息@Gary Riley – Tim