COM(Component Object Model),一种对象的格式。凡是依照COM 的规格所制作出来的组件,皆可以提供功能让其它程序或组件所使用。要使用COM 组件,可以使用Server 对象的CreateObject、CreateObjectFromClsid、CreateObjectStatic 这三种方法。但是若要建立有使用者接口的COM 组件(就是ActiveX 控件,另一种规格的COM 组件),则必须使用<Object> 标注。CreateObject 和CreateObjectStatic 使用方式一样,我们只要传入ProgId(用来识别COM组件的唯一代码,每一个组件皆不同)即可;而CreateObjectStatic 方法则是传入代表这个COM组件的ProgId(COM 组件在操作系统里的名称)。其语法如下所示:
对象变量=Server.CreateObject("ProgId")
对象变量=Server.CreateObjectStatic("ProgId")
对象变量=Server.CreateObjectFromClsid("ClsId")
下列范例建立一个可以存取档案的FileSystemObject 对象,并读取一个文字文件。以下为文字文件内容:
使用档案系统对象来读取存在磁盘的文件
案记得将换行字符改成HTML 的断行字符程序内容如下所示:
<Html>
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object,e As Eventargs)
Dim Content As String
Dim objFile As Object
fsoA=Server.CreateObject("Scripting.FileSystemObject")
objFile=fsoA.OpenTextFile(Server.MapPath("TextFile.txt"),1,False)
If objFile.AtEndOfStream=False Then
Content=objFile.ReadAll
Content=Replace(Content,Chr(13),"<Br>")
Response.Write(Content)
End If
End Sub
</Script>
</Html>
上述程序代码中我们建立一个名为fsoA 的FileSystemObject 对象,然后用fsoA 对象的OpenTextFile 方法来开启文字文件。因为OpenTextFile 的传回值是TextStream 对象,所以使用一个对象变量objFile 来接收。接下来判断objFile 对象的AtEndOfStream 属性,若为True 代表已经到达档案的结尾位置,则不做任何动作。接下来使用objFile 对象的ReadAll 方法将档案内容全部读出到字符串变量Content 内,然后将Content 内的断行字符VbCrLf 转换为HTML 断行标注<Br> 后输出Content 的内容。上述程序将CreateObject 改为CreateObjectFromClsId方法,并将传入档案对象的Clsid「0D43FE01-F093-11CF-8940-00A0C9054228」,最后的结果都是一样的。
<Html>
<Script Language="VB" Runat="Server">
Sub Page_Load(Sender As Object,e As Eventargs)
Dim Content As String
Dim objFile As Object
fsoA=Server.CreateObjectFromClsid("0D43FE01-F093-11CF-8940-00A0C90542
28")
objFile=fsoA.OpenTextFile(Server.MapPath("TextFile.txt"),1,False)
If objFile.AtEndOfStream=False Then
Content=objFile.ReadAll
Content=Replace(Content,Chr(13),"<Br>")
Response.Write(Content)
End If
End Sub
</Script>
</Html>
文章来源于领测软件测试网 https://www.ltesting.net/