Active TopicsActive Topics  Display List of Forum MembersMemberlist  CalendarCalendar  Search The ForumSearch  HelpHelp
  RegisterRegister  LoginLogin


 One Stop Testing ForumTesting Tools @ OneStopTestingQuickTest Pro @ OneStopTesting

Message Icon Topic: QTP Using the File System Object

Post Reply Post New Topic
Author Message
Mithi25
Senior Member
Senior Member
Avatar

Joined: 23Jun2009
Online Status: Offline
Posts: 288
Quote Mithi25 Replybullet Topic: QTP Using the File System Object
    Posted: 27Oct2009 at 11:57pm

The following code includes a set of complex and simple functions to serve as examples of the possible uses and applications of Microsoft FSO.

Using the File System Object (FSO)

The following code includes a set of complex and simple functions to serve as examples of the possible uses and applications of Microsoft FSO.

dim oFSO

' Create the file system object

set oFSO = CreateObject ("Scripting.FileSystemObject")

'Option Explicit

' *******************************************************************************************

' Create a new txt file

' Parameters:

' FilePath - location of the file and its name

' *******************************************************************************************

Function CreateFile (FilePath)

       ' Variable that will hold the new file object

       dim NewFile

       ' Create the new text ile

       set NewFile = oFSO.CreateTextFile(FilePath, True)

       set CreateFile = NewFile

       End Function

' *******************************************************************************************

' Check if a specific file exist

' Parameters:

' FilePath - Location of the file and its name

' *******************************************************************************************

Function CheckFileExists (FilePath)

       ' Check if the file exists

       CheckFileExists = oFSO.FileExists(FilePath)

End Function

' *******************************************************************************************

' Write data to file

' Parameters:

' FileRef - Reference to the file

' str - Data to be written to the file

*******************************************************************************************

Function WriteToFile (byref FileRef,str)

       ' Write str to the text file

       FileRef.WriteLine(str)

End Function

' *******************************************************************************************

' Read line from file

' Parameters:

' FileRef - reference to the file

' *******************************************************************************************

Function ReadLineFromFile (byref FileRef)

       ' Read line from text file

       ReadLineFromFile = FileRef.ReadLine

End Function

' *******************************************************************************************

' Closes an open file.

' Parameters:

' FileRef - Reference to the file

' *******************************************************************************************

Function CloseFile (byref FileRef)

       FileRef.close

End Function

'******************************************************************************************

' Opens a specified file and returns an object that can be used to

' read from, write to, or append to the file.

' Parameters:

' FilePath - Location of the file and its name

' mode options are:

' ForReading - 1

' ForWriting - 2

' ForAppending - 8

' *******************************************************************************************

Function OpenFile (FilePath,mode)

' Open the txt file and return the File object

set OpenFile = oFSO.OpenTextFile(FilePath, mode, True)

End Function

' *******************************************************************************************

' Closes an open file.

' Parameters:

' FilePathSource - Location of the source file and its name

' FilePathDest - Location of the destination file and its name

' *******************************************************************************************

Sub FileCopy ( FilePathSource,FilePathDest)

       ' copy source file to destination file

       oFSO.CopyFile FilePathSource, FilePathDest

End Sub

' *******************************************************************************************

' Delete a file.

' Parameters:

' FilePath - Location of the file to be deleted

' *******************************************************************************************

Sub FileDelete ( FilePath)

       ' Copy source file to destination file

       oFSO.DeleteFile ( FilePath)

End Sub

' *******************************************************************************************

' Compare two text files.

'

' Parameters:

' FilePath1 - Location of the first file to be compared

' FilePath2 - Location of the second file to be compared

' FilePathDiff - Location of the differences file

' ignoreWhiteSpace - Controls whether or ignore differences in white space characters

' true - Ignore differences in white space

' false - Do not ignore difference in white space

' Return Value: true if files are identical, false otherwise'

' *******************************************************************************************

Function FileCompare (byref FilePath1, byref FilePath2, byref FilePathDiff, ignoreWhiteSpace)

       dim differentFiles

       differentFiles = false

       dim f1, f2, f_diff

       ' Open the files

       set f1 = OpenFile(FilePath1,1)

       set f2 = OpenFile(FilePath2,1)

       set f_diff = OpenFile(FilePathDiff,8)

       dim rowCountF1, rowCountF2

       rowCountF1 = 0

       rowCountF2 = 0

       dim str

       ' Count how many lines there are in the first file

       While not f1.AtEndOfStream

              str = ReadLineFromFile(f1)

              rowCountF1= rowCountF1 + 1

       Wend

       ' Count how many lines there are in the second file

       While not f2.AtEndOfStream

              str = ReadLineFromFile(f2)

              rowCountF2= rowCountF2 + 1

       Wend

       ' Re-open the files to go back to the first line in the files

       set f1 = OpenFile(FilePath1,1)

       set f2 = OpenFile(FilePath2,1)

       ' compare the number of lines in the two files.

       ' assign biggerFile - The file that contain more lines

       ' assign smallerFile - The file that contain fewer lines

       dim biggerFile, smallerFile

       set biggerFile = f1

       set smallerFile = f2

       If ( rowCountF1 < rowCountF2) Then

              set smallerFile = f1

              set biggerFile = f2

       End If

       dim lineNum,str1, str2

       lineNum = 1

       str = "Line" & vbTab & "File1" & vbTab & vbTab & "File2"

       WriteToFile f_diff,str

       ' Loop on all the lines in the smaller file

       While not smallerFile.AtEndOfStream

              ' read line from both files

              str1 = ReadLineFromFile(f1)

              str2 = ReadLineFromFile(f2)

       ' Check if we need to ignore white spaces, if yes, trim the two lines

       If Not ignoreWhiteSpace Then

              Trim(str1)

              Trim(str2)

       End If

       ' If there is a difference between the two lines, write them to the differences file

       If not (str1 = str2) Then

              differentFiles = true

              str = lineNum & vbTab & str1 & vbTab & vbTab & str2

              WriteToFile f_diff,str

       End If

       lineNum = lineNum + 1

       Wend

       ' Loop through the bigger lines, to write its line to the different file

       While not biggerFile.AtEndOfStream

              str1 = ReadLineFromFile(biggerFile)

              str = lineNum & vbTab & "" & vbTab & vbTab & str2

              WriteToFile f_diff,str

              lineNum = lineNum + 1

       Wend

       FileCompare = Not differentFiles

End function

' ************** Example of using these functions **********************

FilePath1 = "D:\temp\FSO\txt1.txt"

FilePath2 = "D:\temp\FSO\txt2.txt"

FilePathDiff = "D:\temp\FSO\txt_diff.txt"

d = FileCompare(FilePath1,FilePath2,FilePathDiff,false)

FilePath = "D:\temp\FSO\txt.txt"

set fold = FolderCreate ( "D:\temp\FSO

set f = OpenFile(FilePath,8)

' = WriteToFile(f,"test line")

d = CloseFile(f)

set f = CreateFile(FilePath)

Fexist= CheckFileExists(FilePath)

d = WriteToFile(f,"first line")

d = WriteToFile(f,"second line")

d = CloseFile(f)

FileCopy "D:\temp\FSO\txt.txt","D:\temp\FSO\txt1.txt"

FileDelete "D:\temp\FSO\txt1.txt"




Post Resume: Click here to Upload your Resume & Apply for Jobs

IP IP Logged
Post Reply Post New Topic
Printable version Printable version

Forum Jump
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot delete your posts in this forum
You cannot edit your posts in this forum
You cannot create polls in this forum
You cannot vote in polls in this forum



This page was generated in 0.969 seconds.
Vyom is an ISO 9001:2000 Certified Organization

© Vyom Technosoft Pvt. Ltd. All Rights Reserved.

Privacy Policy | Terms and Conditions
Job Interview Questions | Placement Papers | Free SMS | Freshers Jobs | MBA Forum | Learn SAP | Web Hosting