TextStream.cls
上传用户:zhouyf163
上传日期:2010-02-28
资源大小:80k
文件大小:3k
源码类别:

图形/文字识别

开发平台:

Visual Basic

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "TextStream"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15. Public Enum TSOpenMode
  16.    ForAppending = 8
  17.    ForReading = 1
  18. End Enum
  19. Public Enum TSFormat
  20.    TristateUseDefault = -2
  21.    TristateTrue = -1
  22.    TristateFalse = 0
  23. End Enum
  24. Private mintHandle As Integer       ' File Handle
  25. Private mstrFileName As String      ' File Name To Open
  26. Private mintOpenMode As TSOpenMode  ' Open Mode
  27. Private mintFormat As TSFormat      ' Format
  28. Private mboolEOF As Boolean         ' Are we at end of file
  29. Public Function OpenTextFile(strFile As String, _
  30.                              Optional intOpenMode As TSOpenMode = ForReading, _
  31.                              Optional intFormat As TSFormat = TristateTrue) As Boolean
  32.    If strFile <> "" Then
  33.       mstrFileName = strFile
  34.       mboolEOF = False
  35.       mintOpenMode = intOpenMode
  36.       mintFormat = intFormat
  37.       
  38.       If intOpenMode = ForReading Then
  39.          Open mstrFileName For Input As #mintHandle
  40.       Else
  41.          Open mstrFileName For Output As #mintHandle
  42.       End If
  43.       
  44.       OpenTextFile = True
  45.    Else
  46.       OpenTextFile = False
  47.    End If
  48. End Function
  49. Public Function CloseFile() As Boolean
  50.    ' Valid File Handle ?
  51.    If mintHandle <> 0 Then
  52.       Close #mintHandle
  53.       
  54.       mintHandle = 0
  55.       
  56.       CloseFile = True
  57.    Else
  58.       CloseFile = False
  59.    End If
  60. End Function
  61. Public Function ReadLine() As String
  62.    Dim strLine As String
  63.    ' Valid File Handle ?
  64.    If mintHandle <> 0 Then
  65.       ' Are we at End Of File ?
  66.       If EOF(mintHandle) Then
  67.          mboolEOF = True
  68.          ReadLine = ""
  69.       Else
  70.          Line Input #mintHandle, strLine
  71.          ReadLine = strLine
  72.       End If
  73.    Else
  74.       ReadLine = ""
  75.       mboolEOF = True
  76.    End If
  77. End Function
  78. Property Let FileName(ByVal strFile As String)
  79.    mstrFileName = strFile
  80. End Property
  81. Property Get FileName() As String
  82.    FileName = mstrFileName
  83. End Property
  84. Property Get FileTooBig() As Boolean
  85.    If FileLen(mstrFileName) > 32768 Then
  86.       FileTooBig = True
  87.    Else
  88.       FileTooBig = False
  89.    End If
  90. End Property
  91. Public Function WriteLine(Optional strWrite As String = vbCrLf) As Boolean
  92.    If mintHandle <> 0 Then
  93.       Print #mintHandle, strWrite & vbCrLf
  94.       WriteLine = True
  95.    End If
  96. End Function
  97. Private Sub Class_Initialize()
  98.       mintHandle = FreeFile
  99. End Sub
  100. Private Sub Class_Terminate()
  101.    Dim boolRet As Boolean
  102.    
  103.    boolRet = CloseFile()
  104. End Sub
  105. Public Property Get AtEndOfStream() As Boolean
  106.    AtEndOfStream = mboolEOF
  107. End Property
  108. Public Property Let AtEndOfStream(ByVal boolEOF As Boolean)
  109.    mboolEOF = boolEOF
  110. End Property