freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

高速公路收費系統(tǒng)設(shè)計與實現(xiàn)_畢業(yè)論文-閱讀頁

2025-04-23 00:18本頁面
  

【正文】 同步服務(wù)端服務(wù)程序接收時鐘同步客戶端服務(wù)程序定期(時間周期可設(shè)置)發(fā)出的請求,返回本機的當前時間信息給客戶端,以便客戶端根據(jù)此時鐘信息更新客戶端計算機的時鐘,達到統(tǒng)一時鐘的目的。該程序與部署在收費站服務(wù)器上的時鐘同步服務(wù)端是同一個程序,設(shè)置的參數(shù)也相同。通常,目的地包括路段中心的通信系統(tǒng)以及 收費站的監(jiān)控程序,以便這些報警信息得到相應(yīng)的處理。通常,目的地包括路段中心的通信系統(tǒng)以及收費站的監(jiān)控程 序,以便這些報警 信息得到相應(yīng)的處理 [15]。車道級數(shù)據(jù)庫為 LaneDB,主要包括 InList 等表。 車輛規(guī)格:綠色通道車、客車、貨車。 表 OutList 表 列名 數(shù)據(jù)類型 長度 說明 StationName varchar 50 收費站名 LaneNo int 4 車道編碼 VehCount varchar 50 車輛數(shù) VehPlate(PK) varchar 50 車牌 Direction int 4 方向 OutTime(PK) datetime 8 出站時間 VehStandard varchar 50 車輛規(guī)格 Money float 50 收費金額 【說明】 方向: 0 為入站 1 為出站。 表 Operator表 列名 數(shù)據(jù)類型 長度 說明 RoadNo char 10 路段編碼 StationNo smallint 2 站編碼 OperatorNo int 4 操作員編號 OperatorName varchar 50 操作員姓名 OpCardID char 16 操作員編號 OpCardNo(PK) int 4 操作員卡號 Password varchar 6 登陸密碼 AreaNo char 10 區(qū)域編碼 表 CardBlackList 表 畢業(yè)設(shè)計(論文) 第 23 頁 23 列名 數(shù)據(jù)類型 長度 說明 CardNo( PK) char 4 卡號 AreaNo sallint 2 區(qū)域編碼 OpTime datetime 8 失效時間 InValidTypeNo tinyint 1 失效原因 表 Price 表 列名 數(shù)據(jù)類型 長度 說明 InterStation varchar 50 區(qū)間 Miles int 4 里程 Standard varchar 50 規(guī)格 Rate float 8 費率 [2 噸以下 (含 2 噸 )的綠色通道車 ] int 4 車型 [2 噸以下 (含 2 噸 )的各 類貨車 ] int 4 車型 [2 噸以上至 5噸 (含 5噸 )的各類貨車 ] int 4 車型 [5 噸以上至 10 噸 (含10 噸 )的各類貨車 ] int 4 車型 [10噸以上至 15噸 (含15 噸 )的各類貨車 ] int 4 車型 [7 座以下 (含 7 座 )的客車 ] int 4 車型 [8 座至 9 座的客車 ] int 4 車型 [20座至 39座的客車 ] int 4 車型 [40 座 (含 40 座 )以上的客車 ] int 4 車型 表 PriceRate 表 列名 數(shù)據(jù)類型 長度 說明 Standard varchar 50 規(guī)格 FeeRate float 8 費率 3 基本理論知識及應(yīng)用 MFC,是一個微軟公司提供的類庫 (class libraries),以 C++類的形式封裝了 Windows的 API,并且包含一個應(yīng)用程序框架,以減少應(yīng)用程序開發(fā)人員的工作量。微軟計劃在 Windows Vista(代號 Longhorn)發(fā)布之后繼續(xù)在 MFC 中增加對 Windows Vista API,以及 Windows Presentation Framework (代 號 Avalon)的支持。 MFC 下的用戶界面編程 MFC 提供了強大豐富的控件 [1],控件關(guān)系如圖: 圖 MFC 控件關(guān)系圖 本設(shè)計主要采用了基于基本對話框的 MFC 模式。 1. 模 式對話框: 一個模式對話框是一個有系統(tǒng)菜單、標題欄、邊線等的彈出式窗口。即使沒有指定 WS_VISIBLE 風格,模式對話框也 會被顯示。 對話框過程 (Dialog box procedure)不是對話框窗口的窗口過程 (Window procedure)。 對話框窗口被創(chuàng)建之后, Windows 使得它成為一個激活的窗口,它保持激活直 到對話框過程調(diào)用 ::EndDialog 函數(shù)結(jié)束對話 框的運行或者 Windows 激活另一個應(yīng)用程序為止,在激活時,用戶或者應(yīng)用程序不可以激活它的所屬窗口( Owner window)。收到該消息后,應(yīng)用程序應(yīng)該終止鼠標捕獲 (Release the mouse capture)以便于用戶能把鼠標移到模式對話框;否則由于 Owner 窗口被禁止,程序?qū)⑹ナ髽溯斎搿?如果 Windows 收到一個非對話框消息時,則它把消息派發(fā)給適當?shù)拇翱谔幚?;如果收到?WM_QUIT 消息,則把該消息放回應(yīng)用程序的消息隊列里,這樣應(yīng)用程序的主消息循環(huán)最終能處理這個消息。在創(chuàng)建對話框模板時指定 WS_POPUP、 WS_CAPTION、 WS_BORDER 和 WS_SYSMENU 風格。 一個無模式對話框既不會禁止所屬窗口,也不會給它發(fā)送消息。如果對話框失去激活,那么即使所屬窗口是活動的,在 Z 軸順序上,它仍然在所屬窗口之上。大部分應(yīng)用程序使用主消息循環(huán)來處理,但是為了用戶可以使用鍵盤在控制窗口之間移動或者選擇控制窗口,應(yīng)用程序應(yīng)該調(diào)用 ::IsDialogMessage 函數(shù)。例如,當 Tab 鍵被壓下時,下一個或下一組控制被選中,當 Down Arrow 畢業(yè)設(shè)計(論文) 第 26 頁 26 鍵按下后,一組控制中的下一個控制被選擇。 一個無模式對話框不能像模式對話框那樣返回一個值給應(yīng)用程序。 在應(yīng)用程序結(jié)束之前,它必須銷毀所有的無模式對話框。一般來說,對話框過程響應(yīng)用戶輸入,如用戶選擇了 “取消 ”按鈕,則調(diào)用 ::DestroyWindow;如果用戶沒有有關(guān)動作,則應(yīng)用程序必須調(diào)用 ::DestroyWindow。進程從來不執(zhí)行任何東西,它只是線程的容器。 單個進程可能包含若干個線程,這些線程都 “同時 ”執(zhí)行進程地址空間中的代碼。當創(chuàng)建一個進程時,操作系統(tǒng)會自動創(chuàng)建這個進程的第一個線程,稱為主線程。 線程由兩個部分組成: 1. 線程的內(nèi)核對象,操作系統(tǒng)用它來對線程實施管理。 當創(chuàng)建線程時,系統(tǒng)創(chuàng)建一個線程內(nèi)核對象??梢詫⒕€程內(nèi)核對象視為由關(guān)于線程的統(tǒng)計信息組成的一個小型數(shù)據(jù)結(jié)構(gòu)。系統(tǒng)從進程的地址空間中分配內(nèi)存,供線程的堆棧使用。因此,新線程可以訪問進程的內(nèi)核對象的所有句柄、進程中的所有內(nèi)存和在這個相同的進程中的所有其他線程的堆棧。 畢業(yè)設(shè)計(論文) 第 27 頁 27 線程只有一個內(nèi)核對象和一個堆棧,保留的記錄很少,因此所需要的內(nèi)存也很少。 操作系統(tǒng)為每一個運行線程安排一定的 CPU 時間 —— 時間片。 MFC 中 用 啟 動 線 程 的 函 數(shù) 主 要 有 CWinThread * AfxBeginThread (AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL )。 Windows Sockets 在繼承了Berkeley Sockets 主要特征的基礎(chǔ)上,又對它進行了重要擴充。 套接字分為以下兩種類型 : 1. 流式套接字( SOCK_STREAM) 提供面向連接、可靠的數(shù)據(jù)傳輸服務(wù),數(shù)據(jù)無差錯、無重復(fù)的發(fā)送,且按發(fā)送順序接收。 4. 原始套接字( SOCK_RAW)。 傳輸控制協(xié)議 TCP 是 TCP/IP 協(xié)議棧中的傳輸層協(xié)議,與 IP 協(xié)議相結(jié)合, TCP 組 畢業(yè)設(shè)計(論文) 第 28 頁 28 成了因特網(wǎng)協(xié)議的核心。即使在 Inter 暫時出現(xiàn)堵塞的情況下, TCP也能夠保證通信的可靠。 TCP 協(xié)議具有自動調(diào)整 超時值 的功能,能很好地適應(yīng) Inter 上各種各樣的變化,確保傳輸數(shù)值的正確。如果數(shù)據(jù)在從發(fā)送方到接收方的傳遞過程中出現(xiàn)丟失,協(xié)議并不會做出任何檢測或者提示。 因此,從上面我們可以了解到: IP 協(xié)議只保證計算機能發(fā)送和接收分組數(shù)據(jù),而TCP 協(xié)議則可提供一個可靠的、可流控的、全雙工的信息流傳輸服務(wù)。由于 TCP 提供可靠的數(shù)據(jù)傳輸,支持雙工工作,所以本系統(tǒng)采用 TCP 協(xié)議。 MFC 下基于 ADO 的數(shù)據(jù)庫操作 ODBC(Open Database Connectivity),開放數(shù)據(jù)庫互連。ODBC 提供一個單一的 API,可用于處理不同數(shù)據(jù)庫的客戶應(yīng)用程序。 DAO(Data Access Object),數(shù)據(jù)訪問對象。 DAO 不像 ODBC 那樣是面向 C/C++程序員的,它是微軟提供給 Visual Basic 開發(fā)人員的 一種簡單的數(shù)據(jù)訪問方法,用于操縱 Access 數(shù)據(jù)庫。由于 RDO 直接調(diào)用 ODBC API(而不是像 DAO 那樣通過 Jet 引擎 ),所以,可以為使用關(guān)系數(shù)據(jù)庫的應(yīng)用程序提供更好的性能。 OLE DB 在兩個方面對 ODBC 進行了擴展。 OLEDB的兩個基本結(jié)構(gòu)是 OLEDB提供程 序 (Provider)和 OLE DB 用戶程序 (Consumer)。 ADO 是一個 OLE DB 用戶程序。 ADO 簡化了OLE DB,提供了對自動化的 支持,使得像 VBScript 這樣的腳本語言也能夠使用 ADO訪問數(shù)據(jù)庫。Recordset 和 Command 對象都有一個 ActiveConnection屬性,該屬性用來引用 Connection對象。 3. Recordset 對象 Recordset 對象被用來獲取數(shù)據(jù)。每一列都存放在 Recordset 的 Fields 集合中的一個Field 對象中。 開發(fā)平臺: Microsoft Visual C++ 。 輔助開發(fā)工具: Rational Rose, Microsoft Office 2021, SQLSERVER2021。 通過 SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0) 初始化套接字,通過=htons(80), bind(sockSrv,(SOCKADDR*)amp。 然后通過 SOCKET sockConn = accept(sockSrv, (SOCKADDR*)amp。len)循環(huán)監(jiān)聽端口 80 等待信息到來。addrSrv,sizeof(SOCKADDR))與服務(wù)器連接,當管理員點擊確定按鈕后,刷卡模塊將車輛信息以特殊字符串形式傳遞到服務(wù)器端,即將每個有效信息用特殊字符隔開,將格式 畢業(yè)設(shè)計(論文) 第 40 頁 40 化后的字符串傳送到服務(wù)器端。 由于線程不能調(diào)用非靜態(tài)的 數(shù)據(jù)成員和成員函數(shù) ,所以在服務(wù)器接收到字符串后 同時通過 CCardScanDemoSerApp*s=(CCardScanDemoSerApp*) AfxGetApp() 獲得一個CCardScanDemoSerApp 的實例,由于在整個工程中只生成一個該類的實例,所以用來存儲真?zhèn)€系統(tǒng)運行期間的全局變量。//車輛規(guī)格 bool blogon。//員工姓名 int OperatorNo。//車類 CString cardid。//車道編碼 CString stationname。//出站名 int carnum。//車牌 int direction。 2. 數(shù)據(jù)庫信息傳遞 在 InList 數(shù)據(jù)庫中 flag 字段用來標識該條數(shù)據(jù)是否 已經(jīng)上傳到站級數(shù)據(jù)庫,未傳遞為 0,已傳遞為 1。傳遞的字符串用特殊字符標識并在站級數(shù)據(jù)庫 利用 Find() 函數(shù) 解析 字符串 驗證錄入數(shù)據(jù)庫 (與刷卡模塊數(shù)據(jù)傳遞相似) 。 在刷 畢業(yè)設(shè)計(論文) 第 41 頁 41 卡過程中,如果選擇出站,則 根據(jù)通行卡號調(diào)用 GetInStationName(CString cardid)從 InList表中得到入站名。然后調(diào)用 GetTotalFee(CString intstationname , CString outstationname ,CString standard)得到費用并顯示在對話框中。 如果在 InList 表中沒有該車信息則該車為創(chuàng)關(guān)車, 此時自動 報警 。 hbmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),m_picpath,IMAGE_BITMAP,0,0, LR_LOADFROMFILE) 加 載 汽 車 牌 照 位 圖
點擊復(fù)制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1