Attribute VB_Name = "basFileString" '******************************************************************************* ' $Id: basFileString $ ' $Date: 2019-12-11 00:43:00 $ ' $Author: dai $ ' Written by David Ireland of DI Management Services Pty Ltd ' Australia, https://di-mgt.com.au/contact/ ' This source code file `basFileString.bas' is in the public domain ' [2019-12-11] Changed ReadFileIntoBytes from "As Variant" to "As Byte()" ' [2007-02-15] First published '******************************************************************************* Option Explicit Public Function ReadFileIntoString(sFilePath As String) As String ' Reads file (if it exists) into a string. Dim strIn As String Dim hFile As Integer ' Check if file exists If Len(Dir(sFilePath)) = 0 Then Exit Function End If hFile = FreeFile Open sFilePath For Binary Access Read As #hFile strIn = Input(LOF(hFile), #hFile) Close #hFile ReadFileIntoString = strIn End Function Public Function WriteFileFromString(sFilePath As String, strIn As String) As Boolean ' Creates a file from a string. Clobbers any existing file. On Error GoTo OnError Dim hFile As Integer If Len(Dir(sFilePath)) > 0 Then Kill sFilePath End If hFile = FreeFile Open sFilePath For Binary Access Write As #hFile Put #hFile, , strIn Close #hFile WriteFileFromString = True Done: Exit Function OnError: Resume Done End Function Public Function ReadFileIntoBytes(sFilePath As String) As Byte() ' Reads file (if it exists) into an array of bytes. Dim abData() As Byte Dim hFile As Integer ' Set default return value that won't cause a run-time error ReadFileIntoBytes = StrConv("", vbFromUnicode) ' Check if file exists If Len(Dir(sFilePath)) = 0 Then Exit Function End If hFile = FreeFile Open sFilePath For Binary Access Read As #hFile abData = InputB(LOF(hFile), #hFile) Close #hFile ReadFileIntoBytes = abData End Function Public Function WriteFileFromBytes(sFilePath As String, abData() As Byte) As Boolean ' Creates a file from a string. Clobbers any existing file. On Error GoTo OnError Dim hFile As Integer If Len(Dir(sFilePath)) > 0 Then Kill sFilePath End If hFile = FreeFile Open sFilePath For Binary Access Write As #hFile Put #hFile, , abData Close #hFile WriteFileFromBytes = True Done: Exit Function OnError: Resume Done End Function