大大毛 的筆記

            DDM's Note

          哪怕沒有辦法一定有說法,
          就算沒有鴿子一定有烏鴉,
          固執(zhí)無罪 夢想有價,
          讓他們驚訝.

          posts - 14, comments - 23, trackbacks - 0, articles - 58
             :: 首頁 ::  :: 聯(lián)系 ::  :: 管理

          日歷

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          公告

          果然是不能想得太好。

          隨筆分類(4)

          積分與排名

          • 積分 - 60919
          • 排名 - 865

          最新評論

          利用TN5250NF下載檔案的自動化處理

          Posted on 2009-02-11 15:51 大大毛 閱讀(1345) 評論(1)  編輯  收藏 所屬分類: 400

          問題?

          ???現(xiàn)在有遇到一個需求,是想直接利用TN5250來實現(xiàn)400端資料的下載:
          ???1. 僅通過TN5250來完成,不要使用其他的元件;
          ???2. 匯出資料格式為TXT檔案,應(yīng)該是要能夠放到局域網(wǎng)路上;
          ???3. 匯出資料的動作需要做成排程方式(例如每天匯出);
          ???4. 需求相當?shù)募薄?br />
          ???使用TN5250NF可以直接抓400端資料到PC端,匯出成TXT/XLS等格式的文件。匯出功能實際由TN4002PC來完成,該功能使用起來非常方便。通過簡單設(shè)定連線/設(shè)定參數(shù)即可實現(xiàn)資料的下載。

          ???如果不考慮到需要做成排程方式來自動進行,則完全可以以人工方式來實現(xiàn)1-2。


          思考

          ???要做直接利用程式的功能來實現(xiàn)自動化,首先應(yīng)先弄清楚作業(yè)的方式是怎樣,先來看看手工是怎樣下載的。
          ???1. 點選TN5250上的菜單“傳送”-> “從主電腦接收檔案”即可打開功能畫面(圖1):

          o_TN4002PC_01.GIF

          ???2. 需要配置參數(shù)(圖2):
          o_TN4002PC_02.GIF
          ???>> 注意紅色框部分,輸出必須要設(shè)為“檔案”,而筆數(shù)=0則表示將該檔案中全部資料都DOWN,>0則表示最大下載筆數(shù)(如設(shè)為20則僅下載20筆資料)。其他部分根據(jù)需要自行配置。
          ???>> 檔案名稱處定義需要存放匯出檔案的名稱及路徑,如果需要在網(wǎng)路路徑上匯出文檔則必須先將網(wǎng)絡(luò)路徑映射為本地磁盤(通過“我的電腦”上右鍵“連線網(wǎng)路磁碟機”即可將一個網(wǎng)絡(luò)路徑映射成本地盤符),然後再使用,否則會提示錯誤。

          ???3. 點選上圖的“開始接收(R)”即可以開始從400下載資料到PC,接收完成後會跳出訊息提示框(圖3):
          o_TN4002PC_03.GIF

          ???另外,還可以利用圖2上的“檔案”菜單來實現(xiàn)對參數(shù)配置的保存以及載入(Default是存成.tt0檔案)。

          ???通過查看保存配置後生成的快捷方式,可以發(fā)現(xiàn)其快捷方式內(nèi)容實際為(圖4):
          o_TN4002PC_04.GIF
          ???>> 紅色部分即為我保存的配置檔--配置檔實際是一個INI文件,可使用記事本打開

          ???因此,使用“TN4002PC.EXE /f=配置檔名稱”這樣的形式即可從命令行實際對此功能的調(diào)用(先要將參數(shù)都配置好存在配置檔中)。OK,現(xiàn)在剩下就是要將這個命令行能夠被放在“計劃任務(wù)”中。

          ???通過手工測試可以發(fā)現(xiàn)有一些問題還待解決:
          ???1. 在匯出完成後一定會有訊息框跳出(圖3),這個是相當於MSGBOX的窗口,它會將整個程式阻塞在那裏,如果不將它消掉(回車或空格)就會造成多次處理出錯。
          ???2. 配置參數(shù)時無法為匯出的TXT文檔指定一個動態(tài)名稱,因為是要自動將匯出資料放在一個固定路徑下,所以每回匯出的文檔名稱都應(yīng)該有所不同,例如保存成帶日期格式。



          解決方法

          ???因為是需要動態(tài)生成匯出文檔名以及消掉作業(yè)完成後的MSGBOX訊息框,所以是必須要有程序來協(xié)助解決,程序使用VBS來實現(xiàn)(先前有想到用BAT,但是無法解決MSGBOX的問題)。
          ???程式的處理方法:
          ???1. 利用VBS來動態(tài)生成TTO配置文件,只要每次修改掉保存的文件名稱就好,這樣就可以每次生成的TXT都有所不同。
          ?????????解析保存配置的TTO檔案,提取PC_FILENAME設(shè)定,在文件名後加上處理的日期和時間(路徑/文件類型保持不變),最後再存成一個新的TTO配置檔。
          ???2. 利用VBS來執(zhí)行CMD命令(命令格式見圖4),完成對匯出功能的調(diào)用。
          ?????????為TN4002PC指定新生成的TTO配置檔,實現(xiàn)功能的調(diào)用。
          ???3. 在匯出完成後發(fā)送鍵盤指令關(guān)掉MSGBOX框。
          ?????????因為VBS中看似沒法能夠直接獲取TN4002PC的窗口,所以是添加處理--在程式處理過程中每間隔一段時間就去檢查生成的TXT檔案大小是否有變化,如果沒有變化則認定可能已匯出完成,卡在MSGBOX窗口,VBS程式就要激活MSGBOX窗口並發(fā)送鍵盤的空格。
          ???4. 在“計劃任務(wù)”中設(shè)置對VBS程序的調(diào)用。
          ?????????利用計劃任務(wù)精靈可以完成對VBS程序的調(diào)用,因為我這裏設(shè)計是要將配置的TTO文件名做為參數(shù)傳給VBS程序。而XP下試過幾次都無法能在計劃任務(wù)中直接將參數(shù)傳遞過去(2003卻可以),所以就只有多做一只BAT(放置對VBS程式的傳參調(diào)用)放在計劃任務(wù)中。

          BAT批處理程序(藍色即為VBS程序,紅色為保存的TTO配置檔)

          start?RunVBS.vbs?C:\FGPPOLR.tto

          VBS程序

          VBS程序

          排程執(zhí)行完後(每次都會有FDF--欄位定義和TXT--檔案內(nèi)容兩個文件生成,多次RUN出文件名會不同):
          o_RUNED.GIF


          下載

          ??????VBS文件


          評論

          # re: 利用TN5250NF下載檔案的自動化處理  回復  更多評論   

          2010-04-20 11:22 by 江佳桂
          請教若密碼要動態(tài)生成,是否有辦法呢?
          謝謝

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           

          i am ddm

          主站蜘蛛池模板: 扎鲁特旗| 商水县| 大英县| 新泰市| 界首市| 双城市| 重庆市| 旌德县| 梁河县| 沂南县| 乐陵市| 宜昌市| 娄底市| 兴安县| 无锡市| 新兴县| 邵阳市| 大埔区| 凌云县| 大余县| 宁阳县| 潞城市| 岑溪市| 恩施市| 太保市| 武宣县| 江阴市| 灵川县| 石景山区| 马公市| 樟树市| 八宿县| 高阳县| 望城县| 安岳县| 合水县| 佳木斯市| 新田县| 博罗县| 镇雄县| 嘉峪关市|