05-10-12, 01:20 AM
كاتب المشاركة : samerselo
المثال الثانيهذا المثال الذي كنت أجرب عليه
كود :
Imports System.IO
Public Class ReturnTextFromaFile
Implements IDisposable
Private m_stream As Stream
Private m_RedText As String
Private m_FileName As String
Private buf() As Byte
Public Sub New(ByVal FName As String)
m_FileName = FName
End Sub
Public Function GetTextFromFile() As String
Try
m_stream = New FileStream(m_FileName, FileMode.Open)
ReDim buf(m_stream.Length)
m_stream.Read(buf, 0, m_stream.Length - 2)
m_stream.Close()
Dim enc As New System.Text.UnicodeEncoding
m_RedText = enc.GetString(buf)
Return m_RedText
Catch ex As Exception
MsgBox(ex.Message)
Finally
m_stream.Close()
End Try
Return "! - ERROR - !"
End Function
Private disposedValue As Boolean = False ' To detect redundant calls
' IDisposable
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
If Not Me.disposedValue Then
If disposing Then
' free other state (managed objects).
m_stream.Dispose()
End If
' free your own state (unmanaged objects).
' set large fields to null.
buf = Nothing
m_RedText = String.Empty
m_FileName = String.Empty
End If
Me.disposedValue = True
End Sub
#Region " IDisposable Support "
' This code added by Visual Basic to correctly implement the disposable pattern.
Public Sub Dispose() Implements IDisposable.Dispose
' Do not change this code. Put cleanup code in Dispose(ByVal disposing As Boolean) above.
Dispose(True)
GC.SuppressFinalize(Me)
End Sub
#End Region
End Classكود :
Private m_stream As Stream
Private m_RedText As String
Private m_FileName As String
Private buf() As Byteكود :
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
If Not Me.disposedValue Then
If disposing Then
' free other state (managed objects).
m_stream.Dispose()
End If
' free your own state (unmanaged objects).
' set large fields to null.
buf = Nothing
m_RedText = String.Empty
m_FileName = String.Empty
End If
Me.disposedValue = True
End Sub