• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            eryar

            PipeCAD - Plant Piping Design Software.
            RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
            posts - 603, comments - 590, trackbacks - 0, articles - 0

            Tcl Tk Introduction

            Posted on 2014-01-05 22:38 eryar 閱讀(3825) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 2.OpenCASCADE

            Tcl Tk Introduction

            eryar@163.com

            摘要Abstract:Tcl/Tck腳本可以很容易實(shí)現(xiàn)用戶自定義的命令,方便的創(chuàng)建圖形化的用戶界面GUI,所以Tcl和Tk的應(yīng)用領(lǐng)域幾乎覆蓋了圖形和工程應(yīng)用的全部范圍,包括計(jì)算機(jī)輔助設(shè)計(jì)、軟件開發(fā)、測(cè)試、儀器控制、科學(xué)可視化及多媒體方面。即可以使用Tcl/Tk實(shí)現(xiàn)AVEVA中的PML類似的功能,允許用戶自己編寫簡(jiǎn)單程序?qū)崿F(xiàn)程序的二次開發(fā)。

            關(guān)鍵字Key Words:AVEVA, PDMS, PML, Tcl/Tk, Script Modeling

            一、PML of AVEVA

            看到AVEVA的解決方案中有一個(gè)方便靈活的用戶自定義語(yǔ)言PML(the AVEVA Programmable Macro Language),通過(guò)PML可以根據(jù)不同的用戶需求來(lái)對(duì)程序進(jìn)行擴(kuò)展,而AVEVA則可以專注于核心模塊的開發(fā)與完善。這對(duì)軟件開發(fā)而言,是很有益處的,可以在滿足各種用戶多變的需求的情況下保證軟件的質(zhì)量。使用PML實(shí)現(xiàn)一個(gè)簡(jiǎn)單的窗口代碼及效果如下圖所示:

            wps_clip_image-21292

            Figure 1.1 Hello World Form code of PML

            wps_clip_image-17853

            Figure 1.2 A simple Form of PML

            二、Tcl/Tk

            Tcl表示“Tool Command Language”。在學(xué)習(xí)OpenCascade的過(guò)程中,看到OpenCascade的一個(gè)測(cè)試工具Draw Test Harness就是使用了Tcl/Tk來(lái)實(shí)現(xiàn)自定義的命令。通過(guò)自定義的命令,即可以對(duì)一些功能進(jìn)行測(cè)試,如下圖所示,使用簡(jiǎn)單命令,即可以生成圖形:

            wps_clip_image-12745

            Figure 2.1 Draw Test Harness with Tcl/Tk

            Netgen是一個(gè)用于網(wǎng)格剖分的程序,它的用戶界面也是用Tcl/Tk來(lái)實(shí)現(xiàn)的,效果也不錯(cuò),如下圖所示:

            wps_clip_image-1432

            Figure 2.2 Pipe Model in Netgen

            三、結(jié)論 Conclusion

            Tcl和Tk一起為應(yīng)用程序開發(fā)者和使用者提供了很多好處。首先是快速開發(fā)。很多有意思的應(yīng)用程序完全可以用Tcl腳本編寫。這樣就可以在比C/C++或Java更高的層次上進(jìn)行開發(fā),Tk隱藏了C或Java程序員必須關(guān)注的很多細(xì)節(jié)。與低級(jí)工具相比,要使用Tcl和Tk所需要學(xué)習(xí)的知識(shí)更少,需要編寫的代碼更少。通過(guò)幾個(gè)小時(shí)的學(xué)習(xí),Tcl/Tk新手用戶就可以創(chuàng)建有意思的用戶界面,很多開發(fā)人員從其他工具集轉(zhuǎn)而使用Tcl和Tk工具集后,應(yīng)用程序開發(fā)所需要的代碼數(shù)量和開發(fā)時(shí)間都減少了90%。

            Tcl和Tk適于快速開發(fā)的另一個(gè)原因在于Tcl是解釋語(yǔ)言,使用Tcl應(yīng)用程序時(shí),可以在運(yùn)行中生成和使用新腳本,而無(wú)需重新編譯和重啟應(yīng)用程序。

            Tcl可以跨平臺(tái),這意味著在一個(gè)平臺(tái)如Linux上開發(fā)的程序,在大多數(shù)情況下可以不加改動(dòng)的在另一個(gè)平臺(tái)上運(yùn)行,如在Windows上或Macintosh上運(yùn)行。

            Tcl還是第一種擁有原生Unicode支持的動(dòng)態(tài)語(yǔ)言。因此,Tcl可以處理這個(gè)世界上幾乎所有的書面語(yǔ)言。

            使用Tcl的另一個(gè)顯著優(yōu)點(diǎn)在于它和它的大多數(shù)擴(kuò)展都是免費(fèi)的開源軟件,允許所有人免費(fèi)下載、查看、修改及再發(fā)布。

            另外,Tcl還可以讓應(yīng)用程序很容易地?fù)碛袕?qiáng)大的腳本功能。例如為要一個(gè)已經(jīng)存在的程序添加腳本功能,您只需要實(shí)現(xiàn)幾條新的Tcl命令,用來(lái)為應(yīng)用程序提供相應(yīng)的基本功能。然后,把您的新命令和Tcl庫(kù)鏈接起來(lái)生成全功能的腳本語(yǔ)言,該語(yǔ)言就包含了Tcl提供的命令和您編寫的那些命令。

            Tcl還為用戶提供了方便。一旦學(xué)習(xí)了Tcl/Tk就能為任何Tcl和Tk應(yīng)用程序編寫腳本,只需要學(xué)習(xí)該應(yīng)用程序特有的少數(shù)幾條命令即可。這使得更多的用戶有能力對(duì)應(yīng)用程序進(jìn)行個(gè)性化改造和強(qiáng)化。

            如果不借助別的軟件自己來(lái)實(shí)現(xiàn)一個(gè)AVEVA中的PML類似的功能,可能要涉及很多知識(shí),如編譯原理,計(jì)算機(jī)系統(tǒng)等很多很多,編寫出來(lái)的程序即使能用,可能質(zhì)量也不好。正如荀子所言:“君子性非異也,善假于物也”;牛頓也說(shuō)“我不知道在別人看來(lái),我是什么樣的人;但在我自己看來(lái),我不過(guò)就像是一個(gè)在海濱玩耍的小孩,為不時(shí)發(fā)現(xiàn)比尋常更為光滑的一塊卵石或比尋常更為美麗的一片貝殼而沾沾自喜,而對(duì)于展現(xiàn)在我面前的浩瀚的真理的海洋,卻全然沒有發(fā)現(xiàn)。如果說(shuō)我比別人看得更遠(yuǎn)些,那是因?yàn)槲艺驹诹司奕说募缟稀?#8221;如果借助于巨人的力量,使用Tcl就可以方便的實(shí)現(xiàn)PML類似的功能,現(xiàn)在需要做的就是對(duì)前人知識(shí)的學(xué)習(xí)與使用。

            PDF Version: Tcl Tk Introduction

            久久精品国产精品国产精品污| 国产精品美女久久久久AV福利| 久久久中文字幕日本| 久久九九全国免费| 性色欲网站人妻丰满中文久久不卡 | 欧美精品九九99久久在观看| 国产免费久久精品99久久| 久久国产V一级毛多内射| 久久人人爽人人爽人人片AV东京热| 国产—久久香蕉国产线看观看 | 97超级碰碰碰碰久久久久| 韩国三级中文字幕hd久久精品| 国产精品九九久久免费视频 | 国产精品久久久久a影院| 久久国产AVJUST麻豆| 日韩人妻无码精品久久久不卡 | 成人亚洲欧美久久久久| 日韩精品无码久久一区二区三| 中文字幕无码久久久| 天天爽天天狠久久久综合麻豆| 99久久精品毛片免费播放| 国产亚洲精午夜久久久久久| 伊人久久大香线蕉精品不卡| 亚洲精品无码成人片久久| 一级做a爰片久久毛片16| 婷婷国产天堂久久综合五月| 久久精品无码一区二区无码 | 久久综合狠狠综合久久综合88| 久久精品国产亚洲一区二区| 欧美日韩成人精品久久久免费看| 中文字幕久久久久人妻| 精品人妻伦九区久久AAA片69| 久久毛片一区二区| 7国产欧美日韩综合天堂中文久久久久| 久久久久国产一区二区| 麻豆AV一区二区三区久久| 青青久久精品国产免费看| 国产婷婷成人久久Av免费高清 | 91精品婷婷国产综合久久| 亚洲AV无码久久精品狠狠爱浪潮 | 国产无套内射久久久国产|