Visual Basic 6 function "file"

Go back

Below you'll find the source for the Visual Basic 6 function file.

Attribute VB_Name = "modFile"
' These functions are downloaded from:
' http://www.stefanthoolen.nl/archive/vb6-functions/
' 
' You may freely distribute this file but please leave all comments, including this one, in it.
' 
' @Author Stefan Thoolen <mail@stefanthoolen.nl>

Option Explicit

''
' Reads entire file into a string
' Almost the same syntax as the PHP function 'file_get_contents'
' See also: http://www.php.net/manual/en/function.file-get-contents.php
' @param    String  filename        The file to read
' @return   String                  The contents of the file
' @author   Stefan Thoolen <mail@stefanthoolen.nl>
Public Function file_get_contents(filename As String) As String
    Dim thedata As String, ff As Integer
    ' Note, length of 'TheData' will determine how many bytes are read.
    ff = FreeFile
    Open filename For Binary Access Read Shared As #ff
        thedata = Space(LOF(ff))
        Get #ff, 1, thedata
    Close #ff
    
    file_get_contents = thedata
End Function

''
' Gets a file as an array
' Almost the same syntax as the PHP function 'file'
' See also: http://www.php.net/manual/en/function.file.php
' @param    String  filename        The file we want to read
' @return   Variant                 An array with each line of the file
' @author   Stefan Thoolen <mail@stefanthoolen.nl>
Public Function file(filename As String) As Variant
    Dim retval() As String, s As String, l As Long
    s = file_get_contents(filename)
    retval = Split(s, vbLf)
    For l = LBound(retval) To UBound(retval)
        retval(l) = retval(l) & vbLf
    Next l
    
    file = retval
End Function