日本福利一区_最近中文高清在线观看_免费黄色电影在线观看_亚洲天堂成人在线 - 91人人

用戶中心
· 企業空間 首頁 | 資訊 | 技術 | 產品 | 企業 | 直播 | 專題 | 智能制造 | 論壇| 在線研討會
紫金橋軟件技術有限公司
企業空間 > 案例應用 > 正文
  • 淺談紫金橋軟件的動態生成腳本
  • 發布時間:2014/5/14 9:22:46   修改時間:2014/5/14 9:22:46 瀏覽次數:902
  •  

    在多樣化的時代里,各種各樣的需求也越來越多樣化,為了滿足客戶能在運行環境下開發腳本的需求,紫金橋軟件提供了“腳本編輯”和“腳本編譯”組件。

    腳本由腳本名稱、腳本內容和腳本說明三個部分構成。我們編譯或執行一段腳本之前,必須知道要編譯或執行的腳本名稱。腳本說明是對腳本進一步的說明,它是可有可無的,具體情況依據需求而定。

    要想動態的生成腳本,首先需要一個編輯腳本的環境,這時用到“腳本編輯”組件;編寫完腳本之后,需要編譯和執行腳本,這時用到“腳本編譯”組件。

    一.腳本編輯

    “腳本編輯”組件可以在“腳本編輯”組件內編寫代碼,在編寫的過程中會提示腳本信息,如下圖所示。


     

    “腳本編輯”組件提供了一個屬性,名稱為Text,通過該屬性可以設置和獲取腳本內容。

    二.腳本編譯

    “腳本編譯”組件實現了在工程運行環境下對指定腳本進行編譯的功能,該組件在運行環境下不顯示。由“腳本編譯”組件生成的腳本,是以腳本名稱作為編譯及執行的唯一標識的。因此,由同一個“腳本編譯”組件生成的腳本名稱必須不同;而由不同的“腳本編譯”組件生成的腳本,其腳本名稱可以相同。

    “腳本編譯”組件進行編譯和執行腳本的過程如下:

    1.使用Compile/ CompileEx函數對給定的表達式或程序進行編譯。

    Compile函數:bool Compile(string Name,string Text)

    CompileEx函數:bool CompileEx(string Name,string Comment,string Text)

    其中Name:腳本名稱;Comment:腳本說明;Text:腳本內容。

    2.Compile/ CompileEx函數返回的值是0,說明編譯失敗,這時可以使用GetError函數得到錯誤信息;若Compile/ CompileEx函數返回的值是非0,說明編譯成功。

    3.編譯成功后,使用Execute函數去執行Compile/ CompileEx函數編譯產生的執行碼。

    Execute函數:bool Execute(string Name)

    其中Name:腳本名稱。

    除此之外,還可以通過GetComment函數得到腳本的說明。如果腳本中有表達式,可以使用GetResultInt/GetResultReal/GetResultText函數去獲得表達式的值,例如腳本中的代碼如下:

    #w_rect.GetObjHeight()*#w_rect.GetObjWidth()//計算矩形面積

    可以使用GetResultInt函數得到矩形面積。

    “腳本編譯”組件還可以將生成的腳本保存到文件中,同時也可以從文件中讀取已保存的腳本。將生成的腳本保存到文件中有兩種用法:一種是保存到其所在窗口文件中,另一種是保存為DAT格式的文件。

    1.保存到其所在窗口文件中

    雙擊“腳本編譯”組件會彈出其屬性設置框,將“負責保存腳本與編譯結果”項勾選上,如下圖所示。

     


     

    在工程運行環境下,“腳本編譯”組件就可以將生成的腳本保存到窗口文件中,但若要永久保存以待下次調用,需將窗口文件保存,可以使用窗口的Save函數將窗口文件保存。

    2.保存為DAT格式的文件

    使用“腳本編譯”組件的Save函數將生成的腳本保存到DAT格式的文件中,例如:

    #w_compile.Save("F:\a.dat");// w_compile是腳本編譯組件的名稱

    然后使用Load函數從文件中讀取所保存的腳本,例如:

    #w_compile.Load("F:\a.dat");

    三.示例

    本示例簡單的展現如何在運行環境下編寫腳本,初始畫面如下圖所示。


     

    矩形對象的名稱是w_rect

    “編譯”按鈕里的代碼:

    string text;

    if !#w_compile.CompileEx("a","這是個示例。",#w_script.Text) then

       #w_compile.GetError(text);//w_compile是腳本編譯組件的名稱。

       text = text + "------編譯失敗!";

       MsgBoxEx(text,"編譯結果提示框",0);//彈出只有確定功能的提示框。

    else

       MsgBoxEx("編譯成功!","編譯結果提示框",0);

    endif

    “執行”按鈕里的代碼:

    #w_compile.Execute("a");//a是腳本名稱。

    “獲得運算結果”按鈕里的代碼:

    #w_compile.Execute("a");

    #w_edtReturn.Val = #w_compile.GetResultInt();

    當腳本是表達式時,可以點擊此按鈕去獲取表達式運算的結果。在此以GetResultInt函數為例子去獲取表達式運算的整型值,如果想要獲得實型值或字符型結果,可以使用GetResultRealGetResultText函數。注意GetResultInt函數使用時必須和Execute函數在同一個函數體內。

    準備工作已經就緒,現在開始實現在運行環境下動態編寫腳本、編譯和執行腳本的功能。

    1.在運行環境下改變矩形對象的顏色和位置

    在“腳本編輯”組件內編寫代碼如下:

    #w_rect.FillColor = 0;//改變矩形對象填充色為紅色

    #w_rect.Y = #w_rect.Y*2;//改變矩形對象的位置

    點擊“編譯”按鈕,會彈出提示框,如下圖所示。

     


     

    提示框的提示信息說明編譯成功,然后點擊“執行”按鈕,執行結果如下圖所示。

     


     

    2.在運行環境下計算矩形面積

    在“腳本編輯”組件內編寫代碼如下:

    #w_rect.GetObjHeight()*#w_rect.GetObjWidth()//計算矩形面積

    點擊“編譯”按鈕,提示編譯成功,然后點擊“獲得運算結果”按鈕,“獲得運算結果”按鈕前的文本框中會顯示矩形面積,執行效果如下圖所示。

     


     

    函數的具體用法可以參考紫金橋軟件的幫助手冊。

  • 企業介紹
紫金橋軟件研發始于1993年,是國家重點項目“九五攻關”與兩期國家“863計劃”的結晶。作為國家級高新技術企業,紫金橋軟件不僅是國內領先的工業控制軟件提供商,還憑借深厚的技術積累和行業影響力,持續為工業自動化領域提供安全、可靠、高效的解決…  更多>>
  • 聯系方式

紫金橋軟件技術有限公司

聯系人:李磊

地址:黑龍江省大慶市高新區服務外包產業園C1-817室

郵編:163316

電話:400-678-6601

傳真:0459-8151391-808

公司網址:http://realinfo.cc

  • 該空間手機版

掃描此二維碼即可訪問該空間手機版

  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
您還沒有登錄,請登陸,
如果您還沒有注冊,點擊這里注冊.
  • 網友反饋
  • 戴永鐵 在2024/6/11 14:51:00留言
  • 留言類型:貴公司產品銷售人員聯系我,貴公司技術支持人員聯系我,
  • 詳細留言:需要制藥工業領域的實時庫報表,包含矩陣配?、參數配方、數據(統計和歷史)、曲線、事件、報警、審計追蹤,這些內容可以組態化
  • 曉同 在2024/5/16 11:06:00留言
  • 留言類型:我讓貴公司產品銷售人員聯系我,
  • 詳細留言:紫金橋組態軟件V6.5,512點授權
  • 在2023/10/21 16:03:00留言
  • 留言類型:貴公司技術支持人員聯系我,
  • 詳細留言:OPC
  • 鄭鑫汶 在2023/6/1 14:58:00留言
  • 留言類型:我想得到貴公司產品詳細資料,我想得到貴公司產品的價格信息,我讓貴公司產品銷售人員聯系我,我讓貴公司技術支持人員聯系我,
  • 詳細留言:需要咨詢貴公司軟件的價格功能
  • 吳吉校 在2023/3/15 7:45:00留言
  • 留言類型:我想得到貴公司產品詳細資料,我想得到貴公司產品的價格信息,我讓貴公司產品銷售人員聯系我,我讓貴公司技術支持人員聯系我,
  • 詳細留言:組態軟件咨詢
更多請進入空間管理中心查看
關于我們 | 網站地圖 | 聯系我們
© 2003-2018    經營許可編號:京ICP證120335號
公安機關備案號:110102002318  服務熱線:010-82053688
我要反饋