




已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
水利工程論文-渠道水力計算在delphi上的實現(xiàn)摘要:渠道水力計算一直以來在渠道設(shè)計中就是一件煩瑣的事情,因為其涉及到大量的試算工作,在水利工程灌溉渠系設(shè)計中常令人不勝其煩。為化繁為簡,減少設(shè)計中的工作量,考慮使用計算機技術(shù)實現(xiàn)試算工作的程序化。我局正使用delphi編程技術(shù)進行管理信息系統(tǒng)(MIS)的開發(fā)建設(shè)工作,故決定將其納入MIS系統(tǒng)建設(shè)中,成為本局MIS系統(tǒng)的一部分。Delphi技術(shù)是美國Inprise公司開發(fā)的基于pascal語言的程序開發(fā)軟件,其不僅在數(shù)據(jù)庫編程方面有卓越表現(xiàn),而且在數(shù)學計算中也成績斐然。關(guān)鍵詞:水力計算Delphi謝才系數(shù)流量模數(shù)業(yè)務服務器客戶端一、水力計算簡介將渠道內(nèi)水流視作明渠均勻流這是渠道水力計算的前提,故計算公式采用明渠均勻流公式。主要任務是解決渠道的過水能力問題,即設(shè)計渠道的斷面尺寸,以保證通過所需的流量,或校核渠道是否滿足輸水流量的要求等??傮w而言,渠道水力計算的問題主要分兩類:1、校核渠道過水能力;2、計算渠道的斷面尺寸。校核渠道的過水能力主要指在渠道的斷面形式、尺寸、糙率、底坡等都已確定的情況下,計算其過水能力。計算步驟為:先根據(jù)水深h,底寬b及邊坡系數(shù)m計算出過水斷面面積、濕周、水力半徑R。再根據(jù)糙率n及水力半徑R計算(或查表)求出謝才系數(shù)C。最后用明渠均勻流公式Q=C(Ri)1/2計算出流量。計算渠道的斷面尺寸是渠系工程設(shè)計中遇到最多的問題。在規(guī)劃設(shè)計新渠道時,設(shè)計流量由工程要求而定,坡度一般是由渠道大小根據(jù)地形條件確定,邊坡系數(shù)m及糙率n,則由土質(zhì)及渠壁材料與施工、管理運用等條件而定。也即已知Q、m、n、i,求渠道的水深h及底寬b。此問題有兩個未知數(shù)b及h,故須經(jīng)過試算才能確定。計算步驟為:1、根據(jù)已知的流量Q及渠道底坡i,求出流量模數(shù)k0(標準流量模數(shù));2、初步假定一水深,計算其相應的過水斷面、濕周、水力半徑R,并根據(jù)糙率n及水力半徑R計算或查表求出相應的謝才系數(shù)C值。然后,按公式K=CR1/2求出相應的流量模數(shù)值(設(shè)計流量模數(shù));3、將計算出的設(shè)計流量模數(shù)與標準流量模數(shù)比較,若兩者相等,則所設(shè)水深即為所求。若不等,則可另設(shè)一水深,重復上述步驟,直到計算出的設(shè)計流量模數(shù)與標準流量模數(shù)相等為止。然后經(jīng)綜合考慮各方面因素,如施工便利,防洪超高和其他用途后最終確定渠道斷面尺寸。二、delphi技術(shù)簡介Delphi是由美國Inprise公司(前Borland公司)推出的可視化編程環(huán)境,它提供了一種方便、快捷的Windows應用程序開發(fā)工具。Delphi使用了MicrosoftWindows圖形用戶界面的許多先進特性和設(shè)計思想,采用了可重復利用的完整的面向?qū)ο蟪绦蛘Z言(Object-OrientedLanguage)、當今世界上最快的編輯器、最為領(lǐng)先的數(shù)據(jù)庫技術(shù)。Delphi技術(shù)的基礎(chǔ)源自pascal語言,是對pascal語言編程的可視化、面向?qū)ο蠡l(fā)展,從早期的對TurboPascal的Windows化到如今對網(wǎng)絡(luò)化編程擁有強大功能,Delphi已經(jīng)升級到了如今的第七個版本,功能更加強大,對網(wǎng)絡(luò)開發(fā)的需求更為適應,對數(shù)據(jù)庫開發(fā)的技術(shù)更為成熟與穩(wěn)定。三、程序?qū)崿F(xiàn)的方法本程序作為我局管理信息系統(tǒng)(MIS)的一部分外掛于我局管理信息系統(tǒng)的主界面上,屬于水利常用計算模塊。我局管理信息系統(tǒng)采用客戶端、業(yè)務服務器、數(shù)據(jù)庫管理系統(tǒng)(DBMS)三級結(jié)構(gòu),客戶端和業(yè)務服務器采用dephi開發(fā)實現(xiàn),數(shù)據(jù)庫管理系統(tǒng)(DBMS)選擇美國Microsoft公司倍受業(yè)界好評的sqlserver2000。因此,本程序的數(shù)據(jù)計算、數(shù)據(jù)添加和數(shù)據(jù)刪除功能以函數(shù)的形式建于業(yè)務服務器中,在客戶端通過函數(shù)調(diào)用達到功能的實現(xiàn)。為實現(xiàn)數(shù)據(jù)的保存與查詢,相應地在我局管理信息系統(tǒng)的業(yè)務數(shù)據(jù)庫lsdata中建立一個數(shù)據(jù)庫表watercalculationtable。客戶端除實現(xiàn)業(yè)務服務器相關(guān)函數(shù)的調(diào)用外,還承擔程序外觀界面設(shè)置和部分簡單功能的實現(xiàn)。用戶只能通過程序客戶端實現(xiàn)對軟件的操作。1、功能設(shè)計本程序設(shè)計的主要目的在于實現(xiàn)對渠道水力計算的程序化和智能化,主要功能包括計算、成果顯示、數(shù)據(jù)打印,另外為方便數(shù)據(jù)輸入加入重置功能,為便于數(shù)據(jù)管理加入刪除功能,另外為實現(xiàn)計算界面的退出而加入界面退出功能。2、界面設(shè)計為實現(xiàn)計算成果的顯示功能在界面上添加一個dxdbgrid控件,作為成果顯示的載體。為方便數(shù)據(jù)的錄入和計算成果的單條顯示添加十五個coastedit控件,為逐一說明各個coastedit控件代表的數(shù)據(jù)而增入十五個與之對應的label控件,為程序美觀用一個groupbox將所有coastedit控件和label控件歸為一組。為了實現(xiàn)計算、刪除、重置、打印、退出功能,引入五個button控件其中計算按鈕除在單擊時觸發(fā)計算功能外,在計算結(jié)束后自動執(zhí)行數(shù)據(jù)添加功能,將計算數(shù)據(jù)添加入數(shù)據(jù)庫中;刪除按鈕實現(xiàn)對庫內(nèi)單條數(shù)據(jù)的刪除;重置按鈕主要對coastedit控件中的數(shù)據(jù)進行清除,以利于新數(shù)據(jù)的輸入;打印功能作用在于將計算所得的成果通過外接打印機打印出來;退出按鈕的功能在于實現(xiàn)界面的退出,返回主界面。程序界面中渠道名稱、試算次序數(shù)、渠道底寬、渠道水深、渠道比降、邊坡系數(shù)、渠道糙率、設(shè)計流量等數(shù)據(jù)可以手動輸入,其他數(shù)據(jù)不能在界面上輸入,由程序自動計算,并顯示。根據(jù)渠道水力計算原理,可輸入的數(shù)據(jù)除設(shè)計流量外均不允許為空,此外渠道糙率和渠道比降不能為零,出現(xiàn)上述情況,計算時程序?qū)⒂枰蕴崾?。為實現(xiàn)程序的打印功能,特增加一打印界面,在點擊打印按鈕時自動彈出,打印界面可以實現(xiàn)打印、打印預覽功能,在此界面可以調(diào)用windows打印程序。具體界面設(shè)計圖樣見圖1。(圖一)3、數(shù)據(jù)庫表設(shè)計本程序只有一張庫表,即渠道水力計算表(watercalculationtable),經(jīng)過慎密的數(shù)據(jù)分析,設(shè)計該表共包含十五個字段,分別為:渠道名稱、試算次序數(shù)、渠道寬度、渠道水深、渠道比降、邊坡系數(shù)、設(shè)計流量、渠道糙率、濕周、標準流量模數(shù)、過水斷面面積、水力半徑、謝才系數(shù)、設(shè)計斷面過水流量、設(shè)計流量模數(shù)。具體庫表設(shè)計見表一:渠道水力計算表(watercalculationtable)表一編號中文名字段名數(shù)據(jù)類型數(shù)據(jù)長度可否為空備注1渠道名稱DitchnameChar20否主鍵2試算次序數(shù)CalculationnoChar8否3渠道底寬DitchwidthNumer8否4渠道水深ditchheightNumer8否5渠道比降DitchslopeNumer8否6邊坡系數(shù)SlopenumerNumer8否7設(shè)計流量PlanvolumeNumer8可8渠道糙率DitchroughNumer8否9濕周XnumerNumer12可10標準流量模數(shù)KstandardNumer12可11過水斷面面積FlowareaNumer12可12水力半徑WaterradiusNumer12可13謝才系數(shù)CnumerNumer12可14過水流量DesignvolumeNumer12可15設(shè)計流量模數(shù)KdesignNumer12可4、內(nèi)置代碼設(shè)計內(nèi)置代碼主要是針對程序中相關(guān)控件觸發(fā)的事件而設(shè)定的相應響應。本程序包含的事件主要有各button控件引發(fā)的單擊事件、單擊dxdbgrid控件引發(fā)的事件(dxdbgridclick)、數(shù)據(jù)集控件滾動事件(ADODataSet1AfterScroll)和程序界面建立時的事件(formcreat)。另外,業(yè)務服務器(teoperationserver)中包含的兩個函數(shù)addwatercalculation和deletewatercalculation也用程序代碼建立。各事件代碼分別如下:1)addwatercalculation函數(shù),代碼為:functionTTeOperationServer.addwatercalculation(constditchname:WideString;ditchwidth,ditchheight,ditchslope,slopenumer,ditchrough,planvolume:Currency;constcalculationno:WideString):LongWord;varstrSql:string;dwAffected:Integer;kstandard,flowarea,waterradius,cnumer,designvolume,kdesign,xnumer:currency;beginResult:=MakeResult(Sev_Error,Facility_Account,Err_Suc);kstandard:=strtofloat(formatfloat(0.00,(planvolume/sqrt(ditchslope);flowarea:=strtofloat(formatfloat(0.00,(ditchwidth+slopenumer*ditchheight)*ditchheight);xnumer:=strtofloat(formatfloat(0.00,(ditchwidth+2*ditchheight*sqrt(1+sqr(slopenumer);waterradius:=strtofloat(formatfloat(0.000,(flowarea/xnumer);cnumer:=strtofloat(formatfloat(0.00,(1/ditchrough*power(waterradius,1/6);kdesign:=strtofloat(formatfloat(0.00,(flowarea*cnumer*sqrt(waterradius);designvolume:=strtofloat(formatfloat(0.00,(flowarea*cnumer*sqrt(waterradius*ditchslope);strsql:=insertintowatercalculationtable(ditchname,ditchwidth,ditchheight,+ditchslope,slopenumer,planvolume,ditchrough,kstandard,+flowarea,waterradius,cnumer,designvolume,Kdesign,xnumer,calculationno)+values(+ditchname+,+floattostr(ditchwidth)+,+floattostr(ditchheight)+,+floattostr(ditchslope)+,+floattostr(slopenumer)+,+floattostr(planvolume)+,+floattostr(ditchrough)+,+floattostr(kstandard)+,+floattostr(flowarea)+,+floattostr(waterradius)+,+floattostr(cnumer)+,+floattostr(designvolume)+,+floattostr(kdesign)+,+floattostr(xnumer)+,+calculationno+);ExecuteSQL(strSql,dwAffected);ifdwAffected=0thenbeginResult:=MakeResult(SEV_Error,Facility_Account,err_Insert);exit;end;end;2)deletewatercalculation函數(shù)的代碼為:functionTTeOperationServer.deletewatercalculation(constditchname,calculationno:WideString):LongWord;varstrSql:string;dwAffected:Integer;beginResult:=MakeResult(Sev_Error,Facility_Account,Err_Suc);StrSql:=Deletefromwatercalculationtable+whereditchname=+ditchname+andca
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Brand KPIs for health insurance:Zurich Santander in Mexico-英文培訓課件2025.4
- 汽車傳感器與檢測技術(shù)課件:汽車GPS導航轉(zhuǎn)角傳感器
- 汽車傳感器與檢測技術(shù)電子教案:熱絲式空氣流量傳感器
- 衛(wèi)生管理部門管理制度
- 中考地理復習教案第20課時 香港、澳門、臺灣省
- 從化年會活動方案
- 仙海湖公司團建活動方案
- 代溝班會活動方案
- 代購小活動策劃方案
- 以舊換新活動策劃方案
- 肥料施用與作物營養(yǎng)均衡考核試卷
- 光通信網(wǎng)絡(luò)建設(shè)與維護框架協(xié)議
- 企業(yè)風險管理-戰(zhàn)略與績效整合(中文版-雷澤佳譯)
- 2025中考人教版八年級地理初二會考熱點專練(6大熱點)
- 城市戶外廣告管理辦法
- 2025年鐵路客運值班員(中級)職業(yè)技能鑒定參考試題庫(含答案)
- 心腎綜合征診療實踐指南解讀
- 骨科優(yōu)勢病種中醫(yī)診療方案
- 酒店采購管理制度及流程
- 部編版五年級下冊語文習作《習作他-了》寫作指導+范文+點評
- 血站面試考試試題及答案
評論
0/150
提交評論