实训  外部数据读写操作
1.1实训目标
    掌握外部文本文件读写操作方法
    能够使用外部文件中的数据作为数据驱动测试的数据源
1.2任务描述
    使用外部文本文件中的数据作为用户登录Flight飞机订票系统的用户名和密码
1.3覆盖的知识点
    VBS对文本文件的追加、修改、删除、读取操作
1.4实训参考步骤
'************************************
'函数功能:检查文件是否存在
'输入参数:
'    pathway - 文件全路径
'返回值:
'    如果文件存在,返回True,否则返回False
'示例调用:
'MsgBox CheckFileExists("D:\")
'*************************************
Function CheckFileExists (FilePath)
    dim oFSO
    Set oFSO = CreateObject ("Scripting.FileSystemObject")
      CheckFileExists = oFSO.FileExists(FilePath)
      Set oFSO = Nothing
End Function
'************************************
'函数功能:如果文件夹不存在则创建文件夹
'输入参数:
'    fldr - 文件夹全路径
'返回值:
'    无
'示例调用:
'Call CreatFolderIfNotExist("D:\test")
'*************************************
Function CreatFolderIfNotExist(fldr)
  Dim fso, msg
  Set fso = CreateObject("Scripting.FileSystemObject")
  If Not (fso.FolderExists(fldr)) Then
  Set f = fso.CreateFolder(fldr)
  End If
End Function
'************************************
'函数功能:读取指定行内容
'输入参数:
'    pathway - 文件全路径
'    rowcount - 行数
'返回值:
'    该行内容
'示例调用:
'MsgBox ReadLine("c:\c.txt", 2)
'*************************************
Function ReadLine(pathway, rowcount)
    Dim fso,myfile,i,flag
    flag = 1
    Set fso=CreateObject("scripting.FileSystemObject")
    If fso.FileExists(pathway) Then
        Set myfile = fso.openTextFile(pathway,1,False)
    Else
        flag = 0
write的返回值
    End If
        For i=1 to rowcount-1
        If Not myfile.AtEndOfLine Then
            myfile.SkipLine
        End If
    Next
    If flag = 1 Then
        If Not myfile.AtEndOfLine Then
            ReadLine = myfile.ReadLine
        Else
            ReadLine = "越界"
        End If
        myfile.close
    Else
        ReadLine = "文件不存在"
    End If
End Function
'************************************
'函数功能:计算文本文件总行数
'输入参数:
'    FileName - 文件全路径
'返回值:
'    该文本文件总行数
'示例调用:
'MsgBox NumberOfLines("c:\c.txt")
'*************************************
Function NumberOfLines(FileName)
  Dim lineCount
  lineCount = 0
  Set objFSO = CreateObject("Scripting.FileSystemObject")
  Set objTextFile = objFSO.OpenTextFile(FileName, 1)
  Do Until objTextFile.AtEndOfStream
  Redim Preserve arrFileLines(lineCount)
  arrFileLines(lineCount) = objTextFile.ReadLine
  lineCount = lineCount +1
  Loop
  NumberOfLines = UBound(arrFileLines)
  objTextFile.Close
End Function
'************************************
'函数功能:向文本文件追加行
'输入参数:
'    pathway - 文件全路径
'    words - 新行内容
'返回值:
'    无
'示例调用:
'call WriteFile_Append("D:\", "Hello World")
'*************************************
Public Function WriteFile_Append(pathway,words)   
    Dim fileSystemObj,fileSpec,logFile,way
    Set fileSystemObj = CreateObject("Scripting.FileSystemObject")
    fileSpec = pathway
    Set logFile = fileSystemObj.OpenTextFile(fileSpec, 8, true)
    logFile.WriteLine (CStr(words))
    logFile.Close
    Set logFile = Nothing
End Function
'************************************
'函数功能:改写文本文件所有内容
'输入参数:
'    pathway - 文件全路径
'    words - 文本内容
'返回值:
'    无
'示例调用:
'call WriteFile_Change("D:\", "Hello World")
'*************************************
Public Function WriteFile_Change(pathway,words)   
    Dim fileSystemObj,fileSpec,logFile,way
    Set fileSystemObj = CreateObject("Scripting.FileSystemObject")
    fileSpec = pathway
    Set logFile = fileSystemObj.OpenTextFile(fileSpec, 2, True)
    logFile.WriteLine (CStr(words))
    logFile.Close
    Set logFile = Nothing
End Function
'************************************
'函数功能:全部替换文本文件中指定字符串
'输入参数:
'    filepath - 文件全路径
'    from - 被改写字符串
'    too - 目标字符串
'返回值:
'    无
'示例调用:
'call fileReplace("c:\", "2008114", "test")
'*************************************
Function fileReplace(filepath,from, too)
    Dim fso,myfile
    Set fso=CreateObject("scripting.FileSystemObject")
    Set myfile = fso.openTextFile(filePath,1,false)
    cc = myfile.ReadAll
    myfile.Close
    temper = Replace(cc,from,too)
    Dim fileSystemObj,fileSpec,logFile,way
    Set fileSystemObj = CreateObject("Scripting.FileSystemObject")
    fileSpec = pathway
    Set logFile = fileSystemObj.OpenTextFile(filePath, 2, true)
    logFile.WriteLine (CStr(temper))
    logFile.Close
    Set logFile = Nothing
End Function
'************************************
'函数功能:在指定行之间插入一行
'输入参数:
'    fileFullPath - 文件全路径
'    lineFrom / lineTo 指定行
'    content - 插入文本内容
'返回值:
'    无
'示例调用:
'call insertLineBetween("c:\", 3, 4, "Test Line")
'*************************************
Function insertLineBetween(fileFullPath, lineFrom, lineTo, content)
    Dim tempBefore(), tempAfter(), lineCount, i

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。