• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于C#語(yǔ)言編寫(xiě)自動(dòng)備份程序

    2018-11-20 11:54:16柏建明梁軍裴偉
    現(xiàn)代計(jì)算機(jī) 2018年30期
    關(guān)鍵詞:窗體文件夾備份

    柏建明,梁軍,裴偉

    (中色(寧夏)東方集團(tuán)有限公司,石嘴山753000)

    0 引言

    任務(wù)計(jì)劃程序是Windows系統(tǒng)的一個(gè)工具,可以定時(shí)執(zhí)行用戶指定的程序。如果想在自己開(kāi)發(fā)的軟件中直接加上任務(wù)計(jì)劃功能,該如何實(shí)現(xiàn)呢。本文使用C#語(yǔ)言,編寫(xiě)一個(gè)任務(wù)計(jì)劃程序,讓程序在系統(tǒng)托盤(pán)后臺(tái)定時(shí)執(zhí)行文件或數(shù)據(jù)庫(kù)的備份作業(yè)。程序運(yùn)行初始,用戶將備份時(shí)間、備份內(nèi)容、存儲(chǔ)目標(biāo)、保存周期幾個(gè)參數(shù)設(shè)定好并保存,程序最小化到系統(tǒng)托盤(pán)定時(shí)執(zhí)行指定的備份作業(yè)。在用戶指定的時(shí)間點(diǎn)自動(dòng)備份用戶數(shù)據(jù)到指定的存儲(chǔ)空間,并檢索是否有備份數(shù)據(jù)超過(guò)保存期限,如果過(guò)期了就刪除,確保存儲(chǔ)空間足夠。

    1 程序的窗體設(shè)計(jì)

    選擇“Windows窗體應(yīng)用程序”創(chuàng)建項(xiàng)目,添加一個(gè)主窗體(frmMain,圖 1),并添加托盤(pán)圖標(biāo)控件“notify?icon”和一個(gè)同托盤(pán)圖標(biāo)相關(guān)聯(lián)的右鍵菜單控件“con?textMenuStrip”。右鍵菜單設(shè)置“打開(kāi)窗口”、“關(guān)閉窗口”、“退出程序”三個(gè)菜單,由此用戶可以在系統(tǒng)托盤(pán)里操作程序主界面。

    再添加一個(gè)參數(shù)設(shè)定窗體(frmPrarameter,圖2),作為軟件初始化運(yùn)行時(shí)用戶對(duì)執(zhí)行時(shí)間、備份內(nèi)容、存儲(chǔ)目標(biāo)、保存周期幾個(gè)參數(shù)進(jìn)行設(shè)定的用戶界面。在項(xiàng)目中添加一個(gè)以“.settings”為后綴的“設(shè)置文件”,將參數(shù)設(shè)定窗體中的參數(shù)類型和命名管理交給這個(gè)設(shè)置文件,由這個(gè)文件對(duì)這些參數(shù)進(jìn)行設(shè)置和定義。程序運(yùn)行時(shí),實(shí)際的用戶參數(shù)將保存在一個(gè)運(yùn)行目錄中。

    圖1 主窗體

    2 程序的關(guān)鍵代碼

    2.1 程序在系統(tǒng)托盤(pán)的行為控制

    主窗體最小化到系統(tǒng)托盤(pán)(點(diǎn)擊主窗體的“關(guān)閉窗口”按鈕):

    系統(tǒng)托盤(pán)里的本程序圖標(biāo)對(duì)鼠標(biāo)的左右鍵單擊反應(yīng):

    系統(tǒng)托盤(pán)里的本程序圖標(biāo)的菜單功能(對(duì)控件“contextMenuStrip”的“打開(kāi)窗口”、“關(guān)閉窗口”、“退出程序”菜單添加單擊代碼,這里僅列出“打開(kāi)窗口”的代碼):

    2.2 參數(shù)設(shè)定以及界面刷新

    用戶設(shè)定參數(shù)后,保存在運(yùn)行目錄的“AppSettings.settings”文件中,程序下次運(yùn)行后,將首先讀取上次保存的參數(shù)并在參數(shù)窗口顯示。

    為了保證參數(shù)窗體在關(guān)閉后將設(shè)置好的參數(shù)傳給主窗體,并將主窗體的提示信息刷新,采用事件委托方法來(lái)處理這一過(guò)程。參數(shù)設(shè)定窗體中定義一個(gè)委托事件,當(dāng)參數(shù)設(shè)定窗體中的參數(shù)設(shè)置并保存后,通知主窗體刷新當(dāng)前備份信息。

    在參數(shù)設(shè)定窗體關(guān)閉事件中調(diào)用此委托事件,并且將主窗體顯示出來(lái),

    當(dāng)在主窗體中打開(kāi)參數(shù)設(shè)定窗體時(shí),訂閱此委托事件,并將一個(gè)刷新方法(RefreshControl)傳遞過(guò)去,方法RefreshControl在設(shè)定參數(shù)改變后刷新主窗體的提示信息。

    2.3 程序的任務(wù)計(jì)劃功能

    為了讓程序定時(shí)執(zhí)行,引用系統(tǒng)時(shí)鐘類作為定時(shí)器,按一定的時(shí)間間隔查看是否符合備份作業(yè)的設(shè)定時(shí)間,并在窗體構(gòu)造函數(shù)中執(zhí)行這一線程。

    2.4 程序的備份功能

    備份的內(nèi)容分為多個(gè)文件、文件夾、數(shù)據(jù)庫(kù)(SQL Server、Oracle、MySQL),需要在程序的參數(shù)界面事先設(shè)定備份的源路徑(文件和文件夾)、數(shù)據(jù)庫(kù)類型和用戶信息、備份的目標(biāo)路徑(可以是本機(jī)、非本機(jī)共享目錄、SAN磁盤(pán))、備份數(shù)據(jù)保存周期。

    開(kāi)始備份前,檢查是否存在指定的目標(biāo)路徑,不存在就新建;檢查是否存在過(guò)期備份文件,有過(guò)期文件就刪除。對(duì)于備份的文件夾而言,檢索并刪除過(guò)期文件夾的語(yǔ)句稍有不同,此處省略。

    所有備份的文件、文件夾、數(shù)據(jù)庫(kù)在目標(biāo)路徑中重新命名,命名規(guī)則:原文件名(或原文件夾名、或原數(shù)據(jù)庫(kù)名)+備份日期。以下僅列出SQL Server數(shù)據(jù)庫(kù)的備份代碼:

    3 結(jié)語(yǔ)

    本方法將用戶設(shè)定的備份參數(shù)獨(dú)立出來(lái),作為一個(gè)單獨(dú)的配置文件由主體程序在執(zhí)行時(shí)讀取,提高了程序的靈活性和通用性。在程序中集成任務(wù)計(jì)劃功能,以系統(tǒng)托盤(pán)控制的方式運(yùn)行,使得程序操作簡(jiǎn)潔且安全??梢詫?shí)現(xiàn)對(duì)多個(gè)文件、文件夾、數(shù)據(jù)庫(kù)(SQL Server、Oracle、MySQL)進(jìn)行定時(shí)自動(dòng)備份功能。程序中以當(dāng)前時(shí)間作為備份保存周期的日期上限,倒推出備份保存周期的日期下限,刪除過(guò)期備份數(shù)據(jù)并備份新的數(shù)據(jù),確保備份數(shù)據(jù)留存一定的周期并使存儲(chǔ)空間足夠。這是系統(tǒng)管理員進(jìn)行備份管理工作的一個(gè)很好工具,很適合一般中小企業(yè)數(shù)據(jù)中心使用。

    猜你喜歡
    窗體文件夾備份
    磁力文件夾
    “備份”25年:鄧清明圓夢(mèng)
    試談Access 2007數(shù)據(jù)庫(kù)在林業(yè)檔案管理中的應(yīng)用
    檔案天地(2019年5期)2019-06-12 05:12:02
    調(diào)動(dòng)右鍵 解決文件夾管理三大難題
    淺析數(shù)據(jù)的備份策略
    科技視界(2015年6期)2015-08-15 00:54:11
    TC一鍵直達(dá)常用文件夾
    電腦迷(2015年1期)2015-04-29 21:24:13
    基于LayeredWindow的異形窗體局部刷新
    中文信息(2014年2期)2014-03-06 23:49:14
    出版原圖數(shù)據(jù)庫(kù)遷移與備份恢復(fù)
    巧設(shè)WPS窗體控件讓表格填寫(xiě)更規(guī)范
    WinCE.net下圖形用戶界面的開(kāi)發(fā)
    邵东县| 甘南县| 甘谷县| 集安市| 安阳县| 军事| 东光县| 上栗县| 岳阳县| 特克斯县| 环江| 苍梧县| 秦皇岛市| 肇州县| 池州市| 舞阳县| 雷波县| 松阳县| 嘉荫县| 岚皋县| 射洪县| 武隆县| 鄄城县| 彩票| 揭西县| 封开县| 余庆县| 吉水县| 大同县| 黄陵县| 禹城市| 绍兴市| 陕西省| 凤翔县| 都兰县| 合作市| 孝感市| 宝应县| 咸阳市| 呈贡县| 尚义县|