本帖最后由 czjt1234 于 2012-10-1 08:56 编辑
- 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 '关闭对象
复制代码
|