欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

请问vbscript高手,新手新帖,请大家多多帮助

更新时间: 2014-01-05 01:52:33 责任编辑: Author_N1

 

请教VBSCRIPT高手,新手新帖,请大家多多帮助。
是这样的
在写页面时,需要有个功能,可以选择各个目录下的.TXT文件导入一些数据,如手机号码。现在我想实现导入这些数据后,把文件里导入的数据删掉,没导入的保留。
而不是删除文件。请教有没人帮我解决啊。现在问题困惑好几天了,希望大家帮帮小弟。
VBScript code

Sub btnImport_onclick
  strFileName=btnBrowse.value
  Const ForReading = 1
  Const ForWriting = 2
  Const ForAppending = 8
  Dim fso,file,msg
  
  Set fso = CreateObject("Scripting.fileSystemObject")
  Set file = fso.OpenTextFile(strFileName,ForReading)
  iCount = 0
  Do While Not file.AtEndOfStream and iCount < 100
  fileTemp = file.ReadLine

    Num = Left(fileTemp, 3)
    Result = IsMatch(fileTemp, "^[0-9-]+$") and (Len(fileTemp) = 11) and ((Num="130")or(Num="131")or(Num="132")or(Num="133") or  (Num="134")or(Num="135")or(Num="136")or(Num="137")or(Num="138")or(Num="139")or(Num="158")or(Num="159")or(Num="150")or(Num="151")or(Num="152")or(Num="157")or(Num="188"))
    if not Result then
        edtReceptNo.value = ""   
      window.alert("无效的受理号码!")
      exit sub
    end if      
   edtReceptNo.value = edtReceptNo.value + fileTemp + ","
   iCount = iCount + 1
  Loop

  iTemp = len(edtReceptNo.value) - 1
  edtReceptNo.value = left(edtReceptNo.value,iTemp) 
  file.Close
  Set file = Nothing
  Set fso = Nothing
End Sub

这个就是我的部分实现代码。当超过一百条了就删除原先的100条,然后再继续增加。但是现在不知道怎么删除数据。

--参考方法--
把文件里导入的数据删掉,没导入的保留。
re:
导入操作会中断么?怎么能出来没导入的!
--参考方法--
还是想如果在文件中存在的不导入?
--参考方法--
你可以删除前面的100条,不过不如下面更简单。

可以设一计数器变量,记录上一次导入做到了第多少条,下一次再导入时先跳过前面的这些记录,从下一条新的记录开始。
缺点:如果记录过多,效率会较低。

VBScript code

dim lastCount = 0
Sub btnImport_onclick
  strFileName=btnBrowse.value
  Const ForReading = 1
  Const ForWriting = 2
  Const ForAppending = 8
  Dim fso,file,msg
  
  Set fso = CreateObject("Scripting.fileSystemObject")
  Set file = fso.OpenTextFile(strFileName,ForReading)
[b]  iCount = 0
  Do While Not file.AtEndOfStream and iCount < lastCount
    fileTemp = file.ReadLine
  loop[/b]
  iCount = 0
  Do While Not file.AtEndOfStream and iCount < 100
    fileTemp = file.ReadLine

    Num = Left(fileTemp, 3)
    Result = IsMatch(fileTemp, "^[0-9-]+$") and (Len(fileTemp) = 11) and ((Num="130")or(Num="131")or(Num="132")or(Num="133") or  (Num="134")or(Num="135")or(Num="136")or(Num="137")or(Num="138")or(Num="139")or(Num="158")or(Num="159")or(Num="150")or(Num="151")or(Num="152")or(Num="157")or(Num="188"))
    if not Result then
        edtReceptNo.value = ""   
      window.alert("无效的受理号码!")
      exit sub
    end if      
   edtReceptNo.value = edtReceptNo.value + fileTemp + ","
   iCount = iCount + 1
   [b]lastCount = lastCount + 1[/b]
  Loop
.......

--参考方法--
楼上的确实不错!
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:52:33
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/2374/
本文WWW.DOC100.NET DOC100.NET版权所有。