版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 本科生畢業(yè)設(shè)計</b></p><p> 設(shè)計題目:開采沉陷實測數(shù)據(jù)處理系統(tǒng)</p><p><b> 專 題:</b></p><p> 2012年 6月 </p><p><b> xx畢業(yè)設(shè)計任務(wù)書</b></p>
2、<p> 任務(wù)下達日期:2012年 2月 20 日</p><p> 畢業(yè)設(shè)計日期:2012年 3 月 28 日至 2012年 6 月15 日</p><p> 畢業(yè)設(shè)計題目:開采沉陷實測數(shù)據(jù)處理系統(tǒng)</p><p><b> 畢業(yè)設(shè)計專題題目:</b></p><p> 畢業(yè)設(shè)計主要內(nèi)容和要求
3、:</p><p> 根據(jù)開采沉陷的基本知識,結(jié)合礦山實際需求,以Visual C++為開發(fā)平臺,以SQL Server 2000為后臺數(shù)據(jù)庫平臺,綜合運用MFC ADO訪問技術(shù),采用C++編程語言,開發(fā)一套界面設(shè)計良好、操作過程便捷、功能相對完善的開采沉陷實測數(shù)據(jù)處理系統(tǒng),內(nèi)容包括:實測數(shù)據(jù)輸入模塊、計算模塊以及繪圖。系統(tǒng)要求智能化地完成開采沉陷數(shù)據(jù)的數(shù)據(jù)管理、數(shù)據(jù)查詢、數(shù)據(jù)計算和根據(jù)計算結(jié)果繪制所需曲線圖形
4、等基本操作。</p><p> 院長簽字:指導(dǎo)教師簽字:</p><p><b> 摘要</b></p><p> 本論文主要是基于Visual C++6.0MFC和SQL2000的開采沉陷實測數(shù)據(jù)處理系統(tǒng)的設(shè)計與實現(xiàn),并利用實例進行測試和軟件的系統(tǒng)分析,本文有作者獨立完成,并進行了該論文的撰寫。</p><p>
5、 論文主要闡述里軟件設(shè)計的理論模型,及在軟件設(shè)計過程中的關(guān)鍵問題。運用MFC和SQL進行數(shù)據(jù)的輸入、計算和查詢工作,并進行曲線的可視化輸出。本論文在下列方面具有理論和實踐意義:利用C++底層編程語言實現(xiàn)繪圖操作,提供了軟件的共享和進一步的開發(fā);曲線擬合精度較高,適合進行根據(jù)實測資料進行相關(guān)規(guī)律的研究。</p><p> 關(guān)鍵詞:開采沉陷;數(shù)據(jù)處理;MFC:SQL2000;繪圖;規(guī)律研究</p>
6、<p><b> ABSTRACT</b></p><p> This thesis mainly is based on Visual C++ 6.0 MFC and SQL2000 mining subsidence of the measured data processing system design and implementation, and use an ex
7、ample of the software and test system analysis, this paper has the author independently, and the writing of the paper.</p><p> The paper mainly expounds the design of software theory model, and in the key p
8、roblems in the process of software design. Using MFC and SQL data input, calculation and inquires the work, and the visualization of curve output. This paper in the following aspects has theoretical and practical signifi
9、cance: by using c + + computer programming language realization bottom graphics operation, provide the sharing of software and the further development; The curve fitting accuracy is higher, according t</p><p&g
10、t; Keywords:Mining subsidence; Data processing; MFC: SQL2000; Drawing; Law research</p><p><b> 第一章 引言</b></p><p> 1.1開采沉陷學(xué)的概念和研究內(nèi)容</p><p> 1.1.1 開采沉陷學(xué)的概念</p>
11、<p> 有用礦物被采出后,開采區(qū)域周圍的巖體的原始應(yīng)力平衡狀態(tài)受到破壞,應(yīng)力重新分布,達到新的平衡。在此過程中,使巖體和地表產(chǎn)生連續(xù)的移動、變形和非連續(xù)的破壞(開裂、冒落等),這種現(xiàn)象稱為“開采沉陷”[1]。</p><p> 開采沉陷學(xué)是一門實用性很強的學(xué)科,主要研究由于采礦引起的巖層、地表位移與變形的技術(shù),受采動影響的建(構(gòu))筑物變形和防護加固機理,保護煤柱設(shè)計和與開采沉陷有關(guān)的礦區(qū)周圍環(huán)境保
12、護與修復(fù)技術(shù)的學(xué)科。通過實地監(jiān)測、理論研究和實驗?zāi)M等多種技術(shù)手段分析采礦引起的巖層和地表移動變形的時空狀態(tài),直接推理計算某礦區(qū)相同和相似地質(zhì)采礦條件下的開采沉陷預(yù)計參數(shù),為解決“三下”采煤、保護煤柱的合理留設(shè)以及礦區(qū)生態(tài)環(huán)境修復(fù)與重建等提供各種技術(shù)信息和技術(shù)依據(jù)。</p><p> 由于巖體本身是一種非常復(fù)雜的介質(zhì),它不僅是由各種不同性質(zhì)的巖層組成,而且還由于各種地質(zhì)作用(如褶皺、斷層和開裂、火成巖侵入、陷落
13、柱等)而產(chǎn)生了大量的不連續(xù)面。在未經(jīng)采動時,巖層在地殼內(nèi)受到各個方向力的約束,處于自然應(yīng)力平衡狀態(tài);在受到采動的影響下,產(chǎn)生的開采沉陷的形式和大小在不同的時間和空間上都是復(fù)雜的物理變化。若開采范圍較大、開采礦物的埋藏深度較小,則開采沉陷波及的范圍就會從巖體發(fā)展到地表,引起地表移動。由于人類的生產(chǎn)和生活活動大部分都是在地表進行,所以地表移動對人類的影響更為普遍。</p><p> 1.1.2 開采沉陷學(xué)研究的內(nèi)容
14、</p><p> 開采沉陷學(xué)是研究由于地下開采而引起的巖層及地表移動規(guī)律,涉及測量、采礦、地質(zhì)、電子計算機等多門學(xué)科的一門課程[3]。主要研究內(nèi)容有:</p><p> ?。?)巖層及地表移動的觀測方法與數(shù)據(jù)處理;</p><p> ?。?)巖層及地表沉陷的一般規(guī)律;</p><p> ?。?)開采沉陷預(yù)計及防治;</p>
15、<p> ?。?)“三下”(建筑物下、水體下和鐵路下)采煤方法研究;</p><p> ?。?)地下開采對采礦及周圍環(huán)境的影響和整治。</p><p> 1.1.3 開采沉陷學(xué)研究的意義</p><p> 開采沉陷的研究對國民經(jīng)濟的發(fā)展和人民生活的提高都有著重要的意義。為了進行現(xiàn)代化建設(shè),需要開采大量的有用礦物,但是開采這些有礦物產(chǎn)生的開采沉陷,又反過
16、來影響和破壞巖體內(nèi)和地面上的一些生產(chǎn)和生活設(shè)施,影響生產(chǎn)的發(fā)展和人民生活的提高。要解決好這一矛盾,只有依靠對開采沉陷的深入研究。僅僅從我國“三下”(建筑物下、水體下和鐵路下)壓煤的情況來看:據(jù)1982年底的不完全統(tǒng)計,我國生產(chǎn)礦井“三下”壓煤量總計達到133.48億噸。但是到目前為止,我國從“三下”采出的煤炭尚不足7億噸,只占整個“三下”壓煤量的5%左右。</p><p> 地下有用礦物的大面積開采,會使地表及
17、巖層內(nèi)部的的平衡應(yīng)力狀態(tài)受到破壞,殃及地表,使建(構(gòu))筑物受到破壞以及井下的透水等事故慘案的發(fā)生。由此可見,開采沉陷的研究對我們的生產(chǎn)生活具有重要的意義。</p><p> 1.2 國內(nèi)外研究現(xiàn)狀</p><p> 1.2.1 開采沉陷的發(fā)展歷程及現(xiàn)狀</p><p> 開采沉陷學(xué)開始于19世紀末,第二次世界大戰(zhàn)后得到迅速發(fā)展,到20世紀60年代形成了獨立的科
18、學(xué)。其發(fā)展大致有兩個階段:</p><p> 第一階段為19世紀末到第二次世界大戰(zhàn)期間為初始階段。采礦業(yè)剛剛涉及到“三下”開采問題,人們依據(jù)實測資料提出地表下沉的經(jīng)驗公式。</p><p> 第二階段為第二次世界大戰(zhàn)到現(xiàn)在的迅猛發(fā)展。1957年波蘭學(xué)者Litwiniszyn提出隨機介質(zhì)理論,使本學(xué)科得到質(zhì)的飛躍,從理論上奠定了基礎(chǔ);60年代,計算機技術(shù)的應(yīng)用,解決了繁重的計算問題,使理
19、論和實踐結(jié)合有了銜接的契機,進一步促進了學(xué)科的發(fā)展;70年代聯(lián)邦德國的克拉茨將有限元法應(yīng)用到本學(xué)科,使其應(yīng)用范圍擴大,計算精度提高[4]。</p><p> 我國對開采沉陷的研究工作是從新中國成立以后開始的。上個世紀50年代起,在我國的一些主要礦區(qū),如淮南、開灤、撫順、阜新、峰峰、大同、鶴崗、新汶、陽泉、本溪等,先后建立了地表觀測站,開展了開采沉陷觀測工作。經(jīng)過近60多年的女里,我國不僅積累了上千條觀測線的實測
20、資料,并由此對開采沉陷的基本規(guī)律有了進一步的認識,而且還提出可具有我國特色的預(yù)計方法,在“三下”開采實踐中,也取得了很大的成績,積累了較為豐富的經(jīng)驗[1]。1959年劉寶坤、劉天泉等第一批留波博士回國將隨機介質(zhì)理論譯成中文把波蘭在城市下開采的先進技術(shù)和經(jīng)驗帶回國內(nèi)。后來劉寶坤院士又在水平煤層開采的基礎(chǔ)上發(fā)展了傾斜煤層開采后地表移動的時間過程;1965年唐山煤炭科學(xué)研究分院的周國銓提出了負指數(shù)法,在國內(nèi)應(yīng)用廣泛;1981年xx何國清教授提
21、出克威布爾函數(shù)法;1985年8月原煤炭部在總結(jié)經(jīng)驗的基礎(chǔ)上頒布了《建筑物、水體、鐵路及井巷煤柱留設(shè)與壓煤規(guī)程》[7],對該領(lǐng)域的研究方法、觀測手段以及巖移角度參數(shù)、預(yù)計方第章緒論法和預(yù)計參數(shù)的選取進行了規(guī)范。隨后,1997年趙經(jīng)徹和何滿朝博士提出了跨學(xué)科研究方式將環(huán)境經(jīng)濟學(xué)、采礦學(xué)、開采沉陷學(xué)、數(shù)學(xué)、力</p><p> 目前國內(nèi)外在該領(lǐng)域眾多研究方法中變形監(jiān)測研究仍然是其中的重要手段??茖W(xué)、準確、及時地監(jiān)測、
22、分析和預(yù)報工程建筑物的變形狀況探討變形發(fā)生的機理和規(guī)律從而采取適當(dāng)?shù)姆椒ê痛胧﹣肀苊饣驕p少災(zāi)害所帶來的損失。</p><p> 1.2.2開采沉陷軟件的發(fā)展現(xiàn)狀</p><p> 隨著計算機語言的發(fā)展、編程技術(shù)的改進,程序設(shè)計使用的計算機語言也從早期的Basic、Fortran等面向過程的語言過渡到了C++、Delphi等面向?qū)ο蟮恼Z言,從而縮短了開發(fā)周期,提高了運行速度。但是早期的軟
23、件產(chǎn)品大都是借助莫以操作系統(tǒng)平臺,利用一種高級程序設(shè)計語言來實現(xiàn)的,而沒有充分利用一些現(xiàn)有的開發(fā)環(huán)境。</p><p> 隨著計算機軟硬件技術(shù)的不斷發(fā)展,地理信息系統(tǒng)的研究和應(yīng)用已滲透到自然科學(xué)及應(yīng)用技術(shù)的很多領(lǐng)域,如地理學(xué)、地質(zhì)學(xué)、環(huán)境監(jiān)測、土地利用等等,并日益受到各國政府和產(chǎn)業(yè)部門的重視.利用GIS解決開采沉陷中的一些具體問題具有很大的優(yōu)越性和可行性,尤其是它強大的空間查詢和空間分析功能對地下開采引起的損害
24、進行預(yù)測、分析,為礦山開采、資源管理、土地復(fù)墾提供技術(shù)保障和決策支持[5].</p><p> 目前,集開采沉陷數(shù)據(jù)處理、預(yù)測、求參及繪圖于一體的綜合系統(tǒng)軟件在我國已有多種。在智化方面,開采沉陷軟件也有進展,如天地科技股份有限公司唐山分公司礦測中心開采損害及環(huán)境工程研究開發(fā)的可視化智能型巖層移動變形分析系統(tǒng)ZNFX-1,綜合了Visual Basic 、AutoCAD和MATLAB等平臺,實現(xiàn)了對巖層移動變形的
25、智能分析和三維模擬。另一方面,利用地理信息系統(tǒng)軟件、原理、方法開發(fā)出來的開采沉陷預(yù)計系統(tǒng)越來越多,國內(nèi)許多科研院所及其他相關(guān)單位都有一系列的成果問世。如2000年xx在加拿大阿波羅科技集團和北京東方泰坦科技有限公司的支持下開發(fā)的礦山地理信息系統(tǒng)——TT-MGIS2000,該系統(tǒng)使用Titan-GIS的開發(fā)軟件,采用組件模式進行半底層開發(fā),是面向我國礦業(yè)領(lǐng)域開發(fā)的第一個國產(chǎn)礦山GIS基礎(chǔ)平臺。此外,我國還開發(fā)了一些特殊條件下的開采沉陷預(yù)計
26、程序,如山區(qū)地表移動變形研究程序、斷層變形研究程序、地表裂縫預(yù)計程序等[3]。</p><p> 國外,隨著GMS和GIS的出現(xiàn),以加拿大、澳大利亞、美國、英國為代表,陸續(xù)開發(fā)了例如LYNX、MineMAP、MineTEK、MineOFT、MineCAP、VULCAN、GeoQUET和ATAMSNE這樣一些代表性的礦山模擬和礦業(yè)應(yīng)用軟件系統(tǒng),并廣泛獲得應(yīng)用[12-14]。</p><p>
27、; 1.3 目前開采沉陷數(shù)據(jù)管理系統(tǒng)存在的問題</p><p> 雖然開采沉陷數(shù)據(jù)處理系統(tǒng)軟件眾多,但是都有一定的不足之處,這些不足之處如下:</p><p> ①由于礦山空間數(shù)據(jù)的復(fù)雜性和特殊性,使用通用軟件尚未建立礦山專有的數(shù)據(jù)模型與結(jié)構(gòu),雖然優(yōu)點明顯,但也不能完全適合框圖設(shè)計的需要。</p><p> ?、诠δ軉我缓唵?,只是單純的數(shù)據(jù)管理或者是AutoC
28、AD的簡單可視化而無數(shù)據(jù)管理。對于任意點的移動變形數(shù)據(jù)的處理、存儲與查詢沒有考慮。</p><p> ?、蹧]有充分考慮當(dāng)前煤礦企業(yè)中計算機和軟件的使用情況,只注重開發(fā)而忽略軟件的實用性。對于軟件的安裝使用,都有很大的限制。</p><p><b> 1.4 本章小結(jié)</b></p><p> 本章主要介紹了開采沉陷的概念以及研究開采沉陷的意
29、義,簡要介紹了開采沉陷學(xué)國內(nèi)外研究現(xiàn)狀,提出了論文的研究意義。</p><p> 第二章 系統(tǒng)分析與設(shè)計</p><p> 2.1 系統(tǒng)開發(fā)環(huán)境</p><p> Visual C++6.0由Microsoft開發(fā), 它不僅是一個C++ 編譯器,而且是一個基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development enviro
30、nment,IDE)。Visual C++6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lass Wizard等開發(fā)工具。 這些組件通過一個名為Developer Studio的組件集成為和諧的開發(fā)環(huán)境。Microsoft的主力軟件產(chǎn)品。Visual C++是一個功能強大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出Visual C++1.0后,隨著其新版本的不斷問世,Visual C++
31、已成為專業(yè)程序員進行軟件開發(fā)的首選工具。雖然微軟公司推出了Visual C++.NET(Visual C++7.0),但它的應(yīng)用的很大的局限性,只適用于Windows 2000,Windows XP和Windows NT4.0。所以實際中,更多的是以Visual C++6.0為平臺。 </p><p> Visual C++6.0以擁有“語法高亮”,自動編譯功能以及高級除錯功能而著稱。比如,它允許用戶進行遠程調(diào)
32、試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動正在調(diào)試的程序。其編譯及創(chuàng)建預(yù)編譯頭文件(stdafx.h)、最小重建功能及累加連結(jié)(link)著稱。這些特征明顯縮短程序編輯、編譯及連結(jié)的時間花費,在大型軟件計劃上尤其顯著。 </p><p> SQL Server 2000 提供了以 Web 標準為基礎(chǔ)的擴展數(shù)據(jù)庫編程功能。豐富的 XML 和 Internet 標準支持允許您使用內(nèi)置
33、的存儲過程以 XML 格式輕松存儲和檢索數(shù)據(jù)。您還可以使用 XML 更新程序容易地插入、更新和刪除數(shù)據(jù)。 通過 Web 輕松訪問數(shù)據(jù)。 </p><p> 有了 SQL Server 2000,您可以使用 HTTP 來向數(shù)據(jù)庫發(fā)送查詢、對數(shù)據(jù)庫中存儲的文檔執(zhí)行全文搜索、以及通過 Web 進行自然語言查詢。強大而靈活的基于 Web 的分析。 </p><p> SQL Server 20
34、00 分析服務(wù)功能被擴展到了 Internet。您可以通過 Web 瀏覽器來訪問和控制多維數(shù)據(jù)。 高度的可伸縮性和可靠性 使用 SQL Server 2000 可以獲得非凡的可伸縮性和可靠性。通過向上伸縮和向外擴展的能力,SQL Server 滿足了苛刻的電子商務(wù)和企業(yè)應(yīng)用程序要求。 </p><p> 向上伸縮。 SQL Server 2000 利用了對稱多處理器 (SMP) 系統(tǒng)。SQL Server En
35、terprise Edition 最多可以使用 32 個處理器和 64 GB RAM。 </p><p> 向外擴展。 向外擴展可以將數(shù)據(jù)庫和數(shù)據(jù)負載分配給多臺服務(wù)器。 </p><p> 可用性。通過增強的故障轉(zhuǎn)移群集、日志傳送和新增的備份策略,SQL Server 2000 達到了最大的可用性。 </p><p> 集成和可擴展的分析服務(wù)。 有了 SQL
36、Server 2000,您可以建立帶有集成工具的端到端分析解決方案,從數(shù)據(jù)創(chuàng)造價值。此外,還可以根據(jù)分析結(jié)果自動驅(qū)動商業(yè)過程以及從最復(fù)雜的計算靈活地檢索自定義結(jié)果集。 </p><p> 快速開發(fā)、調(diào)試和數(shù)據(jù)轉(zhuǎn)換。SQL Server 2000 帶有交互式調(diào)節(jié)和調(diào)試查詢、從任何數(shù)據(jù)源快速移動和轉(zhuǎn)化數(shù)據(jù)、以及按 Transact-SQL 方式定義和使用函數(shù)等功能。您可以從任意 Visual Studio 工具以可
37、視化方式設(shè)計和編寫數(shù)據(jù)庫應(yīng)用程序。 </p><p> 簡化的管理和調(diào)節(jié)。 使用 SQL Server 2000,您可以很容易地在企業(yè)資源旁邊集中管理數(shù)據(jù)庫??梢栽诒3致?lián)機的同時輕松地在計算機間或?qū)嵗g移動和復(fù)制數(shù)據(jù)庫。</p><p> MFC (Microsoft Foundation Class Library)中的各種類結(jié)合起來構(gòu)成了一個應(yīng)用程序框架,它的目的就是讓程序員在此基
38、礎(chǔ)上來建立Windows 下的應(yīng)用程序,這是一種相對SDK來說更為簡單的方法。因為總體上,MFC 框架定義了應(yīng)用程序的輪廓,并提供了用戶接口的標準實現(xiàn)方法,程序員所要做的就是通過預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個輪廓。Microsoft Visual C++提供了相應(yīng)的工具來完成這個工作:AppWizard 可以用來生成初步的框架文件(代碼和資源等);資源編輯器用于幫助直觀地設(shè)計用戶接口;ClassWizard用來協(xié)助添加代碼
39、到框架文件;最后,編譯,則通過類庫實現(xiàn)了應(yīng)用程序特定的邏輯[2]。</p><p><b> 2.2 系統(tǒng)設(shè)計</b></p><p> 2.2.1 系統(tǒng)功能描述</p><p> 經(jīng)過仔細分析系統(tǒng)需求之后可知本論文中的數(shù)據(jù)管理系統(tǒng)要完成的主要功能如下:</p><p> 進入系統(tǒng)前需要身份驗證——數(shù)據(jù)源、用戶名
40、、密碼,輸入正確后方可進入。</p><p> 用戶可以根據(jù)需要添加原始測量數(shù)據(jù)。</p><p> 對數(shù)據(jù)進行添加、修改和刪除以及查詢。</p><p> 對原始數(shù)據(jù)進行計算、繪圖,并可根據(jù)需要對計算結(jié)果進行查詢。</p><p> 2.2.2 功能模塊劃分</p><p> 通過對開采沉陷數(shù)據(jù)管理系統(tǒng)的功
41、能分析,可以定義出系統(tǒng)的功能模塊圖[15],如圖2-1所示。其中定義功能模塊包括以下方面:</p><p> 圖2-1 開采沉陷數(shù)據(jù)管理系統(tǒng)功能模塊示意圖</p><p> 2.2.3系統(tǒng)流程圖</p><p> 前面的分析中已經(jīng)定義了系統(tǒng)各個功能模塊,屬于靜態(tài)建模的范圍。在系統(tǒng)運行時刻的動態(tài)模型應(yīng)該由系統(tǒng)的流程決定。當(dāng)用戶登錄系統(tǒng)后可以擁有權(quán)限對系統(tǒng)進行操作
42、時,具體流程如下圖2-2:</p><p> 圖2-2 系統(tǒng)流程圖</p><p><b> 2.3 數(shù)據(jù)庫設(shè)計</b></p><p> 系統(tǒng)設(shè)計完成后,接下來就是數(shù)據(jù)庫分析與實現(xiàn)了。數(shù)據(jù)庫的建立是整個數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)過程中一個重要的環(huán)節(jié),數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接影響到系統(tǒng)的效率和功能的實現(xiàn)。</p><p&g
43、t; 系統(tǒng)的數(shù)據(jù)庫需求具體體現(xiàn)在對各種信息的存儲、修改和查詢等方面。因此,一個滿足系統(tǒng)要求的數(shù)據(jù)庫必須充分照顧到對各種信息的輸入輸出以免遺漏導(dǎo)致開發(fā)時返工。通過對系統(tǒng)功能的分析,根據(jù)系統(tǒng)的需求,應(yīng)用SQL Server2000 強大的數(shù)據(jù)存儲、修改和查詢功能,進行數(shù)據(jù)庫的設(shè)計與實現(xiàn),開采沉陷數(shù)據(jù)管理系統(tǒng)需要包含以下數(shù)據(jù)庫信息。</p><p> 添加用戶信息:包括ID、用戶名。密碼,如圖2-3。</p&
44、gt;<p> 原始數(shù)據(jù)信息:包括原始數(shù)據(jù)ID、剖面名稱、觀測時間、測站名稱、首次觀測標高、本次觀測標高、線段名稱、首次觀測邊長、本次觀測邊長、備注信息,如圖2-4。</p><p> 實測數(shù)據(jù)計算結(jié)果信息:ID、測點名稱、下沉、傾斜、曲率、線段、水平變形、水平移動等,如圖2-5。</p><p> 圖2-3 SQL2000 MS數(shù)據(jù)庫添加用戶表的屬性</p&g
45、t;<p> 圖2-4 測量原始數(shù)據(jù)信息表的屬性</p><p> 圖2-5 結(jié)算結(jié)果信息表的屬性</p><p> 2.4 用戶界面設(shè)計</p><p> 系統(tǒng)用戶界面是系統(tǒng)用戶和系統(tǒng)之間傳遞、交換信息的媒介,是系統(tǒng)的綜合操作環(huán)境與系統(tǒng)監(jiān)護的唯一通道。系統(tǒng)用戶界面設(shè)計的好壞、是否人性化,直接影響到系統(tǒng)功能的實現(xiàn),編碼的封裝簡化,用戶的使用與推
46、廣。成功的應(yīng)用軟件系統(tǒng)應(yīng)具備完善的功能和有好的操作界面,能夠使用戶集中精力工作,并能夠?qū)τ脩舻拿總€操作做出預(yù)測。</p><p> 開采沉陷數(shù)據(jù)管理系統(tǒng)是基于Visual C++ MFC 單文檔 進行應(yīng)用程序的設(shè)計,并將相關(guān)信息顯示在視圖中,系統(tǒng)顯示效果圖,如圖2-6。</p><p> 圖2-6 系統(tǒng)顯示效果圖</p><p> 2.5 工程模塊設(shè)計<
47、/p><p> 2.5.1登錄模塊設(shè)計</p><p> 在進入系統(tǒng)之前,首先調(diào)用登錄對話框,可以創(chuàng)建一個對話框,對話框包含了用戶名和密碼兩部分,添加的對話框類名稱CenterDlg,資源ID為IDD_ENTER,對話框名稱為“登錄”,界面如圖2-7所示。</p><p> 圖2-7 登錄對話框</p><p> “登錄”對話框中的控件類
48、型、ID及說明如表2-1所示</p><p> 表2-1 登錄對話框控件屬性表</p><p> 在這個模塊中,它的事件處理函數(shù)是進入MFC建立的系統(tǒng),與數(shù)據(jù)庫的連接時建立在進入系統(tǒng)后即默認為建立連接,這一點與其他系統(tǒng)不同。用戶名和密碼均存放于數(shù)據(jù)庫對應(yīng)的表中,用戶和密碼必須同時與已存在的用戶相同,如出現(xiàn)不同時,不予進入系統(tǒng),并出現(xiàn)相應(yīng)的提示。</p><p>
49、 2.5.2 原始數(shù)據(jù)信息</p><p> 在進入系統(tǒng)之后,在數(shù)據(jù)數(shù)據(jù)處理菜單項下,點擊添加添加計算所需數(shù)據(jù),調(diào)用計算原始數(shù)據(jù)對話框,創(chuàng)建一個對話框,添加的對話框類名稱CCalInDlg,資源ID為IDD_CAL_IN,對話框名稱為“計算原始數(shù)據(jù)信息”,界面如圖2-8所示。</p><p> 圖2-8 添加和修改計算所需數(shù)據(jù)對話框</p><p> 考慮到
50、添加數(shù)據(jù)和修改數(shù)據(jù)使用的對話框一致,不同的是需要修改時需要把要修改的計算數(shù)據(jù)信息參數(shù)自動賦值給相應(yīng)的控件變量,并且在主界面調(diào)用這個對話框。作者在CcalInDlg類中定義了一個控制變量 bool m_bAppend,實現(xiàn)在點擊下拉菜單中的“添加計算所需數(shù)據(jù)”時,該對話框的屬性為“添加計算所需數(shù)據(jù)”,而在點擊“修改計算所需數(shù)據(jù)”時,該對話框的屬性為“修改計算所需數(shù)據(jù)”。</p><p> BOOL CCalInD
51、lg::OnInitDialog()</p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p> // TODO: Add extra initialization here</p><p> // Set Windows Text</p>
52、;<p> if (m_bAppend) SetWindowText(_T("添加計算所需數(shù)據(jù)"));</p><p> else SetWindowText(_T("修改計算所需數(shù)據(jù)"));</p><p> m_oldPart = m_part;</p><p> m_oldTime = m_tim
53、e;</p><p> m_oldPoint = m_point;</p><p> return TRUE; // return TRUE unless you set the focus to a control</p><p> // EXCEPTION: OCX Property Pages should return FALSE</p>
54、<p><b> }</b></p><p> 在該系統(tǒng)中首先通過用戶的右鍵選定觸發(fā)CMSView類中的CalInAlter事件,并通過OnCalInAlter 函數(shù)進行處理,然后在這個函數(shù)中傳遞數(shù)據(jù)到“計算原始數(shù)據(jù)信息”對話框。OnCalInAlter 函數(shù)首先從列表控件中獲取要修改的信息,然后把這些信息賦給對話框類CCalInDlg實例的成員變量,然后調(diào)用其DoModa
55、l 方法進行輸入的等待狀態(tài),就可以在彈出的“修改計算所需數(shù)據(jù)”對話框顯示要修改的數(shù)據(jù)信息,并進行修改保存。</p><p> 在主菜單項“數(shù)據(jù)輸入管理”的下拉菜單里的“刪除計算所需數(shù)據(jù)”,可以直接在View主視圖中選中將要刪除的數(shù)據(jù)直接進行刪除。</p><p> 原始數(shù)據(jù)查詢對話框,資源ID為IDD_CAL_IN_SEARCH,添加的對話框類為CCalInSearchDlg類,對話框
56、屬性為“原始數(shù)據(jù)查詢”,界面如圖2-9所示。</p><p> 圖2-9 原始數(shù)據(jù)查詢對話框</p><p> “原始數(shù)據(jù)查詢”對話框中引入組合框控件,在對話框CcalInSearchDlg類中對其初始化,使控件中顯示存在的數(shù)據(jù)記錄,便于查詢,該的控件類型、ID及說明如表2-2所示</p><p> 表2-2 原始數(shù)據(jù)查詢對話框中控件屬性說明表</p&g
57、t;<p> 該對話框中組合框下的屬性值,直接由數(shù)據(jù)庫已有數(shù)據(jù)傳遞獲得,可以實現(xiàn)查詢選定條件的任意數(shù)據(jù),如果只選定其中一個或者兩個,則實現(xiàn)滿足查詢到已選定條件的其他未選定的所有數(shù)據(jù)。</p><p> 2.5.3 數(shù)據(jù)計算管理</p><p> 點擊mainframe的數(shù)據(jù)計算管理子菜單里的計算,彈出數(shù)據(jù)計算對話框,資源ID為IDD_CAL_CAL,添加的對話框類為CC
58、alCALDlg類,對話框?qū)傩詾椤皵?shù)據(jù)計算”,界面如圖2-10所示。</p><p> 圖2-10 數(shù)據(jù)計算對話框</p><p> “數(shù)據(jù)計算”對話框中的控件類型、ID及說明如表2-3所示</p><p> 表2-3 數(shù)據(jù)計算對話框中控件屬性說明表</p><p> 本對話框必須將剖面名稱和觀測時間同時選中才能進行計算,數(shù)據(jù)結(jié)果直接
59、顯示在View視圖中,并將計算結(jié)果更新到數(shù)據(jù)庫中,便于日后的使用管理。</p><p> 點擊計算結(jié)果查詢子菜單,彈出數(shù)據(jù)計算對話框,資源ID為IDD_CAL_SEARCH,添加的對話框類為CCalculateSearchDlg類,對話框?qū)傩詾椤坝嬎憬Y(jié)果查詢”,界面如圖2-11:</p><p> 圖2-11 計算結(jié)果查詢對話框</p><p> “計算結(jié)果查
60、詢”對話框中的控件類型、ID及說明如表2-4所示</p><p> 表2-4 計算結(jié)果查詢對話框控件屬性說明表</p><p> 該對話框在未選定查詢條件時,將返回所有計算數(shù)據(jù),當(dāng)選中其中一個或兩個作為查詢條件時,將返回所有計算數(shù)據(jù)中符合選定的查詢條件的數(shù)據(jù)。并將數(shù)據(jù)顯示在主視圖中。</p><p><b> 2.5.4 繪圖</b>&l
61、t;/p><p> 點擊mainframe的數(shù)據(jù)繪圖菜單項的子菜單項繪制實測曲線,彈出數(shù)據(jù)繪圖對話框,資源ID為IDD_DRAWING,添加的對話框類為CDrawDlg類,對話框?qū)傩詾椤袄L圖”,界面如圖2-12所示:</p><p> 圖2-12 繪圖對話框</p><p> “計算結(jié)果查詢”對話框中的控件類型、ID及說明如表2-5所示</p>&l
62、t;p> 表2-5 繪圖對話框控件屬性說明表</p><p> 該對話框處理實測數(shù)據(jù)計算結(jié)果的曲線圖的繪制,必須同時選中剖面名稱和觀測時間,繪制出實測曲線和擬合后的曲線圖,曲線圖點的標繪依照第三章3.3.2的理論依據(jù)。</p><p> 2.5.5 其他功能</p><p> 本系統(tǒng)可以實現(xiàn)修改密碼、添加新用戶兩個功能,這兩個功能的實現(xiàn)是建立在連接數(shù)據(jù)
63、庫的基礎(chǔ)上,能夠?qū)?shù)據(jù)庫進行數(shù)據(jù)的操作,方便用戶可以根據(jù)自己的喜好和個人習(xí)慣進行本系統(tǒng)的使用。修改密碼對話框的資源ID為IDD_CHANGE_PASSWORD,添加的對話框類為CChangePasswordDlg類,對話框?qū)傩詾椤靶薷拿艽a”,界面如圖2-13所示:</p><p> 圖2-13 修改密碼對話框</p><p> “修改密碼”對話框中的控件類型、ID及說明如表2-6所示&
64、lt;/p><p> 表2-6 修改密碼對話框控件屬性表</p><p> 修改密碼的功能是在第一次進入系統(tǒng)后,連接數(shù)據(jù)庫以后才能實現(xiàn)該功能,密碼的輸入需要兩次輸入的內(nèi)容一致進行確認,而且修改密碼職位當(dāng)前進入對話框之前的用戶才有效。</p><p> 添加新用戶對話框的資源ID為IDD_ADD_USER,添加的對話框類為CAddUser類,對話框?qū)傩詾椤疤砑有掠脩?/p>
65、”,界面如圖2-14所示:</p><p> 圖2-14 添加新用戶對話框</p><p> “添加新用戶”對話框中的控件類型、ID及說明如表2-7所示</p><p> 表2-7 添加新用戶對話框控件屬性說明表</p><p> 該對話框的實現(xiàn)也是在和數(shù)據(jù)庫連接后進行的操作,可以根據(jù)用戶自己的需求進行用戶和密碼的添加和修改。<
66、/p><p><b> 2.6 本章小結(jié)</b></p><p> 本章主要介紹了系統(tǒng)的開發(fā)環(huán)境,系統(tǒng)的功能模塊以及系統(tǒng)流程。利用SQL2000和MFC進行系統(tǒng)詳細設(shè)計和開發(fā)過程的說明。</p><p> 第三章 系統(tǒng)開發(fā)的關(guān)鍵技術(shù)</p><p> 3.1 采用面向?qū)ο蟮木幊陶Z言</p><p&
67、gt; 面向?qū)ο蟪霈F(xiàn)以前,結(jié)構(gòu)化程序設(shè)計是程序設(shè)計的主流,結(jié)構(gòu)化程序設(shè)計又稱為面向過程的程序設(shè)計。在面向過程程序設(shè)計中,問題被看作一系列需要完成的任務(wù),函數(shù)(在此泛指例程、函數(shù)、過程)用于完成這些任務(wù),解決問題的焦點集中于函數(shù)。其中函數(shù)是面向過程的,即它關(guān)注如何根據(jù)規(guī)定的條件完成指定的任務(wù)。 </p><p> 在多函數(shù)程序中,許多重要的數(shù)據(jù)被放置在全局數(shù)據(jù)區(qū),這樣它們可以被所有的函數(shù)訪問。每個函數(shù)都可以具有
68、它們自己的局部數(shù)據(jù)。 </p><p> 這種結(jié)構(gòu)很容易造成全局數(shù)據(jù)在無意中被其他函數(shù)改動,因而程序的正確性不易保證。面向?qū)ο蟪绦蛟O(shè)計的出發(fā)點之一就是彌補面向過程程序設(shè)計中的一些缺點:對象是程序的基本元素,它將數(shù)據(jù)和操作緊密地連結(jié)在一起,并保護數(shù)據(jù)不會被外界的函數(shù)意外地改變。 </p><p> 比較面向?qū)ο蟪绦蛟O(shè)計和面向過程程序設(shè)計,還可以得到面向?qū)ο蟪绦蛟O(shè)計的其他優(yōu)點: </
69、p><p> 1)數(shù)據(jù)抽象的概念可以在保持外部接口不變的情況下改變內(nèi)部實現(xiàn),從而減少甚至避免對外界的干擾; </p><p> 2)通過繼承大幅減少冗余的代碼,并可以方便地擴展現(xiàn)有代碼,提高編碼效率,也減低了出錯概率,降低軟件維護的難度; </p><p> 3)結(jié)合面向?qū)ο蠓治?、面向?qū)ο笤O(shè)計,允許將問題域中的對象直接映射到程序中,減少軟件開發(fā)過程中中間環(huán)節(jié)的轉(zhuǎn)換
70、過程; </p><p> 4)通過對對象的辨別、劃分可以將軟件系統(tǒng)分割為若干相對為獨立的部分,在一定程度上更便于控制軟件復(fù)雜度; </p><p> 5)以對象為中心的設(shè)計可以幫助開發(fā)人員從靜態(tài)(屬性)和動態(tài)(方法)兩個方面把握問題,從而更好地實現(xiàn)系統(tǒng); </p><p> 6)通過對象的聚合、聯(lián)合可以在保證封裝與抽象的原則下實現(xiàn)對象在內(nèi)在結(jié)構(gòu)以及外在功能上
71、的擴充,從而實現(xiàn)對象由低到高的升級。</p><p> 在數(shù)據(jù)輸入模塊內(nèi)部設(shè)計中,采用面向?qū)ο蟮脑O(shè)計方法。[6]面向?qū)ο蟮幕靖拍钊缦拢?</p><p> 對象:對象是要研究的任何事物。從一本書到一家圖書館,單的整數(shù)到整數(shù)列龐大的數(shù)據(jù)庫、極其復(fù)雜的自動化工廠、航天飛機都可看作對象,它不僅能表示有形的實體,也能表示無形的(抽象的)規(guī)則、計劃或事件。對象由數(shù)據(jù)(描述事物的屬性)和作用于數(shù)
72、據(jù)的操作(體現(xiàn)事物的行為)構(gòu)成一獨立整體。從程序設(shè)計者來看,對象是一個程序模塊,從用戶來看,對象為他們提供所希望的行為。在對內(nèi)的操作通常稱為方法[11]。 </p><p> 類:類是對象的模板。即類是對一組有相同數(shù)據(jù)和相同操作的對象的定義,一個類所包含的方法和數(shù)據(jù)描述一組對象的共同屬性和行為。類是在對象之上的抽象,對象則是類的具體化,是類的實例。類可有其子類,也可有其它類,形成類層次結(jié)構(gòu)。 </p>
73、;<p> 消息:消息是對象之間進行通信的一種規(guī)格說明。一般它由三部分組成:接收消息的對象、消息名及實際變元。 </p><p> 面向?qū)ο笾饕卣鳎?</p><p> 封裝性:封裝是一種信息隱蔽技術(shù),它體現(xiàn)于類的說明,是對象的重要特性。封裝使數(shù)據(jù)和加工該數(shù)據(jù)的方法(函數(shù))封裝為一個整體,以實現(xiàn)獨立性很強的模塊,使得用戶只能見到對象的外特性(對象能接受哪些消息,具有那
74、些處理能力),而對象的內(nèi)特性(保存內(nèi)部狀態(tài)的私有數(shù)據(jù)和實現(xiàn)加工能力的算法)對用戶是隱蔽的。封裝的目的在于把對象的設(shè)計者和對象者的使用分開,使用者不必知曉行為實現(xiàn)的細節(jié),只須用設(shè)計者提供的消息來訪問該對象。 </p><p> 繼承性:繼承性是子類自動共享父類之間數(shù)據(jù)和方法的機制。它由類的派生功能體現(xiàn)。一個類直接繼承其它類的全部描述,同時可修改和擴充。繼承具有傳遞性。繼承分為單繼承(一個子類只有一父類)和多重繼承
75、(一個類有多個父類)。類的對象是各自封閉的,如果沒繼承性機制,則類對象中數(shù)據(jù)、方法就會出現(xiàn)大量重復(fù)。繼承不僅支持系統(tǒng)的可重用性,而且還促進系統(tǒng)的可擴充性。 </p><p> 多態(tài)性:對象根據(jù)所接收的消息而做出動作。同一消息為不同的對象接受時可產(chǎn)生完全不同的行動,這種現(xiàn)象稱為多態(tài)性。利用多態(tài)性用戶可發(fā)送一個通用的信息,而將所有的實現(xiàn)細節(jié)都留給接受消息的對象自行決定,如是,同一消息即可調(diào)用不同的方法。例如:Pri
76、nt消息被發(fā)送給一圖或表時調(diào)用的打印方法與將同樣的Print消息發(fā)送給一正文文件而調(diào)用的打印方法會完全不同。多態(tài)性的實現(xiàn)受到繼承性的支持,利用類繼承的層次關(guān)系,把具有通用功能的協(xié)議存放在類層次中盡可能高的地方,而將實現(xiàn)這一功能的不同方法置于較低層次,這樣,在這些低層次上生成的對象就能給通用消息以不同的響應(yīng)。在OOPL中可通過在派生類中重定義基類函數(shù)(定義為重載函數(shù)或虛函數(shù))來實現(xiàn)多態(tài)性。 </p><p> 綜
77、上可知,在面對對象方法中,對象和傳遞消息分別表現(xiàn)事物及事物間相互聯(lián)系的概念。類和繼承是是適應(yīng)人們一般思維方式的描述范式。方法是允許作用于該類對象上的各種操作。這種對象、類、消息和方法的程序設(shè)計范式的基本點在于對象的封裝性和類的繼承性。通過封裝能將對象的定義和對象的實現(xiàn)分開,通過繼承能體現(xiàn)類與類之間的關(guān)系,以及由此帶來的動態(tài)鏈編和實體的多態(tài)性,從而構(gòu)成了面向?qū)ο蟮幕咎卣鳌?</p><p> 面向?qū)ο笤O(shè)計是一種
78、把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動的系統(tǒng)方法,是建立在“對象”概念基礎(chǔ)上的方法學(xué)。對象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實體有直接對應(yīng)關(guān)系,一個對象類定義了具有相似性質(zhì)的一組對象。而每繼承性是對具有層次關(guān)系的類的屬性和操作進行共享的一種方式。所謂面向?qū)ο缶褪腔趯ο蟾拍?,以對象為中心,以類和繼承為構(gòu)造機制,來認識、理解、刻畫客觀世界和設(shè)計、構(gòu)建相應(yīng)的軟件系統(tǒng)。。按照Bjarne STroustRUP的說法,面向?qū)ο?/p>
79、的編程范式: </p><p> 1)決定你要的類; </p><p> 2)給每個類提供完整的一組操作; </p><p> 3)明確地使用繼承來表現(xiàn)共同點。 </p><p> 由這個定義,我們可以看出:面向?qū)ο笤O(shè)計就是“根據(jù)需求決定所需的類、類的操作以及類之間關(guān)聯(lián)的過程”。</p><p> 3.2 使
80、用ADO連接數(shù)據(jù)庫</p><p> ADO(ActiveX Data Object)技術(shù)是基于OLE DB的訪問接口,它繼承了OLE DB技術(shù)的優(yōu)點,并且對OLE DB的接口作了封裝,定義了ADO對象,使程序開發(fā)得到簡化。ADO技術(shù)屬于數(shù)據(jù)庫訪問的高層接口。</p><p> ADO是目前在Windows環(huán)境中比較流行的數(shù)據(jù)庫編程技術(shù)。它是建立在OLE DB底層技術(shù)之上的高層編程接口
81、,因而具有強大的數(shù)據(jù)處理功能和簡單易用的編程接口,并且得到了廣泛的應(yīng)用。ADO的底層是OLE DB,所以不僅能夠訪問關(guān)系型數(shù)據(jù)庫,也可以訪問菲關(guān)系型數(shù)據(jù)庫,更是現(xiàn)在最快的數(shù)據(jù)庫訪問中間層[6]。</p><p> 3.2.1 ADO主要對象介紹</p><p> Command 對象:ADO Command 對象用于執(zhí)行面向數(shù)據(jù)庫的一次簡單查詢。此查詢可執(zhí)行諸如創(chuàng)建、添加、取回、刪除或
82、更新記錄等動作。如果該查詢用于取回數(shù)據(jù),此數(shù)據(jù)將以一個 RecordSet 對象返回。這意味著被取回的數(shù)據(jù)能夠被 RecordSet 對象的屬性、集合、方法或事件進行操作。Command 對象的主要特性是有能力使用存儲查詢和帶有參數(shù)的存儲過程。</p><p> Connection 對象:ADO Connection 對象用于創(chuàng)建一個到達某個數(shù)據(jù)源的開放連接。通過此連接,您可以對一個數(shù)據(jù)庫進行訪問和操作。如果
83、需要多次訪問某個數(shù)據(jù)庫,您應(yīng)當(dāng)使用 Connection 對象來建立一個連接。您也可以經(jīng)由一個 Command 或 Recordset 對象傳遞一個連接字符串來創(chuàng)建某個連接。不過,此類連接僅僅適合一次具體的簡單的查詢。</p><p> Recordset 對象:ADO Recordset 對象用于容納一個來自數(shù)據(jù)庫表的記錄集。一個 Recordset 對象由記錄和列(字段)組成。在 ADO 中,此對象是最重要
84、且最常用于對數(shù)據(jù)庫的數(shù)據(jù)進行操作的對象。</p><p> _variant_t和_bstr_t 類:_variant_t和_bstr_t這兩個類分別封裝并管理VARIANT和BSTR這兩種數(shù)據(jù)類型, VARIANT和BSTR這兩種類型是COM中使用的數(shù)據(jù)類型。 </p><p> 為了C++中的變量應(yīng)用到ADO編程中,只能進行數(shù)據(jù)類型的轉(zhuǎn)換。通過_variant_t和_bstr_t這
85、兩個類,就可以方便的把C++類型變量轉(zhuǎn)換成COM中的變量了。實現(xiàn)_variant_t向int,String ,double,long,byte等類型轉(zhuǎn)換。</p><p> 3.2.2 ADO 的優(yōu)越性</p><p> 對于數(shù)據(jù)庫編程人員來說,ADO 具有如下優(yōu)越性:</p><p><b> 便于使用。</b></p>
86、<p> 支持多種編程語言,包括 Visual Basic、Java、C++、VBScript 和JavaScript。</p><p> 支持任何的 OLE DB 服務(wù)器,ADO 可以操作任何的OLE DB 數(shù)據(jù)源。</p><p> 不損失任何 OLE DB 的功能,ADO 支持C++編程人員操作底層的OLE DB 接口。</p><p> 可
87、擴展性,ADO 能夠通過提供者屬性集合動態(tài)地表示指定的數(shù)據(jù)提供者,還能夠支持COM 的擴展數(shù)據(jù)類型[6]。</p><p> 3.2.3引入ADO庫</p><p> 在Visual C++中使用ADO開發(fā)數(shù)據(jù)庫之前,需要引入ADO庫??梢栽赟tdAfx.h 文件末尾引入ADO庫文件,方法如下:</p><p> #import”C:\ Program Fil
88、es\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")</p><p> 使用預(yù)處理指令import使程序在編譯過程中引入ADO動態(tài)庫(msado15.dll)。no_namespace表明不使用命令空間。rename("EOF","ad
89、oEOF")表明把ADO中用到的EOF改為adoEOF,防止發(fā)生命名沖突。</p><p> 添加的時候要注意,由于在不同的系統(tǒng)安裝時這個路徑可能不同,必須先在系統(tǒng)里查找msado15.dll 文件的路徑。不過通常該文件都在系統(tǒng)的“ Program Files\Common Files\System\ado”路徑下。</p><p> 還有一個問題要注意,我們在本實例里使用的
90、是ADO 的1.5 版本,也許你的操作系統(tǒng)不支持1.5,只是1.0 版的,或者是2.0 版本,這時需要將這個庫文件名稱改為相應(yīng)的文件名。1.5 版本在對1.0 版本升級的時候改變了一些函數(shù)的接口參數(shù),在實際編程時需要注意靈活處理。</p><p> 3.2.4ADO連接數(shù)據(jù)庫View視圖的顯示</p><p> 為了便于用戶的操作使用,本系統(tǒng)使用View視圖顯示數(shù)據(jù)表以及繪制相關(guān)曲線圖
91、,主要用到ADO類庫中的對象有:</p><p> CStatic m_StaticCtrl;</p><p> CListCtrl m_ListCtrl;</p><p> _ConnectionPtr ADOConn;</p><p> _RecordsetPtr m_pADOSet;</p><p>
92、其中,CStatic m_StaticCtrl主要是用于View視圖中的表頭的顯示;CListCtrl m_ListCtrl用于View視圖中數(shù)據(jù)表格的建立和顯示;_ConnectionPtr ADOConn主要用于處理ADO數(shù)據(jù)庫的連接;_RecordsetPtr m_pADOSet用于程序中對數(shù)據(jù)庫中記錄集的操作。</p><p> 3.3 數(shù)據(jù)處理的理論模型</p><p> 3
93、.3.1移動、變形計算</p><p> 觀測數(shù)據(jù)經(jīng)過整理改正以后,便可計算觀測線上各測點和各測點間的移動和變形。移動和變形計算主要包括:各測點的下沉和水平移動,相鄰兩側(cè)點的傾斜和水平變形,相鄰兩線段(或相鄰三點)的曲率變形,觀測點的下沉速度等。</p><p> m次觀測時n點的下沉</p><p><b> ,mm (3-1)</b>
94、</p><p> 式中 ——n 點的下沉值;</p><p> ——分別為首次和m次觀測時n點的高程。</p><p><b> 相鄰兩點間的傾斜</b></p><p> ,mm/m 或 (3-2)</p><p> 式中 ——n號點至n+1號點的水平距離;</p>
95、<p> ——分別表示n+1號點和n號點的下沉量。</p><p> n號點附近的曲率,即號點至號點之間的曲率</p><p> ,mm/m2或10-3/m (3-3)</p><p> 式中 ——分別表示n+1號點至n號點和n號點至n-1號點的傾斜</p><p> ——分別表示n+1號點至n號點和n號點至n-1號點的水
96、平距離</p><p><b> n號點的水平移動</b></p><p><b> ,mm (3-4)</b></p><p> 式中 Un——n號點的水平移動</p><p> ——分別表示m次觀測時和首次觀測時n號點至觀測線控制點間的水平距離,用點間距累加求的</p>&
97、lt;p> n號點至號點間的水平變形</p><p> mm/m或10-3 (3-5)</p><p> 每次觀測之后均應(yīng)及時地進行移動和變形計算,計算數(shù)字的取位可參考下表3-1:</p><p> 表3-1 移動和計算結(jié)果取位表</p><p> 3.3.2 繪圖工作</p><p> 根據(jù)每次觀測
98、的計算結(jié)果繪制曲線圖,由這種曲線圖能夠清楚地看出沿觀測線(主斷面)的地表移動和變形的分布特征及其發(fā)展過程。</p><p> 繪制移動和變形曲線圖時,選擇豎直比例尺的原則是:使繪制的曲線能夠清楚的反映出移動和變形的分布規(guī)律,并便于分析比較。水平比例尺與觀測站平面圖一致,可采用1:1000或1:2000。</p><p> 曲線圖和觀測線斷面圖應(yīng)繪制在一起,以表明各種地質(zhì)采礦條件對移動和
99、變形分布形態(tài)的影響。每一次觀測后,要及時進行計算和繪制移動、變形曲線圖。觀測站觀測工作全部結(jié)束后,為了求出最終結(jié)果,應(yīng)對每次觀測結(jié)果進行綜合分析,以便獲得觀測站受采動影響產(chǎn)生的移動、變形的發(fā)展過程,以及移動和變形的最終值。</p><p> 繪制移動、變形曲線時,具有正號的移動、變形值繪制在水平線的上方,負號值繪制在水平線的下方,但下沉值除外。繪圖展點時需注意:下沉值展繪在測點的正下方;水平移動是依據(jù)其正、負號
100、分別展繪在測點的正上方或正下方;傾斜和水平變形是依據(jù)其正、負號展繪在兩測點中點的正上方或正下方;曲率是依據(jù)其正、負號展繪在兩相鄰線段的的中點的連線的中點的正上方或正下方。</p><p> 3.3.3 實測移動變形值分布規(guī)律的研究</p><p> 用上面的方法求定的實測參數(shù)的計算結(jié)果后,就可以用以下方法分析實測移動變形值分布規(guī)律:</p><p> 分析實測
101、計算結(jié)果,根據(jù)曲線圖分析本地區(qū)內(nèi)下沉、水平移動和變形規(guī)律;</p><p> 參照多次測量結(jié)果分析本地區(qū)內(nèi)的沉陷規(guī)律;</p><p> 總結(jié)該地區(qū)的地表沉陷規(guī)律,并進行本地區(qū)內(nèi)其他地表點的沉陷。
102、
103、 </p><p><b> 3.4 本章小結(jié)</b></p><
104、;p> 本章主要介紹了系統(tǒng)開發(fā)過程中遇到的主要問題以及解決方案,著重講述了系統(tǒng)開發(fā)的理論模型。</p><p><b> 第四章 實例分析</b></p><p> 在系統(tǒng)開發(fā)結(jié)束以后,需要將不同的功能模塊組裝配置起來,進行整個系統(tǒng)正確性和可靠性的系統(tǒng)檢驗,系統(tǒng)檢驗的手段有多種,測試就是其中的一種,這種方式可使系統(tǒng)有控制的進行,并從多種角度觀測系統(tǒng)運行的行
105、為,以發(fā)現(xiàn)系統(tǒng)開發(fā)中存在的問題并加以改正,這個過程有可能重復(fù)多次系統(tǒng)運行狀態(tài)令人滿意為止[21]。</p><p> 在本系統(tǒng)中,系統(tǒng)的測試包括兩部分:一是數(shù)據(jù)輸入、修改、刪除以及查詢等功能的測試,對系統(tǒng)的每個子菜單項進行操作,保證其正常運行;二是保證計算的精確性和圖形功能的實現(xiàn)。通過測試,證明本軟件已達到了預(yù)期效果。下面以一走向觀測線實例為例,來說明該軟件的應(yīng)用效果。</p><p>
106、<b> 4.1 實例來源</b></p><p> 本論文中使用的計算實例為參考文獻【1】第63頁圖2-13的實例。</p><p> 4.2 實測數(shù)據(jù)整理計算</p><p> 數(shù)據(jù)的輸入對話框及示例如下圖4-1所示:</p><p> 圖4-1 數(shù)據(jù)輸入示例</p><p> 數(shù)
107、據(jù)的修改對話框如圖4-2所示:</p><p> 圖4-2 數(shù)據(jù)修改示例</p><p> 數(shù)據(jù)的查詢?nèi)鐖D4-3所示:</p><p> 圖4-3 原始數(shù)據(jù)查詢示例</p><p> 結(jié)果顯示為圖4-4:</p><p> 圖4-4 數(shù)據(jù)查詢結(jié)果顯示</p><p> 通過計算模塊,
108、直接獲得各觀測點的移動變形值成果表,計算結(jié)果如下圖4-5:</p><p> 圖4-5 計算結(jié)果顯示</p><p> 繪圖結(jié)果,右邊根據(jù)實測數(shù)據(jù)繪制的曲線圖;左邊為曲線擬合后的曲線圖,其中為了能夠在View視圖中顯示,所有的數(shù)據(jù)都進過一定的縮放比例,然后才繪制到視圖中,如下圖4-6:</p><p> 圖4-6 移動變形曲線總圖</p><
109、;p> 綜合所有移動變形曲線,我們發(fā)現(xiàn),該區(qū)域沿煤層走向,已達超充分采動,在10號點后,下沉基本穩(wěn)定,局部放大圖:</p><p> 圖4-7 曲率曲線圖</p><p> 圖4-8 傾斜、水平變形曲線圖</p><p> 斷面圖的繪制是在下圖4-9的變形曲線上,按臨界值i=3mm/m,K=0.210-3/m,=2mm/m找到相應(yīng)的臨界變形點,取這三個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計----基于gprs的數(shù)據(jù)處理系統(tǒng)的設(shè)計
- 油田數(shù)據(jù)處理系統(tǒng)畢業(yè)論文
- sjcl線性工程斷面數(shù)據(jù)處理系統(tǒng)
- 31572.基于網(wǎng)絡(luò)的測繪數(shù)據(jù)處理系統(tǒng)設(shè)計與實現(xiàn)
- 脈沖測量雷達數(shù)據(jù)處理系統(tǒng)設(shè)計.pdf
- 招生數(shù)據(jù)處理系統(tǒng)解決方案
- 農(nóng)業(yè)物聯(lián)網(wǎng)數(shù)據(jù)處理系統(tǒng).pdf
- 點云數(shù)據(jù)處理系統(tǒng)設(shè)計與實現(xiàn).pdf
- 基于MapX的煤礦開采沉陷預(yù)計及地表移動觀測站數(shù)據(jù)處理系統(tǒng)的研發(fā).pdf
- 鐵路工程測量數(shù)據(jù)處理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 畢業(yè)論文_考試報名系統(tǒng)數(shù)據(jù)處理系統(tǒng)設(shè)計與實現(xiàn)
- QAR數(shù)據(jù)處理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 工程測量數(shù)據(jù)處理系統(tǒng)的研制與開發(fā).pdf
- 精密光柵數(shù)據(jù)處理系統(tǒng)的研究.pdf
- 畢業(yè)論文_考試報名系統(tǒng)數(shù)據(jù)處理系統(tǒng)設(shè)計與實現(xiàn)
- c語言課程設(shè)計--銀行數(shù)據(jù)處理系統(tǒng)
- 礦山測量數(shù)據(jù)處理系統(tǒng)的研究與設(shè)計.pdf
- 沉降觀測數(shù)據(jù)處理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于DSP的搜索雷達數(shù)據(jù)處理系統(tǒng)設(shè)計.pdf
- 船閘人字門應(yīng)變數(shù)據(jù)處理系統(tǒng)設(shè)計.pdf
評論
0/150
提交評論