1 引言
社會(huì)不斷發(fā)展進(jìn)步,人們對(duì)天氣形式的變化越來越關(guān)心,越來越重視。這樣的背景下就需要市氣象局向電臺(tái)、電視臺(tái)、報(bào)紙等各媒體發(fā)布天氣預(yù)報(bào),同時(shí)向省氣象局上傳電視報(bào)、手機(jī)短信等內(nèi)容,其中大部分內(nèi)容要求在特定的時(shí)段內(nèi)完成,這不僅使得預(yù)報(bào)員的工作任務(wù)大大增加,也因工作時(shí)間太松散而容易導(dǎo)致錯(cuò)誤的發(fā)生。這篇論文介紹的就是用易語言編寫的預(yù)報(bào)綜合服務(wù)軟件,該軟件主要是通過網(wǎng)絡(luò)定時(shí)向省局和互聯(lián)網(wǎng)上傳各種規(guī)定時(shí)段內(nèi)的發(fā)送任務(wù)。
2 易語言簡(jiǎn)介
易語言是一種自主開發(fā),適合不同層次不同專業(yè)人員的易學(xué)易用的全中文的編程語言。易語言還是一個(gè)適合國情,支持漢字編程的、全可視化的、跨主流操作系統(tǒng)平臺(tái)的編程工具軟件。它能與常用的編程語言互相調(diào)用,具有充分利用API、COM、DLL、OCX組件,各種主流數(shù)據(jù)庫,各種實(shí)用程序等多種資源的接口和支撐工具。易語言有自主開發(fā)的高質(zhì)量編譯器,中文源代碼被直接編譯為CPU指令,運(yùn)行效率高,安全可信性高;擁有自己的數(shù)據(jù)庫系統(tǒng),且支持訪問現(xiàn)有所有數(shù)據(jù)庫。它綜合采用了結(jié)構(gòu)化、面向?qū)ο?、組件、構(gòu)架、集成化等多種先進(jìn)技術(shù),并在運(yùn)行效率、性能價(jià)格比、全可視化支持等方面具有特色,對(duì)多媒體功能支持強(qiáng)大,有完善的網(wǎng)絡(luò)、端口通訊和互聯(lián)網(wǎng)功能支持。易語言的可視化設(shè)計(jì)操作不僅支持程序窗體界面,還可將流程圖嵌入其中;模塊化開發(fā)滿足大型軟件的設(shè)計(jì)要求;自帶的易數(shù)據(jù)庫能提供接口技術(shù)的全面支持,易語言是中國人自己的編程語言。
3 程序介紹
3.1 程序主界面及功能
此程序主要是用來在規(guī)定時(shí)段內(nèi)自動(dòng)發(fā)送各種預(yù)報(bào)結(jié)論,如定時(shí)向E-mail郵箱發(fā)送北方晨報(bào)、千山晚報(bào);向省氣象局上傳電視報(bào)、手機(jī)短信等。主界面下顯示是否有任務(wù)等待發(fā)送,如果有發(fā)送任務(wù),則顯示距離發(fā)送的時(shí)間及連接狀態(tài)、回執(zhí)情況等內(nèi)容。
3.2 程序各模塊介紹
3.2.1 電視報(bào)模塊
該模塊主要是編輯電視報(bào)并通過FTP遠(yuǎn)程登錄省局服務(wù)器,按所設(shè)置的時(shí)間自動(dòng)上傳。窗口中顯示電視報(bào)編輯框,根據(jù)不同時(shí)間自動(dòng)加載不同的報(bào)頭,預(yù)報(bào)員對(duì)電視報(bào)編輯完成后選擇保存并選定時(shí)上傳按鈕,電視報(bào)就會(huì)在規(guī)定時(shí)間內(nèi)上傳到省局指定的路徑下,其中時(shí)間和路徑都在設(shè)置窗口中完成。另外,程序還可以提取最近一次發(fā)送電視報(bào)的內(nèi)容及獲取回執(zhí)。
程序主要語句如下:
FTP遠(yuǎn)程登錄:
如果 (連接FTP服務(wù)器 (省局FTP服務(wù)器, 省局FTP賬號(hào), 省局FTP密碼, ,) = 真) 連接電視報(bào)FTP狀態(tài)透明標(biāo)簽.標(biāo)題 = “連接chenggong”
如果真 (讀配置項(xiàng) (“d:\\gztx\t.ini”, “工作任務(wù)”, “電視報(bào)上傳”, ) = “1”)
最后一次電視報(bào)路徑 = 讀配置項(xiàng) (“d:\\gztx\t.ini”, “電視報(bào)編輯框提取內(nèi)容路徑”, “最后一次電視報(bào)路徑”, )
更改后的文件名 = 電視報(bào)時(shí)間處理子程序 ()
連接電視報(bào)FTP狀態(tài)透明標(biāo)簽.標(biāo)題 = “準(zhǔn)備發(fā)送”
如果 (最后一次電視報(bào)路徑 = “d:\\gztx\\dsb\\” + 更改后的文件名)
如果 (FTP文件上傳 (“d:\\gztx\\dsb\\” + 更改后的文件名, 讀配置項(xiàng) (“d:\\gztx\t.ini”, “上傳路徑設(shè)定”, “電視報(bào)上傳路徑”, ) + 更改后的文件名, ))
斷開FTP服務(wù)器 ()
電視報(bào)形成:
下午電視報(bào)時(shí)間差 = 取小時(shí) (取現(xiàn)行時(shí)間 ()) × 100 + 取分鐘 (取現(xiàn)行時(shí)間 ()) - 到整數(shù) (讀配置項(xiàng) (“d:\\gztx\t.ini”, “時(shí)間設(shè)定”, “下午電視報(bào)發(fā)送時(shí)間設(shè)定”, ))
下午電視報(bào)距離時(shí)間 = 到整數(shù) (取文本左邊 (讀配置項(xiàng) (“d:\\gztx\t.ini”, “時(shí)間設(shè)定”,“下午電視報(bào)發(fā)送時(shí)間設(shè)定”, ), 2)) × 60 + 到整數(shù) (取文本右邊 (讀配置項(xiàng) (“d:\\gztx\t.ini”, “時(shí)間設(shè)定”, “下午電視報(bào)發(fā)送時(shí)間設(shè)定”, ), 2)) - 取小時(shí) (取現(xiàn)行時(shí)間 ()) × 60 - 取分鐘 (取現(xiàn)行時(shí)間 ())
3.2.2 短信平臺(tái)模塊
這個(gè)模塊主要編輯發(fā)送鞍山小靈通、鞍山手機(jī)短信、海城手機(jī)短信、臺(tái)安手機(jī)短信、岫巖手機(jī)短信等內(nèi)容。預(yù)報(bào)員在各個(gè)編輯框中輸入所要發(fā)送的預(yù)報(bào)內(nèi)容,然后點(diǎn)擊啟動(dòng)定時(shí)發(fā)送按鈕,短信就會(huì)在規(guī)定時(shí)間內(nèi)發(fā)送出去。另外,由于短信內(nèi)容有字?jǐn)?shù)限制,所以在編輯框后顯示要求內(nèi)剩余的字?jǐn)?shù),如果該項(xiàng)顯示為0,就不能再輸入了。程序主要語句如下:
寫到文件 (“d:\\gztx\\下午小靈通.txt”, 到字節(jié)集 (鞍山小靈通內(nèi)容編輯框.內(nèi)容))
如果 (時(shí)間差 ≥ 0)
寫配置項(xiàng) (“d:\\gztx\t.ini”, “工作任務(wù)”, “鞍山小靈通”, “1”)
發(fā)送短信子程序 (“鞍山小靈通”)
寫配置項(xiàng) (“d:\\gztx\t.ini”, “工作任務(wù)”, “鞍山小靈通”, “1”)
鞍山小靈通內(nèi)容保存按鈕.標(biāo)題 = “已啟動(dòng)定時(shí)發(fā)送”
啟動(dòng)窗口.鞍山小靈通時(shí)間差顯示透明標(biāo)簽.標(biāo)題 =“距離小靈通發(fā)送時(shí)間還有:”+ 到文本 (距離時(shí)間)
3.2.3 電子郵件模塊
此模塊主要用來編輯并定時(shí)向郵箱發(fā)送北方晨報(bào)和千山晚報(bào)的電子郵件,如圖1。以北方晨報(bào)為例,預(yù)報(bào)員選中編輯北方晨報(bào)按鈕,編輯框中會(huì)顯示上一次發(fā)送的預(yù)報(bào)內(nèi)容,預(yù)報(bào)員可以在此基礎(chǔ)上修改預(yù)報(bào)結(jié)論,然后選則保存啟動(dòng)定時(shí)發(fā)送按鈕,預(yù)報(bào)就會(huì)以文本文件格式保存在本地磁盤指定位置并定時(shí)發(fā)送到指定郵箱。
主要語句如下:
如果 (連接發(fā)信服務(wù)器 (“網(wǎng)址”,21 , “郵箱”, “密碼”, 60000) = 真)
補(bǔ)發(fā)郵件按鈕.標(biāo)題 = “連接成功”
如果 (發(fā)送郵件 (“鞍山氣象”, 讀入文本 (北方晨報(bào)文件號(hào), ), 北方晨報(bào)收信人地址, , ,“as121_qs@126.com”, ) = “”)=“”表示發(fā)送成功
寫配置項(xiàng) (“d:\\gztx\t.ini”, “工作任務(wù)”, “北方晨報(bào)”, “0”)
北方晨報(bào)透明標(biāo)簽.標(biāo)題 = “北方晨報(bào):已發(fā)送完畢”
關(guān)閉文件 (北方晨報(bào)文件號(hào))
否則
北方晨報(bào)透明標(biāo)簽.標(biāo)題 = “北方晨報(bào):發(fā)送失敗,請(qǐng)手動(dòng)重發(fā)”
關(guān)閉文件 (北方晨報(bào)文件號(hào))
3.2.4 時(shí)間設(shè)置模塊
該模塊主要是設(shè)置上述提及的定時(shí)發(fā)送電視報(bào)、手機(jī)短信、電子郵件所需要設(shè)定的時(shí)間,如圖2。預(yù)報(bào)員根據(jù)各種預(yù)報(bào)規(guī)定的上傳時(shí)間在此設(shè)置。以小靈通短信為例,主要程序如下:
如果 (寫配置項(xiàng) (“d:\\gztx\t.ini”, “時(shí)間設(shè)定”,“下午小靈通發(fā)送時(shí)間設(shè)定”, 小靈通小時(shí)組合框.內(nèi)容+小靈通分鐘組合框.內(nèi)容))
小靈通時(shí)間設(shè)定按鈕.標(biāo)題 = “修改完畢”
否則
小靈通時(shí)間設(shè)定按鈕.標(biāo)題 = “修改失敗”
3.2.5 路徑設(shè)置模塊
該模塊主要是設(shè)置上述提及的電視報(bào)、手機(jī)短信、電子郵件所需要設(shè)定的上傳路徑。以電視報(bào)為例,主要程序如下:
省局FTP服務(wù)器編輯框.內(nèi)容 = 讀配置項(xiàng)
(“d:\\gztx\t.ini”, “上傳路徑設(shè)定”,“省局FTP服務(wù)器”, )
省局FTP賬號(hào)編輯框.內(nèi)容 = 讀配置項(xiàng)
(“d:\\gztx\t.ini”, “上傳路徑設(shè)定”, “省局FTP賬號(hào)”, )
省局FTP密碼編輯框.內(nèi)容 = 讀配置項(xiàng)(“d:\\gztx\t.ini”, “上傳路徑設(shè)定”, “省局FTP密碼”, )
4 結(jié)語
本文論及的程序,涉及了向省氣象局上傳電視報(bào)和手機(jī)短信及向互聯(lián)網(wǎng)發(fā)送電子郵件等內(nèi)容,這個(gè)程序能為預(yù)報(bào)員節(jié)省很多工作時(shí)間,并且很大程度上避免了預(yù)報(bào)的漏發(fā)。該軟件已在工作中得到應(yīng)用,非常穩(wěn)定。