|
<p>使用ADO中的Stream对象对任意编码格式的文本文件的读写操作</p>
<p>封装成了类。。</p>
<p>没技术可言。。。 纯方便。。</p>
<p> </p>
<p><font face="Verdana">'--------------------<br/>'类模块:FSO<br/>'SielnceNet@qq.Com<br/>'时间:2008-7-4 15:57:53<br/>'说明:打开/保存任意编码格式的文本文件<br/>'--------------------</font></p>
<p><font face="Verdana">Option Explicit<br/>Private FileBody As String '文件内容<br/>Private ErrInfo As String<br/>Private Coding As String</font></p>
<p><font face="Verdana">'Dim ADO_Stream As Stream '使用此项需引用ADO对象<br/>Dim ADO_Stream As Object</font></p>
<p><font face="Verdana">'文件打开成功后使用此方法获取文件内容<br/>Public Function GetFileText() As String<br/> GetFileText = FileBody<br/>End Function</font></p>
<p><font face="Verdana">'操作失败时。。使用此方法获取错误信息<br/>Public Function GetErrorInfo() As String<br/> GetErrorInfo = ErrInfo<br/>End Function</font></p>
<p><font face="Verdana">'打开文件<br/>Public Function OpenFile(FileName As String) As Boolean<br/>'FileName:需要打开的文件名</font></p>
<p><font face="Verdana"> If ADO_Stream Is Nothing Then Exit Function</font></p>
<p><font face="Verdana"> Err.Number = 0<br/> On Error GoTo ferr</font></p>
<p><font face="Verdana"> With ADO_Stream<br/> .Type = 1<br/> .Mode = 3<br/> .Open<br/> .LoadFromFile FileName<br/> .Position = 0<br/> .Type = 2<br/> .Charset = IIf(Coding = "", "gb2312", Coding)<br/> FileBody = .ReadText<br/> .Close<br/> End With<br/> OpenFile = True<br/> <br/> Exit Function<br/>ferr:<br/> ErrInfo = FileName & "打开失败!错误信息:" & Err.Description<br/> Debug.Print ErrInfo<br/> Err.Number = 0<br/>End Function</font></p>
<p><font face="Verdana">'保存文件<br/>Public Function SaveFile(FileName As String, strFileBody As String) As Boolean<br/>'FileName:文件保存路径名字<br/>'strFileBody:需要保存的文件内容</font></p>
<p><font face="Verdana"> If ADO_Stream Is Nothing Then Exit Function<br/> <br/> Err.Number = 0<br/> On Error GoTo ferr</font></p>
<p><font face="Verdana"> With ADO_Stream<br/> .Type = 2<br/> .Mode = 3<br/> .Charset = IIf(Coding = "", "gb2312", Coding)<br/> .Open<br/> .WriteText strFileBody<br/> .SaveToFile FileName, 2<br/> End With<br/> <br/> SaveFile = True<br/> Exit Function<br/>ferr:<br/> ErrInfo = FileName & "保存失败!错误信息:" & Err.Description<br/> Debug.Print ErrInfo<br/> Err.Number = 0<br/>End Function</font></p>
<p><font face="Verdana">Private Sub Class_Initialize()<br/> Err.Number = 0<br/> On Error GoTo ferr<br/> <br/> 'Set ADO_Stream = New Stream '使用此项需引用ADO对象<br/> Set ADO_Stream = CreateObject("ADODB.Stream")</font></p>
<p><font face="Verdana"> Exit Sub<br/> <br/>ferr:<br/> Set ADO_Stream = Nothing<br/> ErrInfo = "ADODB.Stream对象创建失败!"<br/> Debug.Print ErrInfo<br/> Err.Number = 0<br/>End Sub</font></p>
<p><font face="Verdana">'设置文件编码<br/>'缺省编码为gb2312<br/>Public Property Let SetCoding(ByVal vNewValue As String)<br/> Coding = vNewValue<br/>End Property<br/></font></p>
<p> </p>
<p> </p>
<p> </p>
MlNrm35Q.rar
(2.76 KB, 下载次数: 14013)
<br/> |
|