<b id="acoce"></b>
<mark id="acoce"></mark>

  • <bdo id="acoce"><optgroup id="acoce"></optgroup></bdo>
      <samp id="acoce"><strong id="acoce"><u id="acoce"></u></strong></samp>
          1. 精品综合久久久久久97_亚洲国产精品久久久久婷婷老年_成人区人妻精品一区二区三区_国产精品JIZZ在线观看老狼_国产欧美精品一区二区三区

            手機版

            掃一掃,手機訪問

            關(guān)于我們 加入收藏
            馬爾文帕納科
            Malvern Panalytical

            馬爾文帕納科

            18 年白金會員

            已認證

            撥打電話
            獲取底價
            提交后,商家將派代表為您專人服務(wù)
            立即發(fā)送
            點擊提交代表您同意 《用戶服務(wù)協(xié)議》
            當前位置:
            馬爾文帕納科 >技術(shù)文章 >

            XRD軟件應(yīng)用| HighScore Plus腳本入門(一)

            XRD軟件應(yīng)用| HighScore Plus腳本入門(一)
            馬爾文帕納科  2024-07-05  |  閱讀:1532

            手機掃碼查看

            XRD軟件HighScore的Plus功能模塊(即HighScore Plus)里包含了對腳本代碼的支持;基于腳本的擴展性,軟件也有了更大的可能讓用戶得以實現(xiàn)一些特殊的計算或自定義特定格式的結(jié)果輸出,以補足原軟件在設(shè)計時未預見未直接包含的功能。本文介紹了HighScore Plus的腳本編程語言的編輯方法以及開發(fā)環(huán)境,為研究者實現(xiàn)個性化的計算和結(jié)果提供指導。

            HighScore Plus腳本所使用的語言是Object Pascal,繼承自相對古老的Pascal編程語言,支持結(jié)構(gòu)化和面向?qū)ο缶幊獭K膬?yōu)點包括代碼的易讀性、快速編譯,以及支持多個單元文件從而實現(xiàn)模塊化編程。作為已經(jīng)不再流行的編程語言,可能在圖書館里才能翻得到它的出版教程了,但網(wǎng)絡(luò)上依然保留了不少資源。Neil Moffatt的Delphi Basic、Marco Cantù的Essential Pascal(中文)和Tao Yue的Learn Pascal tutorial(Wiki化后的中文版)都可以給初學者提供不少幫助。

            HighScore Plus軟件里甚至內(nèi)置了一個集成開發(fā)環(huán)境(IDE,Integrated Development Environment ),可以由菜單Tools - Script Editor調(diào)出,麻雀雖小五臟俱全,可以直接編輯、編譯和調(diào)試代碼。軟件幫助系統(tǒng)的第11部分中羅列了HighScore Plus軟件開放的可調(diào)用的對象模型及它們的屬性、函數(shù)和過程。軟件安裝目錄下的HelpExternals子目錄下也放了不少.PAS的示例代碼文件,可用于參考和學習;Documentation子目錄下的Scripting in HighScore Plus.pdf文件中也舉了大量的例子來告訴你如何實現(xiàn)某些功能。

            本文的編寫也參考了上述的文件和網(wǎng)絡(luò)資源。

            圖1 HighScore Plus中內(nèi)置的腳本編輯器



            01丨程序結(jié)構(gòu)

            如下圖,Pascal程序的基本結(jié)構(gòu)由三部分組成:

            圖2 Pascal程序基本結(jié)構(gòu)

            程序首部:

            以關(guān)鍵字program開頭,用以標識這是一個程序;其后便是由用戶自己定義的程序名稱ExampleProgram;以半角分號(;)作為這一部分的結(jié)束。

            聲明部分:

            聲明部分可以省略,但凡是在程序中用到所有變量、常量、數(shù)組及自定義的數(shù)據(jù)類型、過程與函數(shù)等都必須在聲明部分預先定義,也就是說,不允許不聲明就使用;聲明部分中可以包含:

            使用指令:以關(guān)鍵字uses開頭,指定要在程序中引用的單元(相當于模塊),以便在程序中使用在單元中定義好的過程、函數(shù)和類等等;一般System單元不用特地聲明引用;如程序中不需要引用額外的單元,此部分可省略;

            類型聲明:以關(guān)鍵字type開頭,基于已有數(shù)據(jù)類型構(gòu)建自定義的數(shù)據(jù)類型,以在程序中使用;如沒有自定義新數(shù)據(jù)類型的必要,此部分可省略;

            常量聲明:以關(guān)鍵字const開頭,定義在程序中會使用到的常量;如無必要可省略;

            變量聲明:以關(guān)鍵字var開頭,定義在程序中會使用到的變量;如果程序中用不到自定義的變量,此部分可以省略;

            子過程、子函數(shù)定義;如無必要可省略;

            程序主體:

            程序主體由begin開始,end.(注意,不要遺漏這個點符)結(jié)束,兩者中間則是執(zhí)行語句。

            Pascal程序代碼不管哪一部分,語句末尾都必須有半角分號(;)以示這一語句的結(jié)束,但允許end前面的那一個語句省略分號;多個語句可以用一對begin和end;(注意,這里有半角分號)包含起來作為一個程序塊,程序塊多用于子過程、子函數(shù)等的定義以及流程語句;代碼里最后一個end后的點符(.)代表整個程序的結(jié)束。

            Pascal語言中,程序名稱、常量名稱、變量名稱等這種自定義的名稱統(tǒng)稱為標識符。標識符必須以一個英文字母或者下劃線(_)開始,后面可以是英文字母、數(shù)字或下劃線,長度不限;但不能與Pascal語言已占用的有特殊含義的關(guān)鍵字/保留字(如program)相同。標識符以及關(guān)鍵字都不區(qū)分大小寫,因此exampleprogram、ExampleProgram、EXAMPLEPROGRAM和eXaMpLePrOgRaM這幾個名稱都是相同的,但為了代碼的可讀性,建議遵循一定的命名書寫規(guī)范,有意義地使用大小寫。

            在圖2中可以看到,在腳本編輯器默認的代碼高亮規(guī)則下,部分代碼以綠色斜體顯示,這些是不被編譯也不被執(zhí)行的注釋。注釋同樣是代碼的一部分,主要用來寫一些說明,以讓代碼更容易理解,也可以用來在不刪除的情況下屏蔽有問題的代碼。Pascal語言支持三種注釋方式:一對半角大括號({  })、一對帶星號的半角小括號((*  *))以及雙斜線(//)。


            圖3 注釋

            在HighScore Plus的腳本編輯器中,當點開工具欄中第一個按鈕并點擊New Script項新建一個腳本時,在Script Name框中輸入的腳本名稱同時默認為程序名稱;輸完名稱后,點擊OK按鈕,即會新建一個完整結(jié)構(gòu)的空白的腳本。


            圖4 新建腳本



            02丨數(shù)據(jù)類型及賦值、運算

            Pascal語言中包含了以下基本數(shù)據(jù)類型:

            整數(shù)類型:最基礎(chǔ)的是integer類型,其數(shù)據(jù)范圍一般情況下已足夠使用,如果需要更大的整數(shù)范圍,可以用longint類型甚至int64類型;

            實數(shù)類型:也稱浮點數(shù)型,最基礎(chǔ)的是real類型,但不提倡用,建議用single單精度實型或double雙精度實型,要更大范圍得話,還可以用extended擴展實型;

            字符類型:最基礎(chǔ)的是char類型,即ASCII字符,一般用一對半角單引號將單個字符括起來,如‘a(chǎn)‘、‘@’等(注:半角單引號需多用一個單引號轉(zhuǎn)義,即’’’’),也可以用井號加0~255以內(nèi)的整數(shù)表示第幾個ASCII字符,如#65即為‘A’;雙字節(jié)的Unicode字符可以用widechar類型來支持;多個字符組成的字符串則可以用string類型;

            布爾類型:最基礎(chǔ)的是boolean類型,只有TRUE(真,值為1)和FALSE(假,值為0)兩個值;

            常量的賦值直接在聲明部分中聲明常量的同時完成,而且不必特別指定其數(shù)據(jù)類型,編譯器會根據(jù)所賦的值自動選用合適的數(shù)據(jù)類型;賦值時,直接用等號(=)賦值;賦值后,在程序中可以用常量的標識符來使用其值,但無法修改其值。對于一個在程序中到處會用到,而且程序運行中保持不變的值,建議用常量來存儲,然后在執(zhí)行代碼中使用這個常量的標識符,這樣當要改這個值時,就不用到執(zhí)行代碼中到處查找這個值然后修改,而是可以輕松地直接在常量聲明中修改一次就成。


            圖5 常量的聲明與賦值

            變量的值在程序運行的過程中可以更改,但使用前必須先聲明好。在程序的聲明部分中聲明的變量稱為全程變量,可以在整個程序(包括子過程、子函數(shù)中)中使用;在子過程、子函數(shù)中聲明的變量,稱為局部變量,只能在聲明它的子過程或子函數(shù)中使用。變量一般在執(zhí)行語句中用賦值符(帶半角冒號的等號,即:=)賦值;全程變量也可以在聲明的同時用等號(=)賦初值,但不建議這么做。在聲明變量時,必須用半角冒號(:)指定變量的數(shù)據(jù)類型;不賦初值的情況下,一個語句可以聲明同一類型的多個變量,這些變量的標識符須用半角逗號(,)分隔開。


            圖6 變量的聲明與賦值

            一般的工作可能前面所講的那些數(shù)據(jù)類型已經(jīng)足夠使用了,但涉及到相對復雜的、要處理大量數(shù)據(jù)的工作時,通過定義很多個變量去實現(xiàn)很顯然不太現(xiàn)實,此時對于同一類型的大量數(shù)據(jù),就可以用數(shù)組來處理。

            數(shù)組可以通過“array[下標范圍] of 數(shù)據(jù)類型”來定義,其中下標值一般是整數(shù)類型。[下標范圍]可以省略:定義時省略了[下標范圍]的數(shù)組稱為動態(tài)數(shù)組,使用前必須先用函數(shù)setlength設(shè)置其大小,設(shè)置后,動態(tài)數(shù)組的下標總是從零開始;定義時指定了下標范圍的數(shù)組稱為靜態(tài)數(shù)組,下標范圍可以按需要設(shè)置,以[下標下屆..下標上屆](用兩個半角點符隔開,相當于從幾到幾的連續(xù)整數(shù))的格式定義,下標值甚至可以是負數(shù);如果要定義多維數(shù)組,可以通過套娃的方式定義,也可以在[ ]里定義多組下標范圍。當聲明了一個數(shù)組變量,則該數(shù)組變量中的各個元素就共用一個數(shù)組名(即該數(shù)組變量標識符),通過下標的不同以區(qū)別不同的元素,可以通過“數(shù)組名[下標]”來引用數(shù)組元素;對數(shù)組的操作歸根到底就是對數(shù)組元素的操作,數(shù)組元素可以像同類型的普通變量那樣操作。


            圖7 數(shù)組的聲明與賦值

            上圖中第30行中的“[true, true, true, true, true, false, false]”是一個直接常量(直接以字面形式,而非標識符表示的常量,如前面附圖中賦值語句等號右側(cè)的那些數(shù)值或字符,2.7182818、10086、true、’A’ 等)數(shù)組,用一對半角方括號([ ])將各元素括在其中,元素之間用半角逗號(,)分隔。

            變量在賦值時,賦值號的右側(cè)除了用直接常量外,也可以是一個運算表達式,運算表達式中可以帶有變量或常量。

            數(shù)字的計算使用算術(shù)運算符,除了常規(guī)的四則運算:加(+)、減(-)、乘(*)、除(/)外,還有整除(div)和取模(除法取余數(shù),mod);運算時,先乘除(整除和取模和乘除同一優(yōu)先級)后加減,當然括號優(yōu)先級最高(由內(nèi)向外逐層降低),相同優(yōu)先級則從左往右順序計算;


            圖8 數(shù)字的算數(shù)運算

            關(guān)系運算符(=、<>、>、<、>=、<=)則可以用來判斷兩個數(shù)之間的大小關(guān)系,其結(jié)果是布爾類型;關(guān)系運算符的優(yōu)先級是最低的;


            圖9 數(shù)字的大小比較

            邏輯運算符則用來處理布爾類型的量,包含:not(非,只有一個運算對象,結(jié)果取運算對象的相反值)、and(且,只有兩邊都為真,結(jié)果才為真)、or(或,兩邊有一個真,則結(jié)果就為真)、xor(異或,兩邊不一樣,則結(jié)果為真);not優(yōu)先級最高,其次是and,與乘除同一級別, or和xor則與加減并列;


            圖10 布爾值的邏輯運算

            對于字符(串),有連接運算符(加號,+)用來將兩邊的字符(串)連成一個字符串;關(guān)系運算符也可以用于字符串的比較,比較時,兩個字符串從左往右按ASCII碼值逐個比較,遇到不相等時,碼值大的字符所在的字符串為大,因此小寫字母>大寫字母>數(shù)字。


            圖11 字符(串)的運算

            除上述數(shù)據(jù)類型外,還有枚舉、集合(圖5中聲明的常量Letters就是一個點亮大小寫字母的52個字符的集合)、記錄、指針、文件、類等等類型,本文中不再贅述,感興趣的可以參考Essential Pascal、Delphi Basics、Learn Pascal tutorial等網(wǎng)絡(luò)資源中的說明。

            相關(guān)產(chǎn)品

            更多

            升級版激光粒度儀Mastersizer 3000+

            型號:Mastersizer 3000+

            面議
            納米粒度及電位分析儀Zetasizer Lab

            型號:提供Blue Label 和 Red Label 型號

            面議
            納米粒度及電位分析儀Zetasizer Pro

            型號:提供 Blue Label 和 Red Label 型號

            面議
            納米粒度及電位分析儀Zetasizer Ultra

            型號:提供Blue Label 和 Red Label 型號

            面議
            留言咨詢
            (我們會第一時間聯(lián)系您)
            關(guān)閉
            留言類型:
                 
            *姓名:
            *電話:
            *單位:
            Email:
            *留言內(nèi)容:
            (請留下您的聯(lián)系方式,以便工作人員及時與您聯(lián)系!)
            狂野欧美性猛交xxxx_亚洲国产精品久久久久婷婷老年_成人区人妻精品一区二区三区_国产精品JIZZ在线观看老狼
            <b id="acoce"></b>
            <mark id="acoce"></mark>

          2. <bdo id="acoce"><optgroup id="acoce"></optgroup></bdo>
              <samp id="acoce"><strong id="acoce"><u id="acoce"></u></strong></samp>