【正文】
hose city the God isrestoring and resettlingno one, that is, of the 5040 families,shall bee a retail trader either voluntarily or involuntarily。 and if all such occupations were managed onincorrupt principles, they would be honoured as we honour a motheror a nurse. But now that a man goes to desert places and builds b ouseswhich can only be reached be long journeys, for the sa ke of retailtrade, and receives strangers who are in need at the welerestingplace, and gives them peace and calm when they are tossed bythe storm, or cool shade in the heat。 for is not he a benefactor who reduces the inequalitiesand inmensurabilities of goods to equality and mon measure?And this is what the power of money acplishes, and the merchant maybe said to be appointed for this purpose. The hireling and thetavernkeeper, and many other occupations, some of them more andothers less seemly alike have this object。 除非另有科研合同和其他法律文書(shū)的制約,本論文的科研成果屬于成都信息工程學(xué)院。 ( 2)學(xué)??梢圆捎糜坝?、縮印或其他復(fù)制方式保存學(xué)位論文。在此向他表示我最衷心的感謝! 在論文完成過(guò)程中,本人還得到了其他老師和一些同學(xué)的熱心幫助,本人向他們表示深深的謝意! 最后向在百忙之中評(píng)審本文的各位專家、老師表示衷心的感謝! 作者簡(jiǎn)介 姓 名:魏鍵 性別: 男 出生年月: 1984 年 3 月 13 日 民族: 漢 Email: 聲 明 本論文的工作是 2021年 2月至 2021年 6月 在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。 [5] 鄭宇軍 .C 程序設(shè)計(jì)教程 [M].北京 : 清華大學(xué)出版社 , 2021。 參考文獻(xiàn) [1] Karli Watson,Christian 入門經(jīng)典 (第 3版 )[M].齊立波譯 .北京: 清華大學(xué)出版社 , 2021。學(xué)習(xí)如何利用網(wǎng)絡(luò)尋找解決問(wèn)題的方法,這種方法在今后的工作和學(xué)習(xí)生活中能讓事情變得事半功倍。 結(jié) 論 本次畢業(yè)設(shè)計(jì)完成了預(yù)定任務(wù),包括用戶登錄、用戶注冊(cè)、日歷、日志記錄、日志提醒、節(jié)假日設(shè)置等功能。 Unicode 是一種字符編碼方法,由國(guó)際組織設(shè)計(jì),可以容納全世界所有語(yǔ)言文字的編碼方案。 日志信息的安全性 用戶的日志信息在數(shù)據(jù)庫(kù)中采用 Unicode 編碼進(jìn)行儲(chǔ)存。 所以,該系統(tǒng)將用戶的密碼進(jìn)行 MD5 加密后再存入數(shù)據(jù)庫(kù)中。后將該模塊加入 Unicode 解碼代碼,將日志信息進(jìn)行解碼后就能正常輸出了。測(cè)試結(jié)果為日志提醒模塊只會(huì)提示當(dāng)前 登錄 用戶的日志信息,而不會(huì)提示其他用戶的。經(jīng)測(cè)試,系統(tǒng)實(shí)際的處理順序完全符合設(shè)計(jì),如圖 54 和圖 54。所以,在顯示 DataGridView 信息的代碼中加入了 AllowUserToAddRows = false,就不會(huì)在DataGridView 加上系統(tǒng)自動(dòng)生成的空行了。 在對(duì)此模塊進(jìn)行設(shè)計(jì)時(shí),一開(kāi)始在顯示用戶信息的 DataGridView 中,系統(tǒng)會(huì)自動(dòng)添加一行空行。 圖 53 用戶名不得重復(fù)注冊(cè) 圖 54 非管理員不得刪除用戶資料 在用戶注冊(cè)模塊中,對(duì)注冊(cè)時(shí)的資料輸入 進(jìn)行條件判斷,并提示出錯(cuò)誤信息,圖 53 所示。 一開(kāi)始設(shè)計(jì)時(shí)忘記了密碼在數(shù)據(jù)庫(kù)中 是采用 MD5 加密后儲(chǔ)存的,當(dāng)測(cè)試驗(yàn)證 登錄 密碼時(shí)沒(méi)有采用 MD5 加密就直接進(jìn)行比較,導(dǎo)致一直 登錄 不上去。 以下為部分測(cè)試截圖以及簡(jiǎn)要說(shuō)明: 圖 51 密碼錯(cuò)誤提示信息 在 登錄 模塊中,隨機(jī)輸入幾組用戶名和密碼進(jìn)行測(cè)試。CPU: AMD 2500+ ,內(nèi)存: DDR2 512M, SQL SERVER 2021,WIN2021/XP,2021 下均測(cè)試通過(guò) .建議用戶 CPU PIII,內(nèi)存 256M 及以上,數(shù)據(jù)庫(kù)版本 SQL SERVER 2021, WIN2021PRO/XP, 2021, WIN2021 SERVER 及 以上軟硬件平臺(tái)使用。 //重新顯示數(shù)據(jù)庫(kù)內(nèi)的節(jié)假日信息 GetJinfo()。 if (().Length = 2) { //設(shè)置數(shù)據(jù)庫(kù)添加記錄 sql 語(yǔ)句 string sql = insert into JInfo values(39。當(dāng)點(diǎn)擊 “ 刪除 ” 按鈕時(shí),系統(tǒng)按照用戶選擇的節(jié)假日信息的編號(hào) JID 來(lái)從數(shù)據(jù)庫(kù)中刪除該條節(jié)假日信息。 ()。 and UserNumber=(select UserNumber from UserLogin where UserName=39。當(dāng)用戶點(diǎn)擊 “ 刪除 ” 按鈕時(shí),系 統(tǒng)從 MsgInfo 表中刪除該條日志信息。 if (刪除成功 ) { (日志刪除成功?。?)。 } 返回 decode。 // Unicode 解碼,用于將數(shù)據(jù)庫(kù)內(nèi)的日志信息正常顯示在 Datagridview 中,與編碼過(guò)程相反 設(shè)置字符串型 decode 存放解碼后的字符串 。 將字符串 code 按字節(jié)進(jìn)行編碼,并存放在數(shù)組中 。為保護(hù)用戶的日志信息, MsgInfo 表 MsgInfoText字段的內(nèi)容采用 Unicode 編碼后儲(chǔ)存,從數(shù)據(jù)庫(kù)中讀出時(shí)采用 Unicode 解碼后顯示。 while (是否有該條記錄 == true) { 日歷主窗體的文本框文本 = 今天是: +當(dāng)天節(jié)假日名稱 。 顯示日志提醒窗體 。 if (是否有模式地顯示窗體 != true) { 顯示窗體的文本信息 = 采用 Unicode 解碼后的 msg。 // 當(dāng)當(dāng)前系統(tǒng)時(shí)間到達(dá)用戶設(shè)置的日志響應(yīng)時(shí)間時(shí)的事件處理偽代碼 聲明一個(gè)空字符串 msg。 當(dāng)用戶點(diǎn)擊 “ 用戶信息 ” 按鈕時(shí),直接打開(kāi)用戶注冊(cè)界面。 圖 44 日歷主界面 當(dāng)用戶點(diǎn)擊 “ 節(jié)日設(shè)置 ” 按鈕或 “ 日志記錄 ” 按鈕時(shí),先判斷 username 是否為空。 將新用戶信息插入到 UserLogin 表中,并為該用戶分配一個(gè)編號(hào) 。amp。amp。 } return pwd。 // 通過(guò)使用循環(huán),將字節(jié)類型的數(shù)組 轉(zhuǎn)換為字符串,此字符串是常規(guī)字符格式化所得 for (int i = 0。 以下為部分代碼和 偽代碼: // MD5 32 位加密代碼 static string UserMd5(string str) { string cl = str。 資料修改時(shí)根據(jù)選中的用戶 UserNumber 修改用戶信息,未注冊(cè)用戶不能修改用戶信息,注冊(cè)用戶只能修改自己的信息,管理員可以修改所有用戶信息。需要判斷用戶名是否合法,用戶名是否重復(fù),兩輸入密碼是否大于 6 位并相同,是否已選擇年齡。 清除 登錄 密碼框內(nèi)的字符并設(shè)置為焦點(diǎn) 。 關(guān)閉 登錄 界面并釋放資源 。如是無(wú)效用戶則顯示“ 登錄失敗 ” 消息框,并提示重新輸入用戶名和密碼。 JInfo(節(jié)假日信息表 )相對(duì)其他三張表獨(dú)立,沒(méi)有關(guān)聯(lián)關(guān)系。該表分為 6 個(gè)字段,其中 UserNumber 作為外鍵與 UserLogin 表相關(guān)聯(lián),各字段的屬性和作用 如表 42 表 42:用戶基本信息表 MsgInfo—— 用戶日志信息表用于 儲(chǔ)存 各 用戶設(shè)置的日志信息,以及系統(tǒng)自動(dòng)提醒用戶的時(shí)間。下圖為系統(tǒng)功能結(jié)構(gòu)示意圖: 圖 41 用戶功能示意圖 如圖 41 所示,按登錄與否可分為登錄用戶和未登錄用戶,其中登錄用戶又可分為管理員和普通用戶,各類別的用戶擁有對(duì)該系統(tǒng)中各功能的訪問(wèn)使用權(quán)限。為保護(hù)用戶信息,各用戶密碼和每日行程不能在數(shù)據(jù)庫(kù)中以明文顯示。 但是管理員不能查看其他注冊(cè)用戶的 登錄 密碼和日志信息,因?yàn)槊艽a在數(shù)據(jù)庫(kù)里是采用的 MD5 加密,而日志信息也采用了 Unicode 編碼技術(shù),在一定程度上保護(hù)了其他注冊(cè)用戶的權(quán)益。當(dāng)點(diǎn)擊 “ 刪除 ” 或選擇其他用戶后點(diǎn)擊 “ 修改 ” 按鈕,有錯(cuò)誤信息提示。 未 登錄 用戶在日歷主界面或 登錄 界面上點(diǎn)擊 “ 用戶信息 ” 可以進(jìn)入用戶注冊(cè)界面 ,在用戶注冊(cè)界面可以實(shí)現(xiàn)用戶的注冊(cè),可以查看其他已注冊(cè)用戶的基本信息,可以對(duì)某用戶名進(jìn)行查找,但是不能刪除其他用戶或修改其他用戶的個(gè)人信息,當(dāng)點(diǎn)擊 “ 刪除 ” 或 “ 修改 ” 按鈕后有錯(cuò)誤信息提示。 未 登錄 用戶只能查看日歷主界面和注冊(cè)模塊, 登錄 用戶可以使用除刪除用戶和修改其他用戶以外功能,管理員可以使用該桌面日歷所有功能。另外, 用戶可以使用 Web 瀏覽器查詢存儲(chǔ)在 SQL Server 2021 數(shù)據(jù)庫(kù)中的數(shù)據(jù),且 分布式查詢使得我們可以引用來(lái)自不同數(shù)據(jù)源的數(shù)據(jù)。 雖然絕大多數(shù)的數(shù)據(jù)庫(kù)系統(tǒng)使用 SQL,但是它們同樣有它們自立另外的專有擴(kuò)展功能用于它們的系統(tǒng)。 最早的是 IBM 的圣約瑟研究實(shí)驗(yàn)室為其關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) System R 開(kāi)發(fā)的一種查詢語(yǔ)言,它的前身是 Square 語(yǔ)言,其后由 IBM 公司 1981 年推出。實(shí)際上這兩種語(yǔ)言都不 是不可替代的,理智的說(shuō),對(duì)軟件開(kāi)發(fā)商而言,什么 工具 用的最熟 ,那 就是最好的工具。所以在近期, C 會(huì)主要在服務(wù)器上得到應(yīng)用。 事實(shí)上, C將是完全依靠 Windows 的 最完美產(chǎn)物。 C語(yǔ)言將在保持 C/C++靈活性的基礎(chǔ)上為程序員帶來(lái)更高效的 RAD 開(kāi)發(fā)方GUI 界面 數(shù)據(jù)處理 數(shù)據(jù)處理 數(shù)據(jù)存儲(chǔ) 式。 C是由微軟開(kāi)發(fā)的一種全新的、面向?qū)ο蟮木幊陶Z(yǔ)言,作為 Visual Studio中的一部分推出。 CLIENT SERVER 圖 11 C/S 結(jié)構(gòu)示意圖 Visual Studio 2021 C C的介紹 在過(guò)去的二十年里, C 和 C++已經(jīng)成為在商業(yè)軟件的開(kāi)發(fā)領(lǐng)域中使用最廣泛的語(yǔ)言。下面簡(jiǎn)單介紹下: C/S 模式 C/S 全名為 Client/Server 應(yīng)用體系,又稱客戶端 /服務(wù)器模式。過(guò)去的革命最高成就就是 “用機(jī)器制造機(jī)器 ”,是手的延長(zhǎng),而計(jì)算機(jī)的出現(xiàn)卻能做到 “用機(jī)器控制機(jī)器 ”,是腦的延伸 , 是提高生產(chǎn)效率的主要工具 。 2,介紹該系統(tǒng)的前期設(shè)計(jì)過(guò)程。 2,日志行程的自動(dòng)提醒,該系統(tǒng)能根據(jù)用戶自己設(shè)置的行程提醒時(shí)間來(lái)提醒用戶,時(shí)差是以毫秒級(jí)計(jì)算,非常之精確??傊瑐鹘y(tǒng)的日歷和記事本都不能對(duì)使用者的時(shí)間進(jìn)行系統(tǒng)化的規(guī)劃。并簡(jiǎn)要介紹了系統(tǒng)開(kāi)發(fā)采用的過(guò)程及方法。本設(shè)計(jì)主要采用 C+SQL 的 C/S 設(shè)計(jì)模式,來(lái)實(shí)現(xiàn)不同用戶的 登錄、日程編輯、日程 提醒、日期查詢、節(jié)假日 管理 等工作。 畢業(yè)設(shè)計(jì) ( 論文 ) 桌面日歷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 論文作者姓名: 申請(qǐng)學(xué)位專業(yè): 申請(qǐng)學(xué)位類別: 指導(dǎo)教師姓名(職稱): 論文提交日期: 桌面日歷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 摘 要 自上個(gè)世紀(jì)以來(lái),隨著電腦的逐漸普及,人們的工作和生活越來(lái)越方便和快捷,也使越來(lái)越多的人依賴于電腦辦公。 本設(shè)計(jì)就是針對(duì)當(dāng)前網(wǎng)絡(luò)上眾多的桌面日歷,綜合其各項(xiàng)基本功能來(lái)開(kāi)發(fā)一套屬于自己的個(gè)性化日歷日志系統(tǒng)。 本文詳細(xì)地介紹了該日歷日程 系統(tǒng)的功能需求、系統(tǒng)設(shè)計(jì)和具體實(shí)現(xiàn) 。而傳統(tǒng)的日歷和日程記事本逐漸顯現(xiàn)出在當(dāng)今時(shí)代的不足和局限性,比如傳統(tǒng)日歷或記事本一般 為紙制品,加大了對(duì)森林資源的需求,與當(dāng)今提倡綠色環(huán)保的思想相背;傳統(tǒng)記事本不方便攜帶、記錄和修改;一般不帶有日歷,即使有也僅僅局限于某一年的日歷,不方便使用者查詢?nèi)掌?;使用日歷和記事本當(dāng)查詢某天的日程信息的時(shí)候非常煩瑣,而且對(duì)該天前后的日程信息也很不好把握;沒(méi)有自動(dòng)提醒功能