![ResForm腳本語(yǔ)言基礎(chǔ)及應(yīng)用初步_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/20/98a212d4-0dfa-4006-958a-22ab673503ee/98a212d4-0dfa-4006-958a-22ab673503ee1.gif)
![ResForm腳本語(yǔ)言基礎(chǔ)及應(yīng)用初步_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/20/98a212d4-0dfa-4006-958a-22ab673503ee/98a212d4-0dfa-4006-958a-22ab673503ee2.gif)
![ResForm腳本語(yǔ)言基礎(chǔ)及應(yīng)用初步_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/20/98a212d4-0dfa-4006-958a-22ab673503ee/98a212d4-0dfa-4006-958a-22ab673503ee3.gif)
![ResForm腳本語(yǔ)言基礎(chǔ)及應(yīng)用初步_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/20/98a212d4-0dfa-4006-958a-22ab673503ee/98a212d4-0dfa-4006-958a-22ab673503ee4.gif)
![ResForm腳本語(yǔ)言基礎(chǔ)及應(yīng)用初步_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/20/98a212d4-0dfa-4006-958a-22ab673503ee/98a212d4-0dfa-4006-958a-22ab673503ee5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、resform技術(shù)資料匯編resform腳本語(yǔ)言基礎(chǔ)及其應(yīng)用(一)西安海卓石油信息技術(shù)有限公司前 言resform腳本語(yǔ)言是由西安海卓石油信息技術(shù)有限公司研制開(kāi)發(fā),專(zhuān)門(mén)為該公司所發(fā)布的基于resform構(gòu)架的地質(zhì)工作室軟件產(chǎn)品(以下簡(jiǎn)稱(chēng)geooffice)配置的編程語(yǔ)言。利用resform腳本語(yǔ)言,可以通過(guò)編程方式實(shí)現(xiàn)對(duì)geooffice軟件產(chǎn)品常規(guī)功能的高度自動(dòng)化操作,包括各種格式的地質(zhì)成果圖模板的自動(dòng)生成、各種地質(zhì)參數(shù)的獲取和分析、geooffice軟件產(chǎn)品與其他流行辦公軟件的交互操作等等。 resform腳本語(yǔ)言面向該公司geooffice軟件產(chǎn)品的中高級(jí)用戶(hù),為他們提供了一個(gè)通過(guò)編程方
2、式實(shí)現(xiàn)對(duì)geooffice軟件產(chǎn)品功能擴(kuò)展的有效手段。 geooffice軟件產(chǎn)品具有靈活實(shí)用、功能豐富、易于掌握的特點(diǎn),更為重要的是該軟件產(chǎn)品充分考慮了地質(zhì)人員的工作習(xí)慣。實(shí)際上,該軟件產(chǎn)品的作者本身就是石油地質(zhì)方面的專(zhuān)家,所以研制開(kāi)發(fā)出的產(chǎn)品符合地質(zhì)人員的工作習(xí)慣是非常自然的。因?yàn)橛辛松鲜龅奶攸c(diǎn),geooffice軟件產(chǎn)品一經(jīng)推出,就在全國(guó)各大油田的相關(guān)行業(yè)中產(chǎn)生了較大的影響。目前,該軟件的用戶(hù)群正在不斷擴(kuò)大,并由此帶來(lái)了相關(guān)領(lǐng)域油田工作效率的明顯提高。與此同時(shí)在這個(gè)用戶(hù)群中還涌現(xiàn)出不少這樣的用戶(hù),他們對(duì)計(jì)算機(jī)的了解比較深入,大都有過(guò)用某種計(jì)算機(jī)語(yǔ)言編程的經(jīng)驗(yàn),同時(shí)這些用戶(hù)對(duì)于geooff
3、ice軟件產(chǎn)品功能的掌握比一般用戶(hù)更為全面和深入,因此在他們希望能夠更多更好地掌握resform腳本語(yǔ)言,以解決地質(zhì)研究工作中更多更繁雜的問(wèn)題。鑒于這種情況,公司決定除了在geooffice軟件產(chǎn)品的說(shuō)明書(shū)中向用戶(hù)提供有關(guān)resform腳本語(yǔ)言基礎(chǔ)知識(shí)外,再面向geooffice軟件產(chǎn)品的中高級(jí)用戶(hù)提供一套更為詳盡的resform腳本語(yǔ)言應(yīng)用方面的教材。resform腳本語(yǔ)言可用應(yīng)用的領(lǐng)域很多,從單井資料的處理分析、油藏剖面相關(guān)數(shù)據(jù)的計(jì)算、一直到geooffice軟件產(chǎn)品針對(duì)的整個(gè)油田區(qū)塊相關(guān)地質(zhì)參數(shù)的提取,以這些參數(shù)的空間分布規(guī)律的研究等等,都可以是resform腳本語(yǔ)言的用武之地。本書(shū)主要
4、是關(guān)于resform腳本語(yǔ)言基礎(chǔ)方面的介紹,以及resform腳本語(yǔ)言在單井?dāng)?shù)據(jù)資料的處理和分析方面的部分應(yīng)用示例。有關(guān)更多應(yīng)用方面的介紹將在后續(xù)發(fā)布的有關(guān)專(zhuān)輯中進(jìn)行。書(shū)中列出的絕大部分實(shí)例來(lái)源于公司技術(shù)支持部門(mén)對(duì)于全國(guó)各油田用戶(hù)所提問(wèn)題的實(shí)際解決方案,因而這些實(shí)例的針對(duì)性和實(shí)用性是顯而易見(jiàn)的。除此之外,其中有幾個(gè)解決方案具有行業(yè)內(nèi)通用的性質(zhì),關(guān)于這一點(diǎn)當(dāng)您在仔細(xì)閱讀每個(gè)示例時(shí),當(dāng)會(huì)有切身的體驗(yàn)。本書(shū)的內(nèi)容分兩部分,第一部分是resform腳本語(yǔ)言基礎(chǔ)知識(shí)的介紹;第二部分是resform腳本語(yǔ)言在油田中應(yīng)用的初步介紹。本書(shū)假定讀者具有至少一種計(jì)算機(jī)編程語(yǔ)言的應(yīng)用經(jīng)驗(yàn)并且已經(jīng)熟悉西安海卓石油信息
5、技術(shù)有限公司發(fā)布的geooffice軟件產(chǎn)品的基本操作方法。在本書(shū)的編寫(xiě)過(guò)程中,得到了全國(guó)各油田新老用戶(hù)的大力支持。其中特別要提到的是長(zhǎng)慶油田的姜英昆、大慶油田的鄭建東、大港油田的陳長(zhǎng)偉、青海油田的謝麗、中石油總院廊坊分院的張鳳敏、南陽(yáng)油田的田云和華北油田的朱昌靈這幾位專(zhuān)家,由于他們的悉心指導(dǎo),使得參與該書(shū)寫(xiě)作的人員得以對(duì)油田的地質(zhì)研究工作有了更加準(zhǔn)確地了解,這使得該書(shū)在實(shí)用性上有了很大的改進(jìn)。對(duì)此,西安海卓石油信息技術(shù)有限公司全體員工深表謝意!由于編者技術(shù)經(jīng)歷和專(zhuān)業(yè)水平所限,加之時(shí)間倉(cāng)促,書(shū)中肯定有不少錯(cuò)漏之處,敬請(qǐng)各位專(zhuān)家和讀者不吝指教。 西安海卓石油信息技術(shù)有限公司 2009年5月4日目
6、 錄第一篇 resform腳本語(yǔ)言基礎(chǔ)知識(shí).4第一章 resform腳本語(yǔ)言入門(mén).5第二章 resform用戶(hù)界面編程. 18第二篇 resform腳本語(yǔ)言應(yīng)用范例.86第一章 自動(dòng)生成綜合錄井圖模板.87第二章 地層泥質(zhì)含量計(jì)算.95第三章 地層孔隙度計(jì)算.98第四章 地層滲透率計(jì)算.102第五章 地層含水飽和度計(jì)算.103第六章 地層巖性分析.108附錄. .125第一篇 resform腳本語(yǔ)言基礎(chǔ)這一部分介紹resform腳本語(yǔ)言的基礎(chǔ)知識(shí),通過(guò)這部分的介紹您將能夠從了解resform腳本語(yǔ)言是什么開(kāi)始,直到掌握利用resform腳本語(yǔ)言解決一些相對(duì)復(fù)雜的地質(zhì)問(wèn)題。這部分給出的所有樣例代
7、碼,都是經(jīng)過(guò)認(rèn)真地斟酌后選定的,具有很強(qiáng)的針對(duì)性,對(duì)于理解書(shū)中介紹的知識(shí)是很有幫助的,請(qǐng)仔細(xì)閱讀。所有書(shū)中列出的樣例代碼都在geooffice軟件產(chǎn)品中調(diào)試通過(guò),您也可以將書(shū)中列出的代碼錄入您的geooffice軟件產(chǎn)品的resform 腳本編輯器進(jìn)行練習(xí),這也對(duì)于加快學(xué)習(xí)的進(jìn)度也是很有好處的。第一章 resform腳本語(yǔ)言入門(mén)我們的討論從一個(gè)最簡(jiǎn)單的例子開(kāi)始。就個(gè)人的體驗(yàn)來(lái)講,通過(guò)幾個(gè)恰當(dāng)選擇的例子來(lái)理解一門(mén)編程語(yǔ)言是一種非常有效的途徑。當(dāng)然,為了開(kāi)始順利地進(jìn)入角色,您得做些必要的準(zhǔn)備工作,第一要使geooffice軟件本身運(yùn)行起來(lái)。resform腳本置身于geooffice軟件中,是個(gè)寄生
8、的家伙,沒(méi)有g(shù)eooffice軟件的首先運(yùn)行它自己什么也做不了。geooffice軟件開(kāi)始運(yùn)行的初始界面(圖 01)就象下面這個(gè)樣子?,F(xiàn)在,您該打開(kāi)某個(gè)工作區(qū),有時(shí)您可能還得做些配置服務(wù)器或數(shù)據(jù)準(zhǔn)備等等諸如此類(lèi)的工作。有關(guān)這一部分操作的詳細(xì)介紹,請(qǐng)參考隨每個(gè)geooffice產(chǎn)品發(fā)布的相關(guān)說(shuō)明書(shū)。因?yàn)槲覀儸F(xiàn)在主要關(guān)注的是resform腳本語(yǔ)言基礎(chǔ)知識(shí)。而在后面的示例中主要是針對(duì)單井?dāng)?shù)據(jù)處理方面的,所以在上面的準(zhǔn)備工作做完之后,您得打開(kāi)您想要用resform腳本語(yǔ)言進(jìn)行處理的某口井的測(cè)井或錄井的成果圖。至于resform腳本語(yǔ)言在geooffice軟件其它類(lèi)別的項(xiàng)目,如剖面圖對(duì)象或某種類(lèi)型平面圖
9、對(duì)象上的數(shù)據(jù)處理,其做法是大致相同的。有關(guān)這些方面的詳細(xì)討論將在以后其他的相關(guān)資料中介紹。(圖 01)準(zhǔn)備工作進(jìn)行到現(xiàn)階段應(yīng)該在屏幕上可以見(jiàn)到類(lèi)似下面這樣的畫(huà)面了(圖 02)。請(qǐng)注意,在打開(kāi)一個(gè)單井成果圖文件后,工具欄會(huì)出現(xiàn)“編輯/執(zhí)行宏”這樣一個(gè)命令按鈕?,F(xiàn)在好了嗎?如果沒(méi)有問(wèn)題了,我們就繼續(xù)往下進(jìn)行。編輯/執(zhí)行宏(圖 02)現(xiàn)在單擊“編輯/執(zhí)行宏”按鈕,類(lèi)似(圖03)這個(gè)樣子的界面顯示出來(lái),我們所有的 resform腳本的編碼、調(diào)試和運(yùn)行都將在這里完成。中間那塊黑色的區(qū)域就是我們可以編輯代碼的地方。后面我們就叫它resform腳本語(yǔ)言編輯區(qū)吧,名不正則言不順,為了敘述起來(lái)方便,總得有個(gè)頭銜
10、才好。執(zhí)行(圖03)現(xiàn)在開(kāi)始我們的第一個(gè)resform 腳本程序,請(qǐng)將下面用兩條虛線(xiàn)圍起來(lái)的所有內(nèi)容,敲入代碼編輯區(qū),點(diǎn)擊上面的(圖03)中標(biāo)出的“執(zhí)行”命令按鈕,感覺(jué)怎樣? /-/我們的第一個(gè)resform腳本程序void main()/-當(dāng)然感覺(jué)不是很好是嗎?這個(gè)程序啥也沒(méi)做,您應(yīng)該是沒(méi)有什么感覺(jué)的。但這確實(shí)是一個(gè)完整的resform腳本程序,可以正確地通過(guò)編譯和并可以正確地運(yùn)行。而且,這個(gè)程序包含了幾個(gè)重要的概念,這些概念對(duì)于我們從總體上掌握resform腳本語(yǔ)言是很有幫助的?,F(xiàn)在我們就來(lái)逐行地看一下上面的程序。第一行,是兩個(gè)注釋行,resform腳本語(yǔ)言規(guī)定用“/”標(biāo)記一個(gè)注釋行的開(kāi)始
11、,程序在執(zhí)行時(shí),注釋行被忽略,我們經(jīng)常用注釋行來(lái)對(duì)程序做一些注解,如說(shuō)明程序的主要功能是什么,采用了哪些什么關(guān)鍵的算法,有些什么需要特別注意的問(wèn)題等等,總之,注釋行里你可以寫(xiě)上任何你想寫(xiě)的東西,而且,一個(gè)注釋行可放在程序的任何地方,只要覺(jué)得有道理。第二行是resform 腳本程序的入口點(diǎn),是腳本真正開(kāi)始做事的地方,也稱(chēng)主函數(shù)頭。第三和第四行這個(gè)“”和“”符號(hào)對(duì)標(biāo)記的是一個(gè)稱(chēng)作函數(shù)體的東西,通常我們所寫(xiě)的我們用resform腳本語(yǔ)言寫(xiě)的所有語(yǔ)句就放在這個(gè)函數(shù)體里。實(shí)際上,剛才所敘述的差不多就是整個(gè)resform腳本程序的樣子了,任何一個(gè)resform語(yǔ)言的腳本程序由main()主函數(shù)開(kāi)始,后面緊
12、跟一對(duì)花括號(hào),所有可執(zhí)行的語(yǔ)句都放在這對(duì)花括號(hào)界定的函數(shù)體里面。利用這個(gè)結(jié)構(gòu)差不多可以解決我們遇到的絕大多數(shù)的問(wèn)題了。任何別的更加復(fù)雜的問(wèn)題無(wú)非也就是對(duì)這樣一個(gè)結(jié)構(gòu)的不斷擴(kuò)充而已。/-void main()/干點(diǎn)什么事/-resform腳本語(yǔ)言編程差不多就是這樣了,如果記住了,就可以大膽地往前走了。 當(dāng)然,這擺活了半天啥也沒(méi)見(jiàn)著,確實(shí)有點(diǎn)說(shuō)不過(guò)去。下面就舉個(gè)例子,干點(diǎn)什么事,至于怎么把這段代碼寫(xiě)到resform代碼編輯區(qū),怎樣運(yùn)行這段代碼就不用再說(shuō)了吧。/第二個(gè)例子,介紹一個(gè)常用行數(shù)messagebox(.)/-void main()messagebox.show(hello, world !
13、);/-運(yùn)行程序,現(xiàn)在,可以看見(jiàn)點(diǎn)東西了,是否多少有點(diǎn)成就感了呢?當(dāng)然,如果您想說(shuō)的其實(shí)是這個(gè)老掉牙的例子,使您一下子想起了萬(wàn)惡的舊社會(huì)的話(huà),就保持沉默好了,“做人要厚道”。(圖04)這段小程序的真正的目的是想向您介紹一個(gè)在resform腳本程序中使用頻率極高的messagebox函數(shù)的,這在以后您也會(huì)會(huì)經(jīng)常要用到。比如說(shuō),我們?cè)谡{(diào)試一個(gè)程序時(shí),會(huì)經(jīng)常想知道,這個(gè)程序現(xiàn)在運(yùn)行到什么地方了?這對(duì)于我們?cè)谡{(diào)試一個(gè)代碼較長(zhǎng)又相對(duì)費(fèi)時(shí)的程序來(lái)說(shuō),尤其是這樣。做到這一點(diǎn)很容易,在您想停下來(lái)觀察的位置插入一個(gè)messagebox.show() 函數(shù)就好。在上面給出的是messagebox.show() 函
14、數(shù)最簡(jiǎn)單的用法。messagebox.show()函數(shù)有好幾個(gè)不同的變體,以用于不同的場(chǎng)合,我不知道您將怎樣使用它,所以下面我根據(jù)自己的經(jīng)驗(yàn)選擇幾個(gè)可能對(duì)會(huì)更加常用的做個(gè)介紹,也好容您有個(gè)選擇余地。常用messagebox.show()函數(shù)的幾中不同形式:1. dialogresult messagebox.show( string text );功能 顯示具有指定文本的消息框。這種形式最簡(jiǎn)單,也是前面我們用過(guò)的。參數(shù)說(shuō)明text: 要在消息框中顯示的文本, 類(lèi)型 string。 返回值:: dialogresult 值之一,類(lèi)型:dialogresult。默認(rèn)情況下,消息框顯示一個(gè)“確定”按
15、鈕。2. dialogresult messagebox.show(string text, string caption);功能 顯示具有指定文本和標(biāo)題的消息框。參數(shù)說(shuō)明text: 要在消息框中顯示的文本, 類(lèi)型 string。 caption 要在消息框的標(biāo)題欄中顯示的文本,類(lèi)型:string返回值:: dialogresult 值之一,類(lèi)型:dialogresult。默認(rèn)情況下,消息框顯示一個(gè)“確定”按鈕。3. dialogresult messagebox.show( string text, string caption, messageboxbuttons buttons);功能顯
16、示具有指定文本、標(biāo)題和按鈕的消息框。參數(shù)說(shuō)明text: 要在消息框中顯示的文本, 類(lèi)型 string。 caption 要在消息框的標(biāo)題欄中顯示的文本,類(lèi)型:stringbuttons messageboxbuttons 值之一,可指定在消息框中顯示哪些按鈕, 類(lèi)型:messageboxbuttons返回值:: dialogresult 值之一,類(lèi)型:dialogresult。dialogresult、messageboxbuttons和 string 數(shù)據(jù)類(lèi)型:dialogresult 是一個(gè)枚舉,其實(shí)就是resform內(nèi)部定義好的一些整數(shù),對(duì)外是用字符表示的,這便于閱讀和記憶,resfor
17、m用這些整數(shù)標(biāo)識(shí)在對(duì)話(huà)框的操作中,用戶(hù)動(dòng)了對(duì)話(huà)框的哪個(gè)按鈕或別的什么東西,然后根據(jù)用戶(hù)的操作返回一個(gè)相應(yīng)的值。至于這些整數(shù)等于3或是7就不管了吧,有道是多一事不如少一事,知道怎么用就好。下面就具體給出dialogresult可能的取值:none 從對(duì)話(huà)框返回了 dialogresult.nothing。這表明有模式對(duì)話(huà)框繼續(xù)運(yùn)行。ok 對(duì)話(huà)框的返回值是 dialogresult.ok(通常從標(biāo)簽為“確定”的按鈕發(fā)送, 即指示用戶(hù)按下了“確定”按鈕。cancel 對(duì)話(huà)框的返回值是 dialogresult.cancel(通常從標(biāo)簽為“取消”的按鈕發(fā)送, 即指示用戶(hù)按下了“取消”按鈕)。abort
18、 對(duì)話(huà)框的返回值是 abort(通常從標(biāo)簽為“中止”的按鈕發(fā)送)。retry 對(duì)話(huà)框的返回值是 retry(通常從標(biāo)簽為“重試”的按鈕發(fā)送)。ignore 對(duì)話(huà)框的返回值是 ignore(通常從標(biāo)簽為“忽略”的按鈕發(fā)送)。yes 對(duì)話(huà)框的返回值是 yes(通常從標(biāo)簽為“是”的按鈕發(fā)送)。no 對(duì)話(huà)框的返回值是 no(通常從標(biāo)簽為“否”的按鈕發(fā)送)。messageboxbuttons是一個(gè)枚舉,其實(shí)就是resform內(nèi)部定義好的一些整數(shù),用以定義 messagebox 上將顯示哪些按鈕。ok消息框包含“確定”按鈕。okcancel消息框包含“確定”和“取消”按鈕。abortretryignore
19、消息框包含“中止”、“重試”和“忽略”按鈕。yesnocancel消息框包含“是”、“否”和“取消”按鈕。yesno消息框包含“是”和“否”按鈕。retrycancel 消息框包含“重試”和“取消”按鈕。string resform腳本語(yǔ)言中的關(guān)鍵字之一,表示數(shù)據(jù)類(lèi)型。string數(shù)據(jù)類(lèi)型表示零個(gè)或更多unicode字符組成的序列。為了后面的討論更加方便,下面介紹在使用resform腳本語(yǔ)言編寫(xiě)程序時(shí),將會(huì)頻繁使用的幾個(gè)最基本的數(shù)據(jù)類(lèi)型和在我們討論有關(guān)單井?dāng)?shù)據(jù)處理分析時(shí)將用的幾個(gè)關(guān)鍵函數(shù)。要說(shuō)明的是,這里列出的數(shù)據(jù)類(lèi)型是不全面的,主要是為了滿(mǎn)足我們?cè)诒緯?shū)所討論問(wèn)題的需要。有關(guān)resform腳本
20、語(yǔ)言中數(shù)據(jù)類(lèi)型的全面介紹請(qǐng)參考相關(guān)的其他資料。其實(shí),如果您掌握了本書(shū)介紹的這幾個(gè)基本數(shù)據(jù)類(lèi)型的相關(guān)知識(shí),那么對(duì)與其它數(shù)據(jù)類(lèi)型的用法也就掌握了。整型 int 關(guān)鍵字表示一種有符號(hào) 32 位整型數(shù)??杀硎?2,147,483,648 到 2,147,483,647范圍內(nèi)的任意整數(shù)??梢月暶鞑⒊跏蓟?int 類(lèi)型的變量,例如:int i = 123;浮點(diǎn)型 float 關(guān)鍵字表示32 位浮點(diǎn)類(lèi)型數(shù)。可表示 1.510-45 到 3.41038范圍內(nèi)的任意實(shí)數(shù)。有7位精度。可以聲明并初始化 float類(lèi)型的變量,例如:float x = 3.5;雙精度型 double 關(guān)鍵字表示 64 位浮點(diǎn)型數(shù)。可
21、表示 5.010-324 到 1.710308范圍內(nèi)的任意實(shí)數(shù)。有15 到 16 位精度。可以聲明并初始化double類(lèi)型的變量,例如:double y = 4.9;object 類(lèi)型,把它理解成是一個(gè)雜貨鋪?zhàn)雍昧耍梢酝锓湃魏螙|西,但您必須得記得怎么把它取出來(lái)。關(guān)于這個(gè)類(lèi)型的具體用法您現(xiàn)在可以先不去管它,等到后面在我們具體用到時(shí)您看一下一個(gè)具體事例然后如法炮制就好。上面列出的是通用數(shù)據(jù)類(lèi)型,下面列出resform腳本語(yǔ)言特有的部分?jǐn)?shù)據(jù)類(lèi)型。圖列類(lèi)型 swellcolumn 關(guān)鍵字表示resform腳本中的列類(lèi)型數(shù)據(jù)對(duì)象。一個(gè)列對(duì)象可以存放一條或多條數(shù)據(jù)道也可以放一個(gè)channels,這跟
22、后面將提到的channels有點(diǎn)像,但swellcolumn 可直接提供對(duì)swelltrace布局的控制。通用圖道類(lèi)型 swelltrace關(guān)鍵字表示resform腳本中的通用道類(lèi)型數(shù)據(jù)對(duì)象。這是一個(gè)通用列類(lèi)型,即該類(lèi)型的變量可以存放任意數(shù)據(jù)到對(duì)象,如曲線(xiàn)道、巖性道或文本道等等。曲線(xiàn)道類(lèi)型 scurvetrace關(guān)鍵字表示resform腳本中的曲線(xiàn)道數(shù)據(jù)對(duì)象。曲線(xiàn)道專(zhuān)用于表示具有等間隔采樣特征的一類(lèi)數(shù)據(jù)序列。這類(lèi)數(shù)據(jù)中,典型的如常規(guī)的電測(cè)曲線(xiàn)。離散道類(lèi)型 sdiscretetrace 關(guān)鍵字表示resform腳本中的離散道數(shù)據(jù)對(duì)象。離散數(shù)據(jù)道專(zhuān)用于具有非等間隔采樣特征的一類(lèi)數(shù)據(jù)序列。這類(lèi)數(shù)據(jù)中
23、,比較典型的如巖樣的孔隙度、滲透率和流體飽和度的分析化驗(yàn)數(shù)據(jù)。文本道類(lèi)型 stexttrace關(guān)鍵字表示resform腳本中的文本道數(shù)據(jù)對(duì)象。文本道可用于像巖性描述等類(lèi)似的場(chǎng)合。巖性道類(lèi)型 slithotrace關(guān)鍵字表示resform腳本中的巖性道數(shù)據(jù)對(duì)象。符號(hào)道類(lèi)型 ssymbol 關(guān)鍵字表示resform腳本中的符號(hào)道數(shù)據(jù)對(duì)象。符號(hào)道可用于表達(dá)油氣顯示或在某個(gè)層位地層中見(jiàn)到的特定地層構(gòu)造,如某種層理,某種生物遺跡等等。地層單元道類(lèi)型sstratiunittrace關(guān)鍵字表示resform腳本中的地層單元道數(shù)據(jù)對(duì)象。砂層組道類(lèi)型 ssandset 關(guān)鍵字表示resform腳本中的砂層組道數(shù)
24、據(jù)對(duì)象。砂層道類(lèi)型 ssandtrace關(guān)鍵字表示resform腳本中的砂層道數(shù)據(jù)對(duì)象。下面的部分是有關(guān)單井成果圖操作的幾個(gè)重要概念和核心函數(shù)。這里介紹的內(nèi)容對(duì)于滿(mǎn)足我們掌握resform腳本語(yǔ)言的目的而言,應(yīng)該是夠用的。this關(guān)鍵字 當(dāng)我們正在操作某個(gè)單井成果圖時(shí),這個(gè)單井成果圖時(shí)就是this.以下函數(shù)獲取當(dāng)前成果圖上所有的數(shù)據(jù)道this.channels.gettraces();以下函數(shù)獲取當(dāng)前成果圖上所有的曲線(xiàn)數(shù)據(jù)道數(shù)據(jù)道this.channels.getcurvetraces();以下函數(shù)獲取當(dāng)前成果圖上所有的離散數(shù)據(jù)道this.channels.getdiscretetraces(
25、);以下函數(shù)獲取當(dāng)前成果圖上所有的巖性數(shù)據(jù)道this.channels.getlithotraces();以下函數(shù)獲取當(dāng)前成果圖上所有的地層單元數(shù)據(jù)道this.channels.getstratiunittraces();以下函數(shù)獲取當(dāng)前成果圖上所有的砂層組數(shù)據(jù)道this.channels.getsandsettraces();以下函數(shù)獲取當(dāng)前成果圖上所有的砂層數(shù)據(jù)道this.channels.getsandtraces();以下函數(shù)獲取當(dāng)前成果圖上所有的油層組數(shù)據(jù)道this.channels.getreservoirgrouptraces();以下函數(shù)獲取當(dāng)前成果圖上所有的產(chǎn)出剖面數(shù)據(jù)道th
26、is.channels.getproducingzonetraces();以下函數(shù)獲取當(dāng)前成果圖上所有的符號(hào)數(shù)據(jù)道this.channels.getsymboltraces();以下函數(shù)獲取當(dāng)前成果圖上所有的試油數(shù)據(jù)道this.channels.gettestoiltraces();以下函數(shù)獲取當(dāng)前成果圖上所有的射孔數(shù)據(jù)道this.channels.getperforationtraces();以下函數(shù)獲取當(dāng)前成果圖上所有的曲線(xiàn)數(shù)據(jù)道數(shù)據(jù)道this.channels.getcoringtraces();以下函數(shù)在當(dāng)前成果圖上建立一個(gè)新列swellcolumn this.channels.add
27、column(string title);其中,title 是列標(biāo)題以下函數(shù)在當(dāng)前成果圖上建立一個(gè)新道swelltrace this.channels.addtrace(welltracetypes type, string name);其中,type 是道類(lèi)型。name 是道名稱(chēng)。那么,channels是什么?一個(gè)忠告:最好不要招惹他,隨便他是什么,我們只要按上面所述可以在當(dāng)前成果圖上建立一個(gè)新列或新數(shù)據(jù)道就好。如果一定要說(shuō)點(diǎn)什么,您就把一個(gè)channels看成是成果圖上按某種規(guī)格組合起來(lái)的數(shù)據(jù)道的集合好了。整個(gè)單井成果圖包含一個(gè)channels,這個(gè)channels含有成果圖上所有的數(shù)據(jù)道
28、。一個(gè)channels也可包含若干swellcolumn。上面也說(shuō)過(guò)一個(gè)swellcolumn也可以包括一個(gè)channels。數(shù)據(jù)道則是像自然伽馬測(cè)井曲線(xiàn)或巖性道等等這樣的單個(gè)數(shù)據(jù)道對(duì)象。暈了吧,那就別想了??纯催@些東西實(shí)際是怎么起作用的,就一切都明白了?,F(xiàn)在就來(lái)舉幾個(gè)使用上述函數(shù)的示例。希望通過(guò)這幾個(gè)示例,您可以熟練掌握上述函數(shù)的用法。以下代碼生成一條曲線(xiàn)道,接名稱(chēng)為”ac”,并設(shè)置其左右值分別為150和600/-void main()scurvetrace newtrace = this.channels.addtrace(welltracetypes.curve, ac);newtrac
29、e.left = 150;newtrace.right = 600;/-以下代碼在當(dāng)前成果圖上生成一個(gè)列對(duì)象,然后在該列中創(chuàng)建兩個(gè)曲線(xiàn)道,并設(shè)置它們的左右值/-void main()swellcolumn newcolumn = this.channels.addcolumn(newcolumn);newcolumn.horzarrange = false;scurvetrace newtrace1 = newcolumn.channels.addtrace(welltracetypes.curve, newtrace1);newtrace1.left = 150;newtrace1.righ
30、t = 600;scurvetrace newtrace2 = newcolumn.channels.addtrace(welltracetypes.curve, newtrace2);newtrace2.left = 0;newtrace2.right = 100;/-以下代碼是一個(gè)利用當(dāng)前成果圖上的自然伽馬測(cè)井曲線(xiàn)計(jì)算泥質(zhì)含量的簡(jiǎn)單例子,其中引入了幾個(gè)新的概念,請(qǐng)注意代碼中的注釋。其中,this.cursor是尤其需要特別重視的一個(gè)新概念,后面會(huì)反復(fù)用到。其實(shí),this.cursor表示的就是成果圖上的當(dāng)前深度,有點(diǎn)像數(shù)據(jù)庫(kù)中游標(biāo)的概念。/-void main()scurvetrace v
31、 = this.channels.addtrace(welltracetypes.curve, vsh);v.left = 0;v.right = 100.0;/設(shè)置曲線(xiàn)顏色為紅色v.curvecolor = color.fromargb(255, 0, 0);/設(shè)置曲線(xiàn)寬度為3像素v.curvewdith = 3;/設(shè)置曲線(xiàn)線(xiàn)型為3實(shí)線(xiàn)v.curvestyle = pendashstyle.solid;/設(shè)置曲線(xiàn)填充方式為左充填v.fillmode = filllogcurvemode.left;/設(shè)置曲線(xiàn)填充圖案的前景色為暗紅色,背景色為桔紅色,填充圖案則為水平/短劃線(xiàn)v.fillbrus
32、h = new xbrush(colorref.darkred, colorref.orange, hatchstyle.dashedhorizontal);float d1, d2, m1, m2;d1 = 500; /開(kāi)始深度d2 = 3400; /結(jié)束深度m1 = this.gr.left; /gr 最大值m2 = this.gr.right; /gr 最小值float c = 3.7; /地區(qū)經(jīng)驗(yàn)系數(shù)for(this.cursor = d1; this.cursor d2; this.cursor += 0.125) float val = (this.gr.value-m2)/(m1
33、-m2);v.value = 100 * (0.83 * val * val + 1.7 * val);/-這是一個(gè)某油田利用自己本地區(qū)經(jīng)驗(yàn)公式計(jì)算孔隙度的例子。這個(gè)油田的xx井巖心分析孔隙度與補(bǔ)償密度測(cè)井曲線(xiàn)相關(guān)性比較好,相關(guān)系數(shù)達(dá) r=0.8315, 可用下面的關(guān)系式計(jì)算:por = -63.1726 *den + 171.04,用此關(guān)系式計(jì)算孔隙度。/-void main()scurvetrace newtrace = this.channels.addtrace(welltracetypes.curve, por_den);newtrace.left = 0;newtrace.righ
34、t = 100;newtrace.curvecolor = color.fromargb(0, 127, 127);newtrace.curvewidth = 5;newtrace.curvestyle = pendashstyle.solid;newtrace.fillmode = filllogcurvemode.left;newtrace.fillbrush = new xbrush(color.darkred, color.brown, hatchstyle.dashedhorizontal);for(this.cursor = 500; this.cursor 3000; this.
35、cursor += 0.125)newtrace.value = -63.1726 * this.den.value + 171.04;/-再舉一個(gè)計(jì)算飽和度的簡(jiǎn)單例子,來(lái)結(jié)束這一部分的討論。運(yùn)行這個(gè)程序需要成果圖上已存在名為“por_den”的孔隙度曲線(xiàn)道,如果現(xiàn)在還沒(méi)有,您可以先運(yùn)行前面那個(gè)程序得到它。此處飽和度的計(jì)算使用了阿爾奇公式so = 1- (a*b*rw)/(rt * porm)n其中,so地層含水飽和度;rw 地層水電阻率,rt 地層真電阻率;por 地層孔隙度;a = 0.8, b = 1.1467;m = 1.8701, n = 2.1025;/-void main()sc
36、urvetrace v = this.channels.addtrace(welltracetypes.curve,so_auto);v.left = 0;v.right = 100;v.curvecolor = color.fromargb(255, 0, 0);v.curvewith = 3;v.curvestyle = pendashstyle.solid;float a,b,m,n;a = 0.8, b = 1.1467;m = 1.8701, n = 2.1025;float rw,v1,v2;rw = 0.038;for( this.cursor = 500; this.curso
37、r 0) v1 = a * b * rw;v2 = this.rild.value * math.pow(this.por_den.value * 0.01, m);v.value = 100 * (1 - math.pow(v1/v2, 1/n);/-上面這幾個(gè)例子都非常簡(jiǎn)單,主要目的是想提供一個(gè)大致的框架。在實(shí)際使用時(shí)您可根據(jù)實(shí)際要求修改那些代碼,以滿(mǎn)足您的需要。第二章 resform用戶(hù)界面編程前面是對(duì)resform腳本語(yǔ)言的一個(gè)入門(mén)性的介紹,下面討論resform腳本語(yǔ)言的用戶(hù)界面編程部分。對(duì)于一個(gè)實(shí)用的resform腳本程序來(lái)說(shuō),建立一個(gè)實(shí)際可以使用并且用戶(hù)友好的對(duì)話(huà)框是非常重要的。
38、實(shí)際上這一部分經(jīng)常是最為費(fèi)時(shí)和令人勞神的地方,在一些極端情況下,設(shè)計(jì)一個(gè)好用的對(duì)話(huà)框,有可能占到整個(gè)程序設(shè)計(jì)的百分之九十的代碼量。這部分可否省掉呢,大部分情況下不行,尤其當(dāng)您打算利用resform腳本語(yǔ)言開(kāi)發(fā)一個(gè)想在多個(gè)地方都可以使用,而且還希望除了您自己之外,其他人甚至包括并不懂resform腳本語(yǔ)言的人也可以使用的一個(gè)resform腳本程序時(shí),更是如此。這個(gè)道理非常明顯,我們將使用resform腳本語(yǔ)言來(lái)解決的問(wèn)題,往往需要用戶(hù)進(jìn)行干預(yù),需要能夠根據(jù)具體用戶(hù)的實(shí)際需要行事,不同的用戶(hù)往往有不同的需求,既是對(duì)同一個(gè)用戶(hù)也有在不同時(shí)間和地點(diǎn)提出不同要求的時(shí)候,所以您就必須得給用戶(hù)選擇的便利。否
39、則,您寫(xiě)的程序就不會(huì)有很好的適應(yīng)性,那直接的結(jié)果就是,這樣的程序注定沒(méi)有多長(zhǎng)的壽命。當(dāng)然是有一個(gè)辦法解決這個(gè)問(wèn)題,那就是由于resform腳本語(yǔ)言寫(xiě)的程序都以源碼形式存在,由用戶(hù)根據(jù)實(shí)際情況修改源碼好了,這聽(tīng)起來(lái)是很有道理的,而且在特定情況下對(duì)于特定的人群來(lái)講這也是不錯(cuò)的個(gè)辦法,但如果您照著這個(gè)思路來(lái)開(kāi)發(fā)resform腳本程序的話(huà),這就很成問(wèn)題,除非您寫(xiě)的程序就您一個(gè)人用,那么您怎么寫(xiě),確實(shí)倒也無(wú)關(guān)緊要,解決當(dāng)前的問(wèn)題就好。在有些時(shí)候,可能就是為了解決當(dāng)下的個(gè)別問(wèn)題,而這類(lèi)問(wèn)題今后也許再也見(jiàn)不著了,那您就根本用不著花費(fèi)太多精力來(lái)考慮界面設(shè)計(jì)問(wèn)題。如果不是這種情況,花些時(shí)間考慮如何創(chuàng)建一個(gè)好用的
40、用戶(hù)界面是有益的,有時(shí)設(shè)計(jì)一個(gè)好的用戶(hù)界面往往就成了您寫(xiě)的程序成敗與否的決定性因素。好在利用resform腳本語(yǔ)言創(chuàng)建一個(gè)優(yōu)秀的用戶(hù)界面倒也并不是多難的事, 首先,resform腳本語(yǔ)言提供的工具是足夠您使用的, 其次,各種工具使用起來(lái)也非常靈活。但是您也確實(shí)需要花些時(shí)間來(lái)學(xué)習(xí)和了解。下面就來(lái)一步步地了解如何用resform 腳本語(yǔ)言來(lái)創(chuàng)建我們的用戶(hù)界面的問(wèn)題,也就是建立一個(gè)合用的對(duì)話(huà)框的問(wèn)題。第一節(jié) resform 腳本語(yǔ)言中的form控件在一個(gè)resform腳本程序中,我們?cè)O(shè)計(jì)的用戶(hù)界面絕大多是用在必須由用戶(hù)提供某些參數(shù)或做出某些選擇的場(chǎng)合,在這種場(chǎng)合下如果沒(méi)有提供這些參數(shù)或作出某些選擇腳
41、本程序?qū)⒉粦?yīng)該繼續(xù)往前運(yùn)行。因?yàn)檫@個(gè)時(shí)候,我們的腳本尚不清楚他的主人叫它做什么或如何做才好,所以只好等等再說(shuō)。為滿(mǎn)足這樣的要求,我們用得著resform腳本語(yǔ)言中模態(tài)(modal)對(duì)話(huà)框或模態(tài)窗體的概念。一個(gè)模態(tài)對(duì)話(huà)框或模態(tài)窗體被設(shè)計(jì)成具有這樣的行為,即你必須先關(guān)閉或隱藏一個(gè)打開(kāi)的模態(tài)對(duì)話(huà)框或模態(tài)窗體,才能繼續(xù)運(yùn)行腳本程序的其他部分。利用resform腳本語(yǔ)言提供的form對(duì)象所具有的相關(guān)特性來(lái)實(shí)現(xiàn)這樣一個(gè)模態(tài)窗體或?qū)υ?huà)框是輕而易舉的事。下面,我們將舉一個(gè)簡(jiǎn)單的例子來(lái)示范如何用我們的resform腳本語(yǔ)言里創(chuàng)建這樣一個(gè)對(duì)話(huà)框或窗體。在這一章,我們將來(lái)認(rèn)識(shí)一下在用resform腳本語(yǔ)言建立一個(gè)用
42、戶(hù)界面時(shí)所必須用到的第一個(gè)角色。這個(gè)角色很基本,也很重要,因?yàn)槲覀冊(cè)趓esform腳本語(yǔ)言中創(chuàng)建的所有用戶(hù)界面將由此而生,也由此而滅。這個(gè)角色就是form,后面我們叫它為窗體,至于我們將討論的一個(gè)個(gè)用戶(hù)界面就叫對(duì)話(huà)框好了,這樣更通俗些。form 是應(yīng)用程序中所顯示的任何窗口的表示形式,是構(gòu)成一個(gè)對(duì)話(huà)框的所有其它零部件的容器,所有其它的零部件都寄宿于form,后面我們稱(chēng)這些零部件為控件。form有很多的屬性,使用 form 中可用的屬性,您可以確定所創(chuàng)建窗口或?qū)υ?huà)框的外觀、大小、顏色和窗口管理功能。對(duì)我們來(lái)講常用的屬性有下面幾個(gè):text 您用這個(gè)屬性在標(biāo)題欄中指定窗口的標(biāo)題。size 您用這個(gè)
43、屬性定義窗口在顯示時(shí)的大小。desktoplocation 您用這個(gè)屬性定義窗口在顯示時(shí)的大小和位置。forecolor 顏色屬性 您用這個(gè)屬性更改窗體上放置的所有控件的默認(rèn)前景色。 formborderstyle、minimizebox 和 maximizebox 利用這幾個(gè)屬性允許您可以控制運(yùn)行時(shí)窗體是否可以最小化、最大化或調(diào)整窗體大小。form有很多的方法,您可以使用它的方法來(lái)操作窗體。例如,對(duì)我們而言最重要莫過(guò)于showdialog 方法, resform腳本語(yǔ)言中就是使用 showdialog 方法來(lái)將對(duì)話(huà)框在屏幕上顯示出來(lái)的。另外一個(gè)常用的方法是 setdesktoplocatio
44、n,可以使用setdesktoplocation方法在桌面上定位窗體。form 中還有事件的概念,事件允許您響應(yīng)對(duì)窗體執(zhí)行的操作。關(guān)于這一部分將在后面介紹button控件時(shí)再做介紹。下面具體創(chuàng)建一個(gè) form 的實(shí)例,看看到底是什么樣子。該示例設(shè)置了form 的text 、size 、 formborderstyle、minimizebox、maximizebox 和 startposition 屬性。您可以自己試驗(yàn)一下,當(dāng)給這些屬性以不同值時(shí),其效果是怎樣的。/-void main()/建立一個(gè)form. form myfirstform = new form(); /設(shè)置form 的 te
45、xt myfirstform.text = 我的第一個(gè)窗體; /設(shè)置form 的 邊框?qū)傩裕╢ormborderstyle). myfirstform.formborderstyle = formborderstyle.fixeddialog; /設(shè)置form 的 最大化控制框?qū)傩裕╩aximizebox)./當(dāng)最大化按鈕屬性值為假(false)時(shí),窗體的標(biāo)題欄中將不顯示最大化控制框myfirstform.maximizebox = false; /設(shè)置form 的 最小化控制框?qū)傩裕╩inimizebox)./當(dāng)最小化按鈕屬性值為假(false)時(shí),窗體的標(biāo)題欄中將不顯示最小化控制框myfi
46、rstform.minimizebox = false; /設(shè)置form 的初始位置屬性(startposition).使窗體顯示在屏幕中央myfirstform.startposition = formstartposition.centerscreen;/設(shè)置窗體大小myfirstform.size = new size(360,200); / 顯示我們創(chuàng)建的窗體(對(duì)話(huà)框). myfirstform.showdialog();/-運(yùn)行上面的腳本,創(chuàng)建出來(lái)的窗體是下面這個(gè)樣子,感覺(jué)怎樣?好象不是太有趣,別急這剛剛開(kāi)始,從這出發(fā),我們將會(huì)一步步創(chuàng)造出我們想要的功能豐富的用戶(hù)界面。在接下來(lái)的討論
47、中上面那段代碼將被反復(fù)使用,請(qǐng)一定掌握。 (圖05)第二節(jié) button, label和text控件這一部分我們介紹在resform腳本語(yǔ)言界面編程中,三個(gè)最常用、也是最簡(jiǎn)單的控件??刹灰∏七@三個(gè)控件,實(shí)際上,有了這三個(gè)控件再加上前一章介紹的form,我們就可解決resform腳本語(yǔ)言界面編程中相當(dāng)大量的問(wèn)題,下面我們就來(lái)逐個(gè)認(rèn)識(shí)它們。resform腳本語(yǔ)言中的button控件button 控件允許用戶(hù)通過(guò)單擊來(lái)執(zhí)行操作。button 控件既可以顯示文本,又可以顯示圖像。當(dāng)該按鈕被單擊時(shí),它看起來(lái)像是被按下,然后被釋放。每當(dāng)用戶(hù)單擊按鈕時(shí),即調(diào)用 click 事件處理程序??蓪⒋a放入 click 事件處理程序來(lái)執(zhí)行所選擇的任意操作。按鈕上顯示的文本包含在 text 屬性中。文本的外觀受 font 屬性和 textalign 屬性控制。如果文本超出按鈕寬度,則換到下一行。但是,如果控件無(wú)法容納文本的總體高度,則將剪裁文本。text 屬性可以包含訪(fǎng)問(wèn)鍵,允許用戶(hù)通過(guò)同時(shí)按 alt 鍵和訪(fǎng)問(wèn)鍵來(lái)“單擊”控件。button 控件還可以使用 image 和 imagelist 屬性顯示圖像。有關(guān)這一部分就其作用而言只是可
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度航空航天設(shè)備研發(fā)生產(chǎn)合作協(xié)議
- 醫(yī)用針頭購(gòu)買(mǎi)合同范例
- 充電樁安裝合同范本
- 2025年度影視化妝技術(shù)支持服務(wù)合同
- 假發(fā)買(mǎi)賣(mài)合同范本
- 保育員合同范本
- 刷墻協(xié)議合同范本
- 工程項(xiàng)目人員職責(zé)劃分-圖文
- 中介有解約合同范本
- 保潔勞務(wù)標(biāo)準(zhǔn)合同范本
- BMS基礎(chǔ)知識(shí)培訓(xùn)
- 質(zhì)保管理制度
- 2024年全國(guó)卷新課標(biāo)1高考英語(yǔ)試題及答案
- 2024年10月自考13003數(shù)據(jù)結(jié)構(gòu)與算法試題及答案
- 華為經(jīng)營(yíng)管理-華為激勵(lì)機(jī)制(6版)
- 2024年標(biāo)準(zhǔn)化工地建設(shè)管理實(shí)施細(xì)則(3篇)
- 2024新版《藥品管理法》培訓(xùn)課件
- 干燥綜合征診斷及治療指南
- 糧油廠(chǎng)食品安全培訓(xùn)
- 南京信息工程大學(xué)《教師領(lǐng)導(dǎo)力》2022-2023學(xué)年第一學(xué)期期末試卷
- 電力基本知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論