[AccessD] Log file - part 2

JWColby jwcolby at colbyconsulting.com
Sat Jan 6 11:21:16 CST 2007


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
 



More information about the AccessD mailing list