您的位置:首页 > 编程语言 > VB

VBS之adodb.stream对象的方法/属性

2014-09-19 10:21 330 查看
adodb.stream对象的方法/属性

Cancel 方法

使用方法如下

Object.Cancel

说明:取消执行挂起的异步 Execute 或 Open 方法的调用。

Close 方法

使用方法如下

Object.Close

:关闭对像

CopyTo 方法

使用方法如下

Object.CopyTo(destStream,[CharNumber])

说明:将对像的数据复制,destStream指向要复制的对像,CharNumber为可选参数,指要复制的字节数,不选为全部复制。

Flush 方法

使用方法如下

Object.Flush

说明:

LoadFromFile 方法

使用方法如下

Object.LoadFromFile(FileName)

说明:将FileName指定的文件装入对像中,参数FileName为指定的用户名。

Open 方法

使用方法如下

Object.Open(Source,[Mode],[Options],[UserName],[Password])

说明:打开对像,

参数说明:Sourece 对像源,可不指定

Mode 指定打开模式,可不指定,可选参数如下:

adModeRead =1

adModeReadWrite =3

adModeRecursive =4194304

adModeShareDenyNone =16

adModeShareDenyRead =4

adModeShareDenyWrite =8

adModeShareExclusive =12

adModeUnknown =0

adModeWrite =2

Options 指定打开的选项,可不指定,可选参数如下:

adOpenStreamAsync =1

adOpenStreamFromRecord =4

adOpenStreamUnspecified=-1

UserName 指定用户名,可不指定。

Password 指定用户名的密码

Read 方法

使用方法如下:

Object.Read(Numbytes)

说明:读取指定长度的二进制内容。

参数说明:Numbytes指定的要读取的找度,不指定则读取全部。

ReadText 方法

使用方法如下:

Object.ReadText(NumChars)

说明:读取指定长度的文本

参数说明:NumChars指定的要读取的找度,不指定则读取全部。

SaveToFile 方法

使用方法如下:

Object.SaveToFile(FileName,[Options])

说明:将对像的内容写到FileName指定的文件中

参数说明:FileName指定的文件

Options 存取的选项,可不指定,可选参数如下:

adSaveCreateNotExist =1

adSaveCreateOverWrite =2

SetEOS 方法

使用方法如下:

Object.setEOS()

说明:

SkipLine 方法

使用方法如下:

Object.SkipLine()

说明:

Write 方法

使用方法如下:

Object.Write(Buffer)

说明:将指定的数据装入对像中。

参数说明:Buffer 为指定的要写入的内容。

WriteText 方法

使用方法如下:

Object.Write(Data,[Options])

说明:将指定的文本数据装入对像中。

参数说明:Data 为指定的要写入的内容。

Options 写入的选项,可不指定,可选参数如下:

adWriteChar =0

adWriteLine =1

有下列属性:

Charset

EOS 返回对像内数据是否为空。

LineSeparator 指定换行格式,可选参数有

adCR =13

adCRLF =-1

adLF =10

Mode 指定或返加模式。

Position 指定或返加对像内数据的当前指针。

Size 返回对像内数据的大小。

State 返加对像状态是否打开。

Type 指定或返回的数据类型,可选参数为:

adTypeBinary =1

adTypeText =2

-----------------------------------------------------------------------------------------------------------------------------------

Adodb.Stream 对象用于二进制数据流或文本流的读写和管理

带 ?? 是未理解的参数,可能是在网页代码中使用的

属性

Charset 字符集。默认为 Unicode 。全部字符集见附录

EOS 对象数据是否为空,返回值True|False

LineSeparator 分行符。默认值为-1,回车换行符

Mode 读写权限。初始值为 0

Position 光标位置。初始值为 0

Size 对象的大小

State 对象的状态

Type 数据类型。默认值为2,文本型

方法

Cancel 取消执行挂起的异步 Execute 或 Open 方法的调用 ??

Close 关闭对象

CopyTo 从源对象光标位置,复制数据到目标对象

Flush 把缓冲区中的内容发送到相关联的下层对象 ??

LoadFromFile 载入文件。需先打开对象

Open 打开对象

Read 读取二进制数据,并相应移动光标位置

ReadText 读取文本数据,并相应移动光标位置

SaveToFile 把对象的数据保存为文件

SetEOS 设置当前光标位置为数据的结尾

SkipLine 在读取一个文本流时跳过一行,并相应移动光标位置

Write 写入二进制数据,并相应移动光标位置

WriteText 写入文本数据,并相应移动光标位置

Adodb.Stream 对象在 vbs 里一般用于和 Msxml2.Xmlhttp 对象一起下载文件

也可用于处理文本

-----------------------------------------实例-----------------------------------------------------

Dim objAdodbStream, objAdodbStream2, strRead, binRead, intNumber

Set objAdodbStream = CreateObject("Adodb.Stream")

intNumber = objAdodbStream.State '返回对象的状态

Const adStateClosed = 0 '对象已关闭

Const adStateOpen = 1 '对象已打开

Const adStateConnecting = 2 '对象正在连接 ??

Const adStateExecuting = 4 '对象正在执行命令 ??

Const adStateFetching = 8 '正在检索对象的行 ??

strRead = objAdodbStream.Charset '返回当前字符集

objAdodbStream.Charset = "CN-GB" '设置字符集为CN-GB,也就是简体中文

intNumber = objAdodbStream.LineSeparator '返回当前分行符。默认值为 -1

objAdodbStream.LineSeparator = 13|-1|10 '设置分行符

Const adCR = 13 '回车

Const adCRLF = -1 '回车换行

Const adLF = 10 '换行

intNumber = objAdodbStream.Type '返回当前数据类型。默认为 2

objAdodbStream.Type = 1|2 '设置数据类型

Const adTypeBinary = 1 '二进制

Const adTypeText = 2 '文本

intNumber = objAdodbStream.Mode '返回当前读写权限。初始值为 0

objAdodbStream.Mode = 1|2|3 '设置读写权限

Const adModeUnknown = 0 '当前的权限未设置

Const adModeRead = 1 '只读

Const adModeWrite = 2 '只写

Const adModeReadWrite = 3 '读写

Const adModeShareDenyRead = 4 '阻止其他用户使用读权限打开 ??

Const adModeShareDenyWrite = 8 '阻止其他用户使用写权限打开 ??

Const adModeShareExclusive = 12 '阻止其他用户打开 ??

Const adModeShareDenyNone = 16 '允许其他用户使用任何权限打开??

Const adModeRecursive = 4194304 '用4|8|16权限设置子记录的权限??

objAdodbStream.Open Source,[Mode],[Options],[UserName],[Password] '打开对象

'Open 方法的参数用法未知

'Sourece 对象源,可不指定 ??

'Options 指定打开的选项,可不指定,可选参数如下: ??

Const adOpenStreamAsync = 1

Const adOpenStreamFromRecord = 4

Const adOpenStreamUnspecified = -1

'UserName 指定用户名,可不指定 ??

'Password 指定用户名的密码 ??

intNumber = objAdodbStream.Size '返回对象的大小

objAdodbStream.LoadFromFile "D:\test.txt" '载入文件

intNumber = objAdodbStream.Position '返回当前光标位置,初始值为 0

objAdodbStream.Position = 2 '设置光标位置

'设置光标位置。必须以读写权限打开文件 .Mode = 3

objAdodbStream.SkipLine '在读取一个文本流时跳过一行

strRead = objAdodbStream.ReadText(3) '读取文本数据

'从当前光标位置处,读取3个字节的文本数据。不指定字节数则读取全部

objAdodbStream.WriteText "abc", 0|1 '写入文本数据

'从当前光标位置处,覆盖写入(注意不是插入)文本数据。回车换行算2个字符

Const adWriteChar = 0 '仅插入指定的数据。缺省值

Const adWriteLine = 1 '插入数据后,回车换行

binRead = objAdodbStream.Read(3) '读取二进制数据

'从当前光标位置处,读取3个字节的二进制数据。不指定字节数则读取全部

objAdodbStream.Write binRead '写入二进制数据

'从当前光标位置处,覆盖写入(注意不是插入)二进制数据。回车换行算2个字符

objAdodbStream.SetEOS '设置当前光标位置为数据的结尾

objAdodbStream.SaveToFile "D:\test1.txt", 1|2 '把对象的数据保存为文件

Const adSaveCreateNotExist = 1 '不覆盖已有文件。缺省值

Const adSaveCreateOverWrite = 2 '覆盖已有文件

blnYN = objAdodbStream.EOS '对象数据是否为空

'对象数据是否为空,返回True|False。需打开对象

'Open 后为 True

'Write 后还是为 True,即使这时 Size > 0

'SaveToFile 后才为 False

Set objAdodbStream2 = CreateObject("Adodb.Stream")

With objAdodbStream2

.Charset = "CN-GB"

.type = 2

.mode = 3

.open

objAdodbStream.CopyTo objAdodbStream2, 3

'从objAdodbStream光标位置复制3个字节的数据到objAdodbStream2。不指定则全部复制

.SaveToFile "D:\test2.txt", 2

End With

objAdodbStream.Close '关闭对象

-------------------一个实例,和 Msxml2.Xmlhttp 对象一起下载文件-------------------------

Dim objMsxml2Xmlhttp, objAdodbStream, strUrl, BinTemp

Set objMsxml2Xmlhttp = CreateObject("Msxml2.Xmlhttp")

Set objAdodbStream = CreateObject("Adodb.Stream")

strUrl = "http://www.baidu.com/img/baidu_sylogo1.gif"

With objMsxml2Xmlhttp '下载数据

.Open "get", strUrl, False

.Send

BinTemp = .ResponseBody

End With

With objAdodbStream '保存为文件

.Type = 1

.Mode = 3

.Open

.Write BinTemp

.SaveToFile "D:\baidu_sylogo1.gif"

.Close

End With
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: