如何把PDA中文本文档导出到电脑PC中?基于Java平台

如何把PDA中的文本文档导出到电脑PC中呢?而且是基于JAVA平台的,网上的例子和能够参考的资料,几乎为零

但是在高手的指点下,这个难题也被额给攻破了喽……^^

 

进入正题,PDA我在这里就不做太多的说明了,简单的说,就是一个掌上电脑,和一般的电脑相比,就是小点,我现在用的这个

操作系统是windows mobile,如果还想了解PDA,请自己找“百”老师(www.baidu.com)

 

先看下效果图吧!!

当点击上面的这个按钮时,执行的操作就是从PDA中读取相应位置上的文本文档,并把文本文档copy到电脑上

前提先说明一下,由于本人技术上不到火候,说的可能有漏洞,请大虾们不要建议啊^^

废话不多说,看前台代码吧!

当点击按钮时,首先执行的是fromPDA()这个方法

 

function fromPDA(){        //点击按钮时执行方法
          bar.FileUse("c://filelist.txt","c://S_1_D_send.txt|//My Documents//send//S_1_D_send.txt|0|","utf-8","^");
          Run('file:///C:/Program%20Files/hubeiyidong/copytopc.exe');
          fileImport();
}    
    
function fileImport(){
       var id = setTimeout("fileImport();",500);
       var fso=new ActiveXObject("Scripting.FileSystemObject");
       if(fso.fileExists("c://S_1_D_send.txt")){
               clearTimeout(id);
               readdata();            

        }

 } 
 
 function readdata(){         //调用导入方法
        var success_num;
        var fail_num;
        var fail_card_no;
        var error;
        var assets=bar.TEST_file("c://S_1_D_send.txt");               //读取指定文本文档
        var url = '<%=path%>/rb-assetManageServices.do';
        jQuery.ajax({                                  //利用jQuery的ajax向后台发送请求
                type: "POST",                                   
                url: url,                                  
                data: encodeURI(encodeURI('method=getInfoFromPDA()&assets=' + assets)), 
                success: function(data){

                          alert("哥成功啦!");      
                 }
        });
  
       if("0"!=assets){                  //如果当时指定的文本文档存在,进行备份
                  var fso,f1;    
                  fso=new ActiveXObject("Scripting.FileSystemObject");
                  if(!fso.FolderExists("C://bak")){
                          fso.CreateFolder ("C://bak"); 
                  } 
                  f1  =   fso.GetFile( "c://S_1_D_send.txt");   
                  f1.Copy("c://bak//S_1_D_send.txt");     
                  f1.Delete();
          } 
 }  
 
    function Run(strPath){           //把PDA中文本copy到电脑PC中 
             try {     
                     var objShell=new ActiveXObject("wscript.shell");     
                     objShell.Run(strPath);   
                     objShell=null;     
              }catch(e){  
                     alert(e) ;    
              }     
    }  

 

 

解释:

第一个方法fromPDA()中各项参数说明

                //第一个参数是写文本文件的路径  第二个参数是写文本文件的内容。

                //第三个参数是文本文档中的编码格式 第四个参数是在PDA中文档内容的分隔符

         //竖线分割后第一个是电脑上文件的位置 ,第二个是PDA文件上的位置。
         //1 和 0 是 接收成功以后删除不删除 PDA里的文件。具体是1是删除 0是不删除

第二个方法fileImport()首先判断指定的文件是否存在,如果存在再进行读取操作

第三个方法readdata()就是读取本地电脑PC上的指定文件

 

在这过程中会出现的错误!!!!

1、IE还会报"bar"未定义

这个,当然了,你看,在上面的文档中哪里有对bar的定义呢???你找到了吗?反正我是没找见……嘿嘿

当然,这个需要在服务器端jsp页面中添加相应的控件啦,

 

 <OBJECT
           classid="clsid:9DD2E7D1-599A-47D5-AB22-4B47A71EA34B"
           codebase="http://localhost:8080/eamstatic/ems/utils/eactocx/PRINTDLLtest.inf#version=1,0,42,0"  
           id=bar
           width=0
           height=0
          align=center
          hspace=0
          vspace=0
  >

 

 仔细看这个id= bar,这里定义了上面方法中的变量bar

 还需要注意的是,这里的codebase的值,这里我用的是自己的电脑进行开发的,所以写成了localhost:8080,根据自己的需求进行修改

 还有这个eamstatic/ems/utils/eactocx/PRINTDLLtest.inf 

 这是个什么东东啊?说实话,我也不知道,^^ 这是高手封装好的一个文件,直接拿来用就OK了,

eamstatic/ems/utils/eactocx  指的是这个PRINTDLLtest.inf的路径,根据需求进行修改……

这个文件在我的资源中可以进行下载……

 

 2、IE还会报"缺少对象,Automaction不能创建对象"?这呀呀的,IE怎么老报错!!!

  这个是因为你调用new ActiveXObject("Scripting.FileSystemObject")时没有进行scrrun.dll文件的注册

  进行注册吧!!!

  cmd ----regsvr32 scrrun.dll

  OK,搞定……

3、什么,IE还报"找不到指定程序"?

 当然了,你没有安装所需要的EXE文件,它当然会报错啦!!!

 这个copytopc.exe 在我的资源里可以下载……

 

4、还报!IE报"加载动态库失败"?

嗯,这个问题比较的严重了……

看看吧!需要用到一个wshom.ocx的控件,如果你系统里没有,从我的资源里可以进行下载……

另外,可能你的系统不是很完整,和我的一样,少了很多的动态链接库文件,导致错误不能解决,

这个问题好解决,我资源里有一个EXE文件,可以专门来查询一个控件所需要的dll文件……

 

 5、还报啊?IE报“对象不支持此属性或方法”?

 嗯,这个是因为浏览器没有找到你系统中的PRINTDLLtest.inf文件,

 <1> 这个文件的路径没有写对

 <2> 路径写对了,但没有把服务器端加入到可信站点中

 如何按照常理来说,当客户端第一次浏览这个“导出PDA数据”时,会自动弹出一个页面,提示加载inf文件

 但是有些情况是一直弹不出这个窗口,我就遇到了这个情况,呀呀的,后来请高手帮忙,写了一个bat批处理文件,搞定

 这个批处理文件在我的资源 里可以下载……

 

 6、还报"Object error"错误?

 这个是因为你在页面中没有加入<OBJECT>控件或者是inf文件路径没有写对的原因……

 

最后,嘿嘿,问题都解决了,导出吧……

祝你早是解决难题^^

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值