999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于AutoCAD VBA的滴灌系統設計軟件的開發

2010-07-17 01:37:46項輝宇蘇德榮
食品科學技術學報 2010年2期
關鍵詞:界面文本用戶

牛 凱, 項輝宇, 蘇德榮

(1.北京工商大學 機械工程學院, 北京 100048;2.北京林業大學 教育部森林培育與保護重點實驗室, 北京 100083)

滴灌系統關鍵技術是把滴灌帶鋪于地下,結合水利、材料、控制等其它專業技術,構成一個大田膜下滴灌系統,可有效節約用水,使農田水利化. 本文主要探討在AutoCAD VBA(visual basic for application,簡稱VBA)環境下開發具有開放性的滴灌系統設計軟件,該軟件完全參照滴灌系統設計手冊設計.

通過軟件的查詢功能,設計人員可查詢各種參數數據. 部分參數表可供設計人員根據當地作物特征進行添加和刪除. 設計人員只需填寫和選擇基本的數據,即生成該設計的必要參數文檔,供設計人員參考和選型. 通過文本和Excel,用戶可以記錄并保存所需的某些參數.

VBA最早建立在Microsoft的Office 97中,易用且功能強大. 常用的繪圖軟件AutoCAD自R14.01版本開始就支持VBA作為二次開發工具. VBA最大特點和最大優點在于兩個方面:第一,與VB有著幾乎相同的開發環境和語法,具備功能強大和易于掌握的特點;第二,在于它的for Application功能,針對性強,它駐留在主程序的內部,使其結構精簡,且代碼運行效率高,使語言的引擎在技術上與開發環境分離. 它的功能在很大程度上依賴于它的客戶顯露的Automation接口[1].

VBA作為一個集成的開發環境,它提供了高質量的用戶化編程能力,能夠使AutoCAD數據與其它的VBA應用程序,如Microsoft Excel軟件,直接共享,實現無縫連接,交換數據非常方便. 在Auto CAD環境下的VBA開發,需要安裝CAD,VB及Excel等軟件[2].

1 界面設計

1.1 主界面

本設計面向用戶為滴灌系統的設計人員,所以設計界面應符合設計邏輯,符合用戶習慣. 圖1為軟件界面. 圖2為軟件功能模塊界面,此界面主要分為4部分:1)參考資料;2)灌溉制度及基本參數;3)水力計算;4)文檔管理.

圖1 軟件界面Fig.1 Userface

圖2 軟件功能模塊Fig.2 Modules of software

通過第一部分,用戶可獲得設計的基本知識,基本參數,該部分中作物/植物項可供用戶自己創建和添加當地作物的參數. 通過第二部分,用戶根據提示輸入已選好的基本參數計算出灌溉周期、灌溉時間以及灌溉頻率等參數. 通過第三部分計算,用戶可以得到毛管、支管、干管等必要的設計參數,幫助設計人員完成設備的選擇、管路的鋪設等設計. 第四部分實現對文檔的管理,是該軟件開放性、個性化的體現.

1.2 各級界面的設計

用戶通過點擊界面上的各個功能鍵,進入相應功能,該功能簡單明了.

在第一部分設計資料中,主要為兩級的窗體,即點擊功能鍵→具體功能界面,點擊各個命令→相應的參數表或圖像. 圖3為滴頭查詢界面.

圖3 滴頭查詢界面Fig.3 Knowledge of drip

第二、第三部分主要為計算界面,即當設計人員輸入已知參數時計算出相應的關鍵設計參數. 圖4為基本參數計算界面.

圖4 基本參數界面Fig.4 Interface for necessary parameter

第四部分是實現用戶對所得參數文檔的保存和編輯,文檔形式有文本和Excel兩種,這兩種操作較為常用,這里不再介紹.

2 程序設計

2.1 CAD界面上添加菜單

將VBA程序添加到CAD菜單中,設計人員可以通過點擊菜單快速啟動該程序,免去了一些不必要的麻煩. 具體的思路是通過在VBA開發界面的AutoCAD對象下的“This drawing”下添加程序段,以使當CAD界面啟動時在CAD模板中添加一個菜單鍵到工具欄中,當點擊該啟動鍵時啟動標準模塊下的宏,通過該宏調用主程序,從而啟動該程序. 啟動后如圖1,程序如下:

Option Explicit

Sub AddASubMenu()

Dim currMenuGroup As AcadMenuGroup

Set currMenuGroup=ThisDrawing.

Application.MenuGroups.Item(0)

Dim newMenu As AcadPopupMenu

Set newMenu=currMenuGroup.Menus.

Add("MyMen" & Chr(Asc("&")) & "u")

′添加菜單項

Dim macro As String

Macro=Chr(vbKeyEscape)+Chr(vbKey_Escape) ′相當于按下兩次Esc鍵

Dim menuItemOpen As AcadPopup

_MenuItem

Set menuItemOpen=newMenu.

AddMenuItem(newMenu.Count+1,

Chr(Asc("&")) & "林大", macro & "-vbarun" + Chr(32) + "main_1.dvb!UFO.

comDialog" + Chr(32))

′在菜單欄上顯示菜單

newMenu.InsertInMenuBar (ThisDrawing.

Application.MenuBar.Count + 1)

End Sub

2.2 主體功能

2.2.1實現查詢功能

圖5 水質查詢Fig.5 Knowledge of water quality

設計時需要對各種資料進行查詢,通過軟件查詢簡單、明了. 主要設計有兩種查詢方式:一是將所需的資料做成圖片的形式,通過滾動條拉動圖片的方式,可以將較大圖片放入其中加以查詢. 圖5是通過該圖片查詢水質參數的界面. 二是通過列表的方式查詢,當點擊所選種類或型號時,自動彈出屬于該種類或型號相關項目的各種參數. 圖6為管材的查詢對話框,用戶通過選擇所需的管材時得知其壁厚、內徑等參數.

圖6 管材查詢對話框Fig.6 Interface for pipe material

2.2.2添加和刪除參數,實現開放功能

不同地域的作物、種植條件和各種參數信息是不同的.

1) 用戶需要對信息存取和創建,需要數據庫,本文設計為對文本文件的存取和創建. 通過open語句,如:

Open "path" for input As # number

對文本進行讀取.

Open "path" for output As # number

創建文本.

Open "path" for Append As # number

將數據添加到文本.

當輸入指定格式的數據后,若為已有植物種類時可在已存在的文本中按規定的格式添加;若為新的植物名稱則需要創建新的文本,并按規定格式保存數據,以備用戶以后讀取用.

Open "D:林大林大開發-VBA農作物溫室" & indata(0) & ".txt" for Output As # 8

Print #8 ,indata(0)

Close #8

Open "D:林大林大開發-VBA農作物溫室作物" & indata(0) & ".txt" For Output

As # 9

Print # 9,indata(1) & " " & indata(2)

_ & " " & indata(3)

Close # 9

此段程序將完成對所輸入信息以文本方式的存儲,其中通過數組將所輸入的作物名稱及參數加以分類,然后進行存儲. 此外當遇到輸入錯誤即格式與要求的不同時,應能提示錯誤,并要求用戶重新輸入. 這里是將數據分配到數組中,通過檢查數組中的數據來檢查格式的正確與否,相符時輸入,否則清零重輸,如圖7.

圖7 出錯時提示錯誤Fig.7 Remind user when error

2) 刪除功能的實現. 當輸入的數據有誤或需要刪除某些數據時,就需要對數據進行刪除. 不僅要刪除界面中的數據,還要把文件中的數據刪除并保存,以供下次使用. 應用Open和Kill命令的組合,首先逐行讀取文件并與要刪除的數據行進行比較,不一樣的數據行就通過Open重新創建文件,并輸入該行,若一樣則跳過. 這樣最后再應用Kill命令刪除原文本,就創建了一個新文本,該文本不含已刪除的數據行. 從而實現了對數據的刪除與保存,如圖8.

圖8 刪除操作Fig.8 Delete selected parameter

第一部分的其他功能大致與此類同,不做過多贅述.

3) 水利計算功能. 通過前面的查表功能可以得到基本參數,在此功能中輸入基本參數,點擊計算鍵計算出主要參數.

將參數通過文本框輸入后,賦值給變量進行計算,結果傳遞并輸出到文本框. 此外還要對錯誤的輸入進行提示. 本設計中限制了用戶輸入只能輸入數字且為正數,主要是通過Keypress事件中添加程序段來實現的. 程序如下:

If KeyAscii >= 48 And KeyAscii ? 57 Then

ElseIf KeyAscii = Asc(".") Then

Else

KeyAscii = 0

End If

由于KeyAscii返回的是鍵盤所按鍵的Asc碼,所以通過控制數字和小數點的Asc碼,就可以實現只能輸入數字的功能.

此外對于已經計算得出的結果,需要保存,此處為文本方式和電子表格方式,文本方式的讀取與存儲不再贅述. 保存文件時,應用了CommonDialog 控件對文本保存路徑加以設置,以便用戶以后的查詢. 首先設置CommomDialog的各屬性,通過調用標準模塊下的Sub程序實現[3].

Public sub comsave()

With CommonDialog

.DialogTitle = "保存文本文件"

.Filter = "文本文件(*.txt)|*.txt|所有文件 (*.*)|*.*"

.InitDir = "D:林大林大開發-VBA"

.DefaultExt = "txt"

.ShowSave

End With

End Sub

設計后存儲功能的對話窗體如圖9.

圖9 存儲對話框Fig.9 Interface for save

對于調用并創建Excel需要聲明Excel Application,Workbook, Worksheet等對象. 用下面的語句實現[3].

Dim xlapp As excel.Application

Dim xlbook As excel.Workbook

Dim xlsheet As excel.Worksheet

Set xlapp = Creatobject ("Excel.Application")

Set xlbook = xlapp.Workbooks.Add

Set xlsheet = excel.Application.Worksheets(1)

若是調用已創建的Excel,通過下面的語句實現.

Set xlapp = New excel.Application

Set xlbook = xlapp.workbooks.open("指定路徑")

此句申請一個Excel.Application內存空間,并通過制定路徑實現對Excel的讀取. 接下來的就是應用命令對Excel的操作,這里不作贅述.

完成了各項基本功能的設計,后續工作主要圍繞數據輸出格式(如Excel, txt等),以及具體應用中出現的問題的完善,以使其更加優化.

3 結束語

通過設計本程序可以使滴灌系統的設計簡單化,更有利于縮短設計時間,同時又能使用戶存儲必要的信息. 如果進一步完善本軟件,還可以通過數據庫對設計知識的存儲,方便用戶的知識積累,以便查詢。同時實現通過計算得到的參數自動在AutoCAD中修改和優化的管路鋪設圖,可大大減輕設計負擔.

猜你喜歡
界面文本用戶
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
人機交互界面發展趨勢研究
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 国产成人综合日韩精品无码首页 | 日韩a级毛片| 欧美色视频日本| 青青国产成人免费精品视频| 999精品色在线观看| 精品国产电影久久九九| 精品成人一区二区| 秋霞国产在线| 国产美女91呻吟求| 婷婷成人综合| 日韩欧美网址| 毛片在线播放a| 国产在线观看人成激情视频| 国产福利免费在线观看| 国内视频精品| 久久99国产精品成人欧美| 亚洲国产精品日韩专区AV| 亚洲精品波多野结衣| 亚洲 日韩 激情 无码 中出| 国产精品永久不卡免费视频| 欧洲一区二区三区无码| 波多野结衣在线se| 91久久偷偷做嫩草影院电| 91久久精品国产| 国产黄色免费看| 色综合中文字幕| 免费无码又爽又黄又刺激网站| 无码国产偷倩在线播放老年人| 四虎亚洲精品| 国产精品男人的天堂| 国产在线视频自拍| 97久久精品人人| 中国一级毛片免费观看| 亚洲欧洲一区二区三区| 欧美精品v欧洲精品| 亚洲开心婷婷中文字幕| 亚洲91在线精品| 91九色国产在线| 国产精品区网红主播在线观看| 91啪在线| 亚洲二三区| 中文字幕一区二区视频| 亚洲国产综合精品一区| 国产一级妓女av网站| 99久久人妻精品免费二区| 国产精品无码久久久久AV| 亚洲香蕉在线| 欧美激情二区三区| 欧美亚洲一二三区| 亚洲看片网| 高h视频在线| 五月天久久婷婷| 国内精品九九久久久精品| 一级一级一片免费| 尤物精品国产福利网站| 国产白浆一区二区三区视频在线| 熟女成人国产精品视频| 久久国产高清视频| 四虎永久免费网站| 日本在线免费网站| 国产浮力第一页永久地址 | 婷婷亚洲视频| 久久夜色精品| 免费a级毛片视频| 极品国产在线| 亚洲国产理论片在线播放| 色综合婷婷| www.日韩三级| 69国产精品视频免费| 欧美精品亚洲精品日韩专区| 伊人成人在线| 特级精品毛片免费观看| аⅴ资源中文在线天堂| 97青草最新免费精品视频| 日本www在线视频| 无码区日韩专区免费系列| 亚洲中文精品人人永久免费| 亚洲国产成人在线| 国产91精品久久| 婷婷六月在线| 国产日韩欧美黄色片免费观看| 国产精品一区在线麻豆|