2011-05-26 32 views
1

我已將PascalScript引擎包含到我的軟件中。我的用戶現在想爲這個引擎編寫一整套腳本,並希望知道是否可以通過includeuses命令包含其他腳本。PascalScript包括其他腳本的每個用途或包含命令

他想要做的是寫一個腳本,其中包含各種常量/變量和另一個執行邏輯的腳本。最後他希望將常量包含在他的邏輯腳本中。

我希望這是明確的足夠理解。

+0

JVCL JvInterpreter允許您使用其他單位,並且可以從文件中讀取它們,如果它更符合您的需要,可以嘗試使用它。 – 2011-05-26 14:28:39

+0

謝謝你的提示沃倫。我發現pascal腳本的解決方案見下文 – 2011-05-26 15:13:55

回答

2

我發現了,繼承人該怎麼做: PascalScript編譯器的UsePreprocessor屬性需要設置爲true。如果是這樣,你現在可以使用下面的命令預處理:

{$ I FILENAME.TXT}

你也需要實現的東西,如下面的例子,我在網上找到的編譯器的OnNeedFile事件:

function TForm1.ceNeedFile(Sender: TObject; const OrginFileName: String; 
var FileName, Output: String): Boolean; 
var 
    path: string; 
    f: TFileStream; 
begin 
    Path := ExtractFilePath(ParamStr(0)) + FileName; 
    try 
    F := TFileStream.Create(Path, fmOpenRead or fmShareDenyWrite); 
    except 
    Result := false; 
    exit; 
    end; 
    try 
    SetLength(Output, f.Size); 
    f.Read(Output[1], Length(Output)); 
    finally 
    f.Free; 
    end; 
    Result := True; 
end; 
0

(請修正你的問題的標題)

我不能完全肯定,但據我所知Pascalscript沒有「文件」的概念。在將它們傳遞給解釋器之前,您可以簡單地將兩個部分連接起來,或者讓一個小預處理器查找{$ I}包含語句並查看要插入的代碼。