歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

武漢理工大學(xué)c課程設(shè)計(jì)報(bào)告書(shū)

  • 資源ID:30159032       資源大?。?span id="fwyv00b" class="font-tahoma">1.34MB        全文頁(yè)數(shù):28頁(yè)
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

武漢理工大學(xué)c課程設(shè)計(jì)報(bào)告書(shū)

武漢理工大學(xué)測(cè)控系統(tǒng)應(yīng)用軟件實(shí)訓(xùn)課程設(shè)計(jì)說(shuō)明書(shū)課程設(shè)計(jì)任務(wù)書(shū)學(xué)生姓名: 李文瑤 專業(yè)班級(jí): 測(cè)控1103班 指導(dǎo)教師: 胡劍 韓雪 工作單位: 機(jī)電學(xué)院測(cè)控系 題 目: 測(cè)控系統(tǒng)應(yīng)用軟件實(shí)訓(xùn)產(chǎn)品質(zhì)量監(jiān)測(cè)系統(tǒng)設(shè)計(jì) 初始條件:日光燈試驗(yàn)臺(tái)是用來(lái)檢測(cè)點(diǎn)亮日光燈的整流器或逆變器是否合格的裝置,通過(guò)多次測(cè)量燈管兩端的電壓和電流,再通過(guò)分析,來(lái)驗(yàn)證整流器或逆變器工作是否正常。單個(gè)整流器或逆變器有不同功率之分,也有可以同時(shí)點(diǎn)亮日光燈個(gè)數(shù)多少之分。檢測(cè)一個(gè)整流器或逆變器,下位機(jī)大概會(huì)產(chǎn)生30組左右的電壓和電流數(shù)據(jù)。本實(shí)訓(xùn)的目標(biāo)是設(shè)計(jì)一個(gè)產(chǎn)品質(zhì)量監(jiān)測(cè)系統(tǒng),保存日光燈試驗(yàn)臺(tái)下位機(jī)產(chǎn)生的數(shù)據(jù)信息,并時(shí)行產(chǎn)品合格檢查、產(chǎn)品質(zhì)量查詢、分類統(tǒng)計(jì)和報(bào)表打印操作,以期使產(chǎn)品的質(zhì)量管理工作系統(tǒng)化、規(guī)范化、自動(dòng)化,從而提高生產(chǎn)效率。設(shè)計(jì)功能要求:1、儀器檢測(cè)結(jié)果的輸入,包括記錄號(hào)、檢修日期、儀器編號(hào)、儀器類型、儀器功率、儀器點(diǎn)亮日光燈個(gè)數(shù)、檢測(cè)人員、檢測(cè)記錄。除檢測(cè)人員和檢測(cè)記錄由工作人員在計(jì)算機(jī)上直接輸入外,其他項(xiàng)都通過(guò)串口讀入。2、儀器檢測(cè)數(shù)據(jù)的輸入,包括記錄號(hào)、儀器編號(hào)、檢測(cè)電壓、檢測(cè)電流。一條儀器檢測(cè)結(jié)果對(duì)應(yīng)多條檢測(cè)數(shù)據(jù)。3、儀器檢測(cè)數(shù)據(jù)以圖形方式顯示變化趨勢(shì)。4、儀器檢測(cè)信息的查詢、修改和刪除。5、儀器類型和功率代碼管理。6、儀器檢測(cè)信息的報(bào)表和打印處理。(選做)7、密碼和權(quán)限管理,不同權(quán)限用戶具有不同的操作權(quán)力。(選做)系統(tǒng)功能模塊設(shè)計(jì):對(duì)上述各項(xiàng)功能進(jìn)行集中分塊,按結(jié)構(gòu)化程序設(shè)計(jì)的要求,得到如圖1所示的系統(tǒng)功能模塊圖。要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說(shuō)明書(shū)撰寫(xiě)等具體要求)1.合理進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)包括以下部分: 1)儀器檢測(cè)結(jié)果信息表,保存檢測(cè)結(jié)果記錄,包括:記錄號(hào)、檢測(cè)日期、儀器編號(hào)、儀器類型、儀器功率、儀器額定點(diǎn)亮日光燈個(gè)數(shù)、儀器溫升、檢測(cè)時(shí)間間隔、檢測(cè)人員、檢測(cè)記錄。 2)儀器檢測(cè)數(shù)據(jù)信息表,保存檢測(cè)數(shù)據(jù)記錄,包括:記錄號(hào)、儀器編號(hào)、檢測(cè)電壓、檢測(cè)電流。 3)儀器類型信息表:記錄號(hào)、儀器類型。 4)儀器功率信息表:記錄號(hào)、儀器功率。 5)記錄號(hào)計(jì)數(shù)數(shù)據(jù)表,用于保存其他表格所需的記錄號(hào),包括:記錄號(hào)名稱、記錄號(hào)計(jì)數(shù)值。 6) 用戶信息表:工號(hào)、用戶名、密碼、權(quán)限。(選用)圖1 系統(tǒng)功能模塊圖2.進(jìn)行相應(yīng)的功能模塊設(shè)計(jì),包括: 1)串口通信設(shè)計(jì);(學(xué)習(xí)) 2)數(shù)據(jù)模塊設(shè)計(jì); 3)系統(tǒng)主窗體設(shè)計(jì); 4)檢測(cè)數(shù)據(jù)分析設(shè)計(jì); 5)檢測(cè)結(jié)果查詢?cè)O(shè)計(jì); 6)報(bào)表打印設(shè)計(jì);(選做) 7) 安全管理設(shè)計(jì)。(選做)3.設(shè)計(jì)并繪制各個(gè)模塊與函數(shù)的軟件流程圖,流程圖要模塊化并具有可讀性(根據(jù)流程圖知道程序功能實(shí)現(xiàn)過(guò)程);編制模塊化源程序; 4.編寫(xiě)并調(diào)試完整的程序代碼 (所有自定義的單元文件名、控件名、函數(shù)名、變量名不能與示例程序同名); 5. 按學(xué)校課程設(shè)計(jì)說(shuō)明書(shū)撰寫(xiě)規(guī)范提交一份課程設(shè)計(jì)說(shuō)明書(shū)(6000字左右),設(shè)計(jì)說(shuō)明書(shū)應(yīng)詳細(xì)說(shuō)明設(shè)計(jì)思路、工作流程和軟件設(shè)計(jì)與實(shí)現(xiàn)界面。時(shí)間安排: 序 號(hào) 內(nèi) 容所 用 時(shí) 間1布置課程設(shè)計(jì)任務(wù),查閱資料,總體方案設(shè)計(jì)1天2設(shè)計(jì)軟件流程圖1天3數(shù)據(jù)庫(kù)設(shè)計(jì)1天4軟件編寫(xiě)4天5撰寫(xiě)設(shè)計(jì)說(shuō)明書(shū)2天6答辯1天 合 計(jì)10天指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日目錄1. 緒論 42. 整體模塊設(shè)計(jì) 4 3. 代碼管理模塊 53.1類型代碼管理 53.2功率代碼管理 54. 檢測(cè)模塊 65. 4.1開(kāi)始檢測(cè) 64.2停止檢測(cè) 85.查詢模塊 95.1結(jié)果查詢 9 5.2工位查詢 196.數(shù)據(jù)表瀏覽模塊 207.數(shù)據(jù)修改模塊 228.打印報(bào)表模塊 249.幫助模塊 2510.總結(jié)與體會(huì) 2711.參考文獻(xiàn) 281.緒論 自工業(yè)革命以來(lái),人類已經(jīng)越來(lái)越意識(shí)到機(jī)器性工作的可代替性是多么的重要。也正是由于這一點(diǎn),自動(dòng)化制造業(yè)得到了飛速的發(fā)展,到如今已經(jīng)達(dá)到一個(gè)非常成熟的形態(tài)。而作為當(dāng)代一名當(dāng)代的中國(guó)大學(xué)生,尤其是像我們這樣的與制造業(yè)有關(guān)的工科專業(yè)學(xué)生,在這樣的時(shí)代大潮中自然不能落于人后。在自身專業(yè)知識(shí)學(xué)習(xí)過(guò)程中要全力以赴,抓住任何機(jī)會(huì)充實(shí)自己。而恰好學(xué)校安排了測(cè)控系統(tǒng)軟件設(shè)計(jì)這一課程讓我們學(xué)習(xí)和鍛煉,更要珍惜這樣的機(jī)會(huì)。主題是制作一個(gè)質(zhì)量檢測(cè)軟件,利用日光燈試驗(yàn)臺(tái)來(lái)檢測(cè)點(diǎn)亮日光燈的整流器或逆變器是否合格,并且通過(guò)多次測(cè)量燈管兩端的電壓和電流,再通過(guò)分析,來(lái)驗(yàn)證整流器或逆變器工作是否正常。單個(gè)整流器或逆變器有不同功率之分,也有可以同時(shí)點(diǎn)亮日光燈個(gè)數(shù)多少之分。檢測(cè)一個(gè)整流器或逆變器,下位機(jī)大概會(huì)產(chǎn)生30組左右的電壓和電流數(shù)據(jù)??偨Y(jié)之,本實(shí)訓(xùn)的目標(biāo)是設(shè)計(jì)一個(gè)產(chǎn)品質(zhì)量監(jiān)測(cè)系統(tǒng),保存日光燈試驗(yàn)臺(tái)下位機(jī)產(chǎn)生的數(shù)據(jù)信息,并時(shí)行產(chǎn)品合格檢查、產(chǎn)品質(zhì)量查詢、分類統(tǒng)計(jì)和報(bào)表打印操作,以期使產(chǎn)品的質(zhì)量管理工作系統(tǒng)化、規(guī)范化、自動(dòng)化,從而體現(xiàn)自動(dòng)化制造業(yè)帶來(lái)的高效率和收益。產(chǎn)品質(zhì)量監(jiān)測(cè)系統(tǒng)安全管理模塊 代碼管理模塊檢測(cè)模塊查詢模塊打印預(yù)覽模塊密碼與權(quán)限管理退出系統(tǒng)類型代碼功率代碼開(kāi)始檢測(cè)停止檢測(cè)結(jié)果查詢工位查詢數(shù)據(jù)表瀏覽模塊數(shù)據(jù)修改模塊2.整體模塊設(shè)計(jì)圖1 程序總體設(shè)計(jì)結(jié)構(gòu)圖3. 代碼管理模塊3.1類型代碼管理(1)程序代碼void _fastcall TF_Main:M_TypeClick(TObject *Sender) /類型代碼編輯 F_Assist->ADOT_Count->First();/設(shè)定記錄號(hào)計(jì)數(shù)數(shù)據(jù)表當(dāng)前活動(dòng)記錄是第一條記錄 F_Assist->ADOT_Count->MoveBy(2);/下移兩條記錄至計(jì)數(shù)表中的儀器類型 F_Assist->DBLookupListBox1->ListField=""/先賦空值以免系統(tǒng)拋出異常 F_Assist->DBLookupListBox1->KeyField=""/先賦空值以免系統(tǒng)拋出異常 F_Assist->DBLookupListBox1->ListSource=DataModule1->DS_Type;/賦儀器類型表 F_Assist->DBLookupListBox1->KeyField="Type_ID"/賦類型記錄號(hào)字段 F_Assist->DBLookupListBox1->ListField="Type_Name"/賦類型名稱字段 F_Assist->Label2->Caption="儀器類型代碼表" F_Assist->ShowModal(); /打開(kāi)輔助資料窗體 (2)運(yùn)行結(jié)果圖2 儀器類型代碼界面3.2功率代碼管理(1)程序代碼void _fastcall Ttcw:M_PowerClick(TObject *Sender) x=2; F_Assist->ADOT_Count->TableName="Industry_Power"/功率代碼編輯 F_Assist->ADOT_Count->Open(); F_Assist->ADOT_Count->Edit(); DataModule1->AT_Power->Open(); DataModule1->AT_Power->Edit(); F_Assist->ADOT_Count->First();/設(shè)定記錄號(hào)計(jì)數(shù)數(shù)據(jù)表當(dāng)前活動(dòng)記錄是第一條記錄 F_Assist->ADOT_Count->MoveBy(2);/下移兩條記錄至計(jì)數(shù)表中的儀器功率 F_Assist->DBLookupListBox1->ListField=""/先賦空值以免系統(tǒng)拋出異常 F_Assist->DBLookupListBox1->KeyField=""/先賦空值以免系統(tǒng)拋出異常 F_Assist->DBLookupListBox1->ListSource=DataModule1->DS_Power;/賦儀器功率代碼表 F_Assist->DBLookupListBox1->KeyField="Power_ID"/賦功率記錄號(hào)字段 F_Assist->DBLookupListBox1->ListField="Power_Name"/賦功率名稱字段 F_Assist->Label2->Caption="儀器功率代碼表" F_Assist->Show(); /打開(kāi)輔助資料窗體(2)運(yùn)行結(jié)果圖3 儀器功率代碼界面4.檢測(cè)模塊4.1開(kāi)始檢測(cè)(1)流程圖圖4 流程圖(2)程序代碼void _fastcall Ttcw:M_StartClick(TObject *Sender) /打開(kāi)串口,開(kāi)啟JudgeTimer定時(shí)器定時(shí)測(cè)控串口 MainMenu->Items->Items2->Enabled=false;/使開(kāi)始檢測(cè)菜單項(xiàng)非能 MainMenu->Items->Items3->Enabled=True;/停止檢測(cè)菜單項(xiàng)使能 if(Com1->PortOpen=True)/如果串口已打開(kāi),則關(guān)閉之 Com1->PortOpen=false; Com1->PortOpen=True; /打開(kāi)串口 Com1->InBufferCount=0;/消除輸入緩沖區(qū)的內(nèi)容 Com1->OutBufferCount=0;/消除輸出緩沖區(qū)的內(nèi)容 if(!Com1->PortOpen) /判斷串口初始化是否失敗并顯示 ShowMessage("串口初始化失敗"); JudgeTimer->Enabled=true; /開(kāi)啟串口監(jiān)聽(tīng)定時(shí)器 RE_Mess->Lines->Add("串口初始化成功,正在監(jiān)聽(tīng)");/在RichEdit控件顯示串口狀態(tài) RE_Mess->Lines->Add("用戶可以開(kāi)始檢測(cè)數(shù)據(jù)");(3)運(yùn)行結(jié)果圖5 開(kāi)始檢測(cè)后界面4.2停止檢測(cè)(1)程序代碼void _fastcall Ttcw:M_PauseClick(TObject *Sender)/關(guān)閉串口,關(guān)閉JudgeTimer定時(shí)器定時(shí)測(cè)控串口 MainMenu->Items->Items2->Enabled=True;/開(kāi)始檢測(cè)菜單項(xiàng)使能 MainMenu->Items->Items3->Enabled=false;/停止檢測(cè)菜單項(xiàng)非能 JudgeTimer->Enabled=false; /關(guān)閉串口監(jiān)聽(tīng)定時(shí)器 Com1->PortOpen=false; /關(guān)閉串口 RE_Mess->Lines->Add("串口已關(guān)閉,與下位機(jī)通信中斷");/在RichEdit控件顯示串口狀態(tài)(2)運(yùn)行結(jié)果圖6 停止檢測(cè)后界面5.查詢模塊5.1結(jié)果查詢(1)程序代碼以及對(duì)應(yīng)程序結(jié)果#include <vcl.h>#pragma hdrstop#include "Query.h"#include "DM.h"/-#pragma package(smart_init)#pragma resource "*.dfm"TF_Query *F_Query;/-_fastcall TF_Query:TF_Query(TComponent* Owner) : TForm(Owner)/-void _fastcall TF_Query:CB_TimeClick(TObject *Sender) /判斷時(shí)間查詢復(fù)選框是否選中,以決定各單選按鈕是否能使用 if(CB_Time->Checked) /若時(shí)間框選中,則各單選按鈕被激活 RadioButton1->Enabled= true ; / RadioButton2->Enabled= true ; / RadioButton3->Enabled= true ; / else /否則,各單選按鈕處于失效狀態(tài) RadioButton1->Enabled= false ; / RadioButton2->Enabled= false ; / RadioButton3->Enabled= false; / /-void _fastcall TF_Query:CB_CodeClick(TObject *Sender)/判斷編號(hào)查詢復(fù)選框是否被選中 if(CB_Code->Checked) M_Code->Enabled=true ;/memo控件被激活 Label2->Enabled=true;/標(biāo)簽控件被激活 else /memo與標(biāo)簽控件失效 M_Code->Enabled=false; Label2->Enabled=false; /-圖7 時(shí)間設(shè)定查詢界面圖8時(shí)間設(shè)定查詢結(jié)果/-void _fastcall TF_Query:CB_TypeClick(TObject *Sender) /判斷類型查詢是否選中 if(CB_Type->Checked) E_Type->Enabled=true; else E_Type->Enabled=false;圖9按類型查詢界面圖10類型查詢結(jié)果void _fastcall TF_Query:CB_PowerClick(TObject *Sender)/判斷功率查詢是否選中 if(CB_Power->Checked) E_Power->Enabled=true; else E_Power->Enabled=false;/-圖11按功率查詢界面圖12功率查詢結(jié)果void _fastcall TF_Query:CB_NumClick(TObject *Sender) /判斷管數(shù)查詢是否選中 if(CB_Num->Checked) E_Num->Enabled=true; UpDown->Enabled=true; else E_Num->Enabled=false; UpDown->Enabled=false; 圖13 按管數(shù)查詢界面圖14 按管數(shù)查詢結(jié)果void _fastcall TF_Query:B_CancelClick(TObject *Sender) DataModule1->AQ_Record->Close();/關(guān)閉檢測(cè)記錄數(shù)據(jù)源 DataModule1->AQ_Record->SQL->Clear();/清除SQL語(yǔ)句 DataModule1->AQ_Record->SQL->Add("SELECT * FROM Industry_Record"); DataModule1->AQ_Data->Close();/關(guān)閉檢測(cè)數(shù)據(jù)數(shù)據(jù)源 DataModule1->AQ_Data->SQL->Clear();/清除SQL語(yǔ)句 DataModule1->AQ_Data->SQL->Add("SELECT * FROM Industry_Record,Industry_Data"); DataModule1->AQ_Record->Open();/執(zhí)行SQL語(yǔ)句,打開(kāi)檢測(cè)記錄表 DataModule1->AQ_Data->Open();/執(zhí)行SQL語(yǔ)句,打開(kāi)檢測(cè)數(shù)據(jù)表 F_Query->Close();/關(guān)閉檢測(cè)數(shù)據(jù)查看窗口/- void _fastcall TF_Query:B_QueryClick(TObject *Sender)/查詢按鈕單擊事件 if(!CB_Time->Checked&&!CB_Type->Checked&&!CB_Power->Checked &&!CB_Num->Checked&&!CB_Code->Checked) /若沒(méi)有查詢條件 Application->MessageBoxA("沒(méi)有查詢條件,請(qǐng)選擇或輸入","查詢出錯(cuò)",MB_OKCANCEL); return; String str1="Industry_Record.Record_Type=" + E_Type->Text + "", str2="Record_Type=" + E_Type->Text + "", str3="Industry_Record.Record_Power=" + E_Power->Text + "", str4="Record_Power=" + E_Power->Text + "" DataModule1->AQ_Record->Close();/關(guān)閉檢測(cè)記錄數(shù)據(jù)源 DataModule1->AQ_Record->SQL->Clear();/清除SQL語(yǔ)句 DataModule1->AQ_Record->SQL->Add("SELECT * FROM Industry_Record WHERE "); /增加一條SQL語(yǔ)句,從檢測(cè)記錄表中提取數(shù)據(jù)記錄 DataModule1->AQ_Data->Close();/關(guān)閉檢測(cè)數(shù)據(jù)數(shù)據(jù)源 DataModule1->AQ_Data->SQL->Clear();/清除SQL語(yǔ)句 DataModule1->AQ_Data->SQL->Add("SELECT * FROM Industry_Record,Industry_Data WHERE Industry_Record.Record_SNumber=Industry_Data.Data_SNumber AND "); /增加一條SQL語(yǔ)句,從檢測(cè)記錄表、檢測(cè)數(shù)據(jù)表中提取數(shù)據(jù)記錄 /時(shí)間查詢 if(CB_Time->Checked) DataModule1->AQ_Record->SQL->Add(" Record_Date BETWEEN :timel1 AND :timel2"); DataModule1->AQ_Data->SQL->Add(" Record_Date BETWEEN :timer1 AND :timer2"); /timel1、2,timer1、2是在SQL語(yǔ)句中自定義的變量 if(RadioButton1->Checked) /當(dāng)天查詢 DataModule1->AQ_Record->Parameters->ParamByName("timel1")->Value= StrToDateTime(DateToStr(Now()+" 00:00:00"); DataModule1->AQ_Record->Parameters->ParamByName("timel2")->Value= StrToDateTime(DateToStr(Now()+" 23:59:59"); DataModule1->AQ_Data->Parameters->ParamByName("timer1")->Value= StrToDateTime(DateToStr(Now()+" 00:00:00"); DataModule1->AQ_Data->Parameters->ParamByName("timer2")->Value= StrToDateTime(DateToStr(Now()+" 23:59:59"); if(RadioButton2->Checked) /本周查詢 TDateTime *DT=new TDateTime(); *DT=Now(); int convert=0,6,0,1,2,3,4,5;/國(guó)內(nèi)外一周的起止不一樣 TDateTime Monday=DT->operator-(convertDT->DayOfWeek(); /DayofWeek()取得今天是一周內(nèi)的第幾天,再進(jìn)行當(dāng)前星期一的日期推算 DataModule1->AQ_Record->Parameters->ParamByName("timel1")->Value= StrToDateTime(DateToStr(Monday)+" 00:00:00"); DataModule1->AQ_Record->Parameters->ParamByName("timel2")->Value= StrToDateTime(DateToStr(Now()+" 23:59:59"); DataModule1->AQ_Data->Parameters->ParamByName("timer1")->Value= StrToDateTime(DateToStr(Monday)+" 00:00:00"); DataModule1->AQ_Data->Parameters->ParamByName("timer2")->Value= StrToDateTime(DateToStr(Now()+" 23:59:59"); if(RadioButton3->Checked) /本月查詢 unsigned short i,j,k; Now().DecodeDate(&i,&j,&k);/提取當(dāng)前的年月日,分別存入變量i,j,k DataModule1->AQ_Record->Parameters->ParamByName("timel1")->Value= StrToDateTime(IntToStr(i)+-+IntToStr(j)+"-01 00:00:00"); DataModule1->AQ_Record->Parameters->ParamByName("timel2")->Value= StrToDateTime(DateToStr(Now()+" 23:59:59"); DataModule1->AQ_Data->Parameters->ParamByName("timer1")->Value= StrToDateTime(IntToStr(i)+-+IntToStr(j)+"-01 00:00:00"); DataModule1->AQ_Data->Parameters->ParamByName("timer2")->Value= StrToDateTime(DateToStr(Now()+" 23:59:59"); /類型查詢 if(CB_Type->Checked) if(CB_Time->Checked) /如果前面已經(jīng)添加了時(shí)間查詢,則需要加AND條件同時(shí)成立運(yùn)算符 DataModule1->AQ_Record->SQL->Add(" AND "); DataModule1->AQ_Data->SQL->Add(" AND "); DataModule1->AQ_Record->SQL->Add(str1); DataModule1->AQ_Data->SQL->Add(str2); /功率查詢 if(CB_Power->Checked) if(CB_Time->Checked|CB_Type->Checked) /如果前面已經(jīng)添加了時(shí)間查詢或類型查詢,則需要加AND條件同時(shí)成立運(yùn)算符 DataModule1->AQ_Record->SQL->Add(" AND "); DataModule1->AQ_Data->SQL->Add(" AND "); DataModule1->AQ_Record->SQL->Add(str3); DataModule1->AQ_Data->SQL->Add(str4); /編號(hào)查詢 if(CB_Code->Checked) if(M_Code->Text.IsEmpty() /如果無(wú)編號(hào) Application->MessageBoxA("請(qǐng)輸入編號(hào)","查詢出錯(cuò)",MB_OK); M_Code->SetFocus();/焦點(diǎn)至編號(hào)輸入框 return; if(CB_Time->Checked|CB_Type->Checked|CB_Power->Checked) /如果前面已經(jīng)添加了其他查詢,則需要加AND條件同時(shí)成立運(yùn)算符 DataModule1->AQ_Record->SQL->Add(" AND "); DataModule1->AQ_Data->SQL->Add(" AND "); DataModule1->AQ_Record->SQL->Add("("); DataModule1->AQ_Data->SQL->Add("("); /可能包含多個(gè)編號(hào),需用括號(hào)括起來(lái) for(int i=0;i<M_Code->Lines->Count;i+) if(M_Code->Lines->Stringsi.IsEmpty()continue; DataModule1->AQ_Record->SQL->Add(Format("Record_SNumber=%s%s%s", ARRAYOFCONST("",M_Code->Lines->Stringsi,""); /利用format函數(shù)進(jìn)行參數(shù)賦值 DataModule1->AQ_Data->SQL->Add(Format("Data_SNumber=%s%s%s", ARRAYOFCONST("",M_Code->Lines->Stringsi,""); /利用format函數(shù)進(jìn)行參數(shù)賦值 if(i!=M_Code->Lines->Count-1) DataModule1->AQ_Record->SQL->Add(" OR "); DataModule1->AQ_Data->SQL->Add(" OR "); else DataModule1->AQ_Record->SQL->Add(" )"); DataModule1->AQ_Data->SQL->Add(" ) "); 圖15多編號(hào)查詢界面圖16 多編號(hào)查詢結(jié)果 /管數(shù)查詢 if(CB_Num->Checked) if(CB_Time->Checked|CB_Type->Checked|CB_Power->Checked|CB_Code->Checked) /如果前面已經(jīng)添加了其他查詢,則需要加AND條件同時(shí)成立運(yùn)算符 DataModule1->AQ_Record->SQL->Add(" AND "); DataModule1->AQ_Data->SQL->Add(" AND "); DataModule1->AQ_Record->SQL->Add(" Record_LNumber=:lightl1"); DataModule1->AQ_Record->Parameters->ParamByName("lightl1")->Value=E_Num->Text; DataModule1->AQ_Data->SQL->Add(" Record_LNumber=:lightr1"); DataModule1->AQ_Data->Parameters->ParamByName("lightr1")->Value=E_Num->Text; DataModule1->AQ_Record->Open();/執(zhí)行SQL語(yǔ)句,打開(kāi)檢測(cè)記錄表 DataModule1->AQ_Data->Open();/執(zhí)行SQL語(yǔ)句,打開(kāi)檢測(cè)數(shù)據(jù)表 Close();/關(guān)閉查詢窗口 DataModule1->AQ_RecordRecord_Date->DisplayFormat="yyyy-mm-dd" /定義檢測(cè)記錄表中檢測(cè)日期顯示格式 (TDateTimeField *)(DataModule1->AQ_Data->FieldByName("Record_Date")->DisplayFormat="yyyy-mm-dd" /定義檢測(cè)數(shù)據(jù)表中檢測(cè)日期顯示格式(2) 運(yùn)行結(jié)果分析:經(jīng)過(guò)實(shí)際操作發(fā)現(xiàn)各個(gè)功能均正常,并且各函數(shù)對(duì)應(yīng)的功能劃分比較清晰。5.2工位查詢(1)程序代碼void _fastcall TF_Main:M_LabNumberClick(TObject *Sender) /對(duì)指定工位的檢測(cè)裝置進(jìn)行數(shù)據(jù)獲取 F_LabNo->ShowModal();/打開(kāi)工位號(hào)輸入窗口? if(F_LabNo->ModalResult=mrOk) /如果窗體操作結(jié)果是用戶確定按鈕 /通過(guò)串口發(fā)送用戶所要獲取的指定工位的請(qǐng)求數(shù)據(jù) char buff4; buff0=0x02; buff1=0x70+F_LabNo->E_Num->Text.ToInt(); buff2=0x03; buff3=0x31; SendData(StrPas(buff); /在狀態(tài)欄顯示 RE_Mess->Lines->Add(F_LabNo->E_Num->Text+"號(hào)工位查詢請(qǐng)求已發(fā)送"); (2)運(yùn)行結(jié)果圖17 程序工位查詢界面圖18 工位號(hào)查詢結(jié)果6.數(shù)據(jù)表瀏覽模塊(1)程序代碼#include <vcl.h>#pragma hdrstop#include "Data.h"#include "DM.h"#include "Print.h"/-#pragma package(smart_init)#pragma resource "*.dfm"TF_Data *F_Data;/-_fastcall TF_Data:TF_Data(TComponent* Owner) : TForm(Owner)/-void _fastcall TF_Data:FormCreate(TObject *Sender) /窗體創(chuàng)建事件 DataModule1->DS_Data->Enabled=true; /檢測(cè)數(shù)據(jù)表使能 DataModule1->DS_Record->Enabled=true;/? /檢測(cè)記錄表使能/-void _fastcall TF_Data:BB_ConfirmClick(TObject *Sender) DataModule1->AQ_Record->Post();/遞交檢測(cè)記錄表數(shù)據(jù) ?/-void _fastcall TF_Data:BB_CancelClick(TObject *Sender) DataModule1->AQ_Record->Cancel();/取消檢測(cè)記錄表數(shù)據(jù)更新?/-void _fastcall TF_Data:BB_PrintClick(TObject *Sender)F_Print->QuickRep1->Preview() ;/顯示報(bào)表預(yù)覽?void _fastcall TF_Data:BB_QuitClick(TObject *Sender) F_Data->Close();/關(guān)閉檢測(cè)數(shù)據(jù)查看窗體 ?void _fastcall TF_Data:BitBtn1Click(TObject *Sender) DataModule1->AT_Data->Post() ;/遞交檢測(cè)數(shù)據(jù)表的數(shù)據(jù)更新?void _fastcall TF_Data:BitBtn2Click(TObject *Sender) DataModule1->AT_Data->Cancel();/取消檢測(cè)數(shù)據(jù)表的數(shù)據(jù)更新?void _fastcall TF_Data:BitBtn3Click(TObject *Sender) DataModule1->AT_Data->Append() ;/追加檢測(cè)數(shù)據(jù)表的數(shù)據(jù)?void _fastcall TF_Data:BitBtn4Click(TObject *Sender) DataModule1->AT_Data-> Delete();/刪除檢測(cè)數(shù)據(jù)表中的一條記錄 (2)運(yùn)行結(jié)果圖19 檢測(cè)數(shù)據(jù)查看界面7.數(shù)據(jù)修改模塊(1)程序代碼void _fastcall Ttcw:BitBtn3Click(TObject *Sender)/增加檢測(cè)記錄表中的一條記錄,數(shù)據(jù)輸入完后,點(diǎn)”提交“增加,點(diǎn)”取消“則不增加 DataModule1->AQ_Record->Append();/使檢測(cè)記錄表進(jìn)入追加記錄狀態(tài)void _fastcall Ttcw:BitBtn4Click(TObject *Sender)/刪除檢測(cè)記錄表中的一條記錄,需同時(shí)刪除檢測(cè)數(shù)據(jù)表中的對(duì)應(yīng)的記錄 int Record_No; DataModule1->AT_Data->Open(); Record_No=DataModule1->AQ_Data->RecordCount;/取得當(dāng)前檢測(cè)記錄表中的總記錄數(shù) DataModule1->AT_Data->Last();/設(shè)定當(dāng)前記錄為最后一條記錄 for(int i=0; i<Record_No ; i+) /刪除檢測(cè)數(shù)據(jù)表中指定編號(hào)的所有記錄 DataModule1->AT_Data->Delete(); DataModule1->AQ_Record->Delete() ;/刪除檢測(cè)記錄表中的一條記錄void _fastcall Ttcw:BitBtn1Click(TObject *Sender) DataModule1->AQ_Record->Post();/提交數(shù)據(jù)void _fastcall Ttcw:BitBtn2Click(TObject *Sender) DataModule1->AQ_Record->Cancel();/取消數(shù)據(jù)提交(2)運(yùn)行結(jié)果圖20 數(shù)據(jù)的更改圖21數(shù)據(jù)的刪除8.打印報(bào)表模塊(1)程序代碼#include <vcl.h>#pragma hdrstop#include "Print.h"#include "DM.h"/-#pragma package(smart_init)#pragma resource "*.dfm"TF_Print *F_Print;/-_fastcall TF_Print:TF_Print(TComponent* Owner) : TForm(Owner)/-(2)運(yùn)行結(jié)果:圖22打印報(bào)表運(yùn)行結(jié)果9.幫助模塊(1)程序代碼#include <vcl.h>#pragma hdrstop#include "help.h"#include "main.h"/-#pragma package(smart_init)#pragma resource "*.dfm"TF_help *F_help;/-_fastcall TF_help:TF_help(TComponent* Owner) : TForm(Owner)/-void _fastcall TF_help:Button1Click(TObject *Sender) Label2->Caption="版本1.0" ; (2)運(yùn)行結(jié)果圖23程序幫助界面1圖24程序幫助界面10.總結(jié)與體會(huì)這次測(cè)控系統(tǒng)軟件設(shè)計(jì)課程讓我花費(fèi)了非常多的時(shí)間:一方面是查閱各種相關(guān)的書(shū)籍資料,以此補(bǔ)充自己略顯單薄的理論知識(shí);另外一方面也是最重要的部分,就是理論結(jié)合實(shí)際,動(dòng)手編制軟件,這個(gè)過(guò)程尤其艱難。同時(shí),我也體會(huì)到了將理論知識(shí)運(yùn)用到實(shí)際是非常困難的,它需要考慮到多方面的因素,同時(shí)也會(huì)有對(duì)很多方面知識(shí)有一定把握的要求。所以,鑒于難度非常大,老師也降低了難度,將一部分代碼發(fā)給了我們,但是畢竟是第一次做這樣規(guī)模的軟件設(shè)計(jì),頓時(shí)感覺(jué)到很大的挑戰(zhàn)性。盡管如此,總部能因此而放棄,所以不論怎樣也會(huì)堅(jiān)持做完。在這個(gè)艱難制作的過(guò)程中認(rèn)識(shí)到了自己有很多的不足,在以后的學(xué)習(xí)生活中我要努力的學(xué)習(xí)新的知識(shí)并且盡量找機(jī)會(huì)去練習(xí),只有理論結(jié)合實(shí)踐的學(xué)習(xí)我們才能夠在以后的工作中得心應(yīng)手。另外,還有一點(diǎn)非常重要,這次的設(shè)計(jì)任務(wù)完成過(guò)程中碰到了許多疑惑,老師們非常耐心詳細(xì)的給我做了解答,在此我非常敬佩老師的敬業(yè)態(tài)度和細(xì)心的教導(dǎo)!11.參考文獻(xiàn)1. 鄭莉 董淵 何江舟.C+語(yǔ)言程序設(shè)計(jì)(第四版) . 清華大學(xué)出版社,2010年2. 譚浩強(qiáng).C+程序設(shè)計(jì).北京:清華大學(xué)出版社,2004年3. 陸衛(wèi)忠 劉文亮.C+Builder6程序設(shè)計(jì)教程(第二版).科學(xué)出版社,2009年4. 楊愛(ài)民.數(shù)據(jù)庫(kù)技術(shù)實(shí)踐教程.浙江大學(xué)出版社,2008年5. 埃克爾(作者) 劉忠田 袁兆山(譯者).C編程思想(兩卷合訂本)機(jī)械工業(yè)出版社,2005年28

注意事項(xiàng)

本文(武漢理工大學(xué)c課程設(shè)計(jì)報(bào)告書(shū))為本站會(huì)員(仙***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!