William Hindman
wdhindman at dejpolsystems.com
Sat Jan 6 13:28:10 CST 2007
JC ...have you tested the FSO to run in a runtime install? William Hindman ----- Original Message ----- From: "JWColby" <jwcolby at colbyconsulting.com> To: "'Access Developers discussion and problem solving'" <accessd at databaseadvisors.com> Sent: Saturday, January 06, 2007 12:21 PM Subject: [AccessD] Log file - part 2 > This is the class text described in part 1. > > The following is the log file class. It is a work in progress, but any > additions you need, you can add. > > Option Compare Database > Option Explicit > '. > '.========================================================================= > '.Copyright : cColby Consulting 2000. All rights reserved. > '.E-mail : jcolby at ColbyConsulting.com > '.========================================================================= > ' DO NOT DELETE THE COMMENTS ABOVE. All other comments in this module > ' may be deleted from production code, but lines above must remain. > '-------------------------------------------------------------------------- > '.Written By : John W. Colby > '.Date Created : 05/29/2002 > '.Rev. History : > '.Comments : > '.------------------------------------------------------------------------- > '. > ' ADDITIONAL NOTES: > ' > ' BEHAVIORS: > ' > '*+ Class constant declaration > Private Const DebugPrint As Boolean = False > Private Const mcstrModuleName As String = "clsLogFile" > '*- Class constant declaration > > '*+ Class variables declarations > 'THE STRING INSTANCE NAME IS BUILT UP FROM THE MODULE NAME AND > 'A RANDOM INT > Private mname As String > '*- Class variables declarations > > '*+ custom constants declaration > '*- custom constants declaration > > '*+ custom variables declarations > Private mFSO As Scripting.FileSystemObject > Private mTS As Scripting.TextStream > > Private mstrFileName As String > Private mstrFileExt As String > Private mstrFilePath As String > Private mstrFileSpec As String > Private mstrDteFmt As String > Private mstrDte As String > Private mstrTimeFmt As String > Private mstrTime As String > '*- custom variables declarations > '*+ Private Init/Terminate interface > Private Sub Class_Initialize() > Randomize > mname = strModuleName & ":" & Random(999999, 0) 'Make a random name > for > ourself > Set mFSO = New Scripting.FileSystemObject > End Sub > Private Sub Class_Terminate() > On Error Resume Next > Term > Set mobjChildren = Nothing > Set mobjParent = Nothing > Set mFSO = Nothing > mTS.Close > Set mTS = Nothing > End Sub > '*- Private Init/Terminate interface > > '*+ Public Init/Terminate interface > Public Function Init(ByRef robjParent As Object, _ > strFilePath As String, strFileName As String, > strFileExt As String, _ > Optional strDteFmt As String = "", Optional > strTimeFmt As String = "") As Boolean > On Error GoTo Err_Init > > mstrFilePath = strFilePath > mstrFileName = strFileName > mstrFileExt = strFileExt > mstrDteFmt = strDteFmt > mstrTimeFmt = strTimeFmt > ' > 'Now that we have stored the file spec pieces, create a file spec > mFmtFileSpec > > Exit_Init: > Exit Function > Err_Init: > MsgBox err.Description, , "Error in Function clsLWS.Init" > Resume Exit_Init > Resume 0 '.FOR TROUBLESHOOTING > End Function > 'CLEAN UP ALL OF THE CLASS POINTERS > Public Sub Term() > On Error Resume Next > End Sub > '*- Public Init/Terminate interface > > 'get the name of this class / module > Property Get strModuleName() As String > strModuleName = mcstrModuleName > End Property > 'get the pointer to this object's instance name > Public Property Get name() As String > name = mname > End Property > '*+ Parent/Child links interface > Property Get pFileName() As String > pFileName = mstrFileName > End Property > Property Let pFileName(strFileName As String) > mstrFileName = strFileName > End Property > Property Get pFileExt() As String > pFileExt = mstrFileExt > End Property > Property Let pFileExt(strFileExt As String) > mstrFileExt = strFileExt > End Property > Property Get pFilePath() As String > pFilePath = mstrFilePath > End Property > Property Let pFilePath(strFilePath As String) > mstrFilePath = strFilePath > End Property > Property Get pFileSpec() As String > pFileSpec = mstrFileSpec > End Property > Property Get pFSO() As Scripting.FileSystemObject > Set pFSO = mFSO > End Property > Property Get pTS() As Scripting.TextStream > Set pTS = mTS > End Property > '*- Parent/Child links interface > '*+ Withevents interface > '*- Withevents interface > '*+ Private class functions > '*- Private class functions > '*+ Public class functions > ' > 'This function creates the time string portion of the file spec at the > instant this function is called > ' > Private Function mFmtTime() As String > On Error GoTo Err_mFmtTime > If Len(mstrTimeFmt) Then > mstrTime = Format(Time(), mstrTimeFmt) > End If > mFmtTime = mstrTime > Exit_mFmtTime: > Exit Function > Err_mFmtTime: > MsgBox err.Description, , "Error in Function clsLogFile.mFmtTime" > Resume Exit_mFmtTime > Resume 0 '.FOR TROUBLESHOOTING > End Function > ' > 'This function creates the date string portion of the file spec at the > instant this function is called > ' > Private Function mFmtDte() As String > On Error GoTo Err_mFmtDte > If Len(mstrDteFmt) Then > mstrDte = Format(date, mstrDteFmt) > End If > mFmtDte = mstrDte > Exit_mFmtDte: > Exit Function > Err_mFmtDte: > MsgBox err.Description, , "Error in Function clsLogFile.mFmtDte" > Resume Exit_mFmtDte > Resume 0 '.FOR TROUBLESHOOTING > End Function > ' > 'This function creates the file spec string > ' > Function mFmtFileSpec() As String > mstrFileSpec = mstrFilePath & mstrFileName > If Len(mstrDteFmt) Then > mstrFileSpec = mstrFileSpec & "-" & mFmtDte > End If > If Len(mstrTimeFmt) Then > mstrFileSpec = mstrFileSpec & "-" & mFmtTime > End If > mstrFileSpec = mstrFileSpec & "." & mstrFileExt > End Function > Public Function mFSGetWrite() > Set mTS = mFSO.CreateTextFile(mstrFileSpec) > End Function > Public Function mFSGetRead() > Set mTS = mFSO.OpenTextFile(mstrFileSpec) > End Function > Public Function mFSClose() > mTS.Close > End Function > '*- Public class functions > > John W. Colby > Colby Consulting > www.ColbyConsulting.com > > -- > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com >