CBUILDER中相关流对象的讨论

第一章 概述

在CBUILDER中,存在以下几种流对象:

TFileStream

TMemoryStream

TStringStream

TWinSocketStream

TBlobStream

TOleStream

TClientBlobStream

TResourceStream

下面是以上各类的继承关系

TObject

|

TStream

|

+---------------------------+---------------------------+--------------------+-------------------+------------+

|         |         |       |      |    |

THandleStream TCustomMemoryStream TWinsocketStream TBlobStream TOleStream TStringStream

|         |

TFileStream TMemoryStream

|

+-------------------------------------------+

|              |

TClientBlobStream     TResourceStream

第二章 流对象的属性及方法简介

关于各属性和方法的详细语法请见CBUILDER的帮助

一. TStream介绍

属性

Position:当前位置指针

Size:流的大小,单位为字节

方法

CopyFrom:从一个流往另一个流拷贝数据

Read:从流中读取一定字节的数据到缓冲区,返回读取的字节数

ReadBuffer:从流中读取一定字节的数据到缓冲区,如不正确则异常

ReadComponent:从流中取出一个组件

ReadComponentRes:以Windows的资源文件格式从流中读取一组件

Seek:定位流的当前位置指针

SetSize:设置流的大小。

Write:从缓冲区中将一定字节的数据写入到流中,返回写入的字节数

WriteBuffer:从缓冲区中将一定字节的数据写入到流中,失败则异常

WriteComponent:将一组件写入到流中

WriteComponentRes:将一组件以Windows资源文件的格式写入到流中

注意:不能直接建立一个TStream类型的流对象

时间: 2024-10-01 10:44:41

CBUILDER中相关流对象的讨论的相关文章

C++中文件流的读写,在文件中录入相关对象数组信息,然后显示出来

问题描述 C++中文件流的读写,在文件中录入相关对象数组信息,然后显示出来 我想实现一个书籍的录入.修改.删除购买等一系列功能 定义了一个Book类 想实现将键盘上的信息录入到对象数组中,然后将对象数组中的信息写入到文本文件中, 所以定义了一个文件对象数组指针,用循环将Book中的对象与文件中对象相匹配 从而能够录入到文本文件中,修改时文本文件也同时修改,删除时文本文件中相应的信息也被删除 最后将实现这些功能后最新的book信息显示出来 --------我表达能力一直不怎么好,不知道大家听懂了没

浅谈C++应用程序中创建持久化对象

持久化的对象,是已经存储到数据库或保存到本地硬盘中的对象,我们称之为持久化对象.下面介绍C++中的持久化对象. 持久对象(persistent objects)广泛应用于游戏.分布式数据库系统.多媒体以及图形应用程序中.目前C++并不直接支持持久性(persistence)(但有一些在C++未来版本中添加持久性和反射(reflection)的建议). 持久对象可以在创建它的程序的作用域之外保持自身状态.把对象写入一个文件并在以后重建之,或者把对象传送到一台远程机器,就是这样的例子.对持久性的支持

在.Net 中枚举COM对象的方法和属性名称

对象 在.Net 中枚举COM对象的方法和属性名称 Author:Zee 恩,以前满世界问过这个问题,没有人理偶的说,还是自己动手搞定比较好. 一般来说,一个COM对象在提供的时候,通常还会提供一个类型库,在其中定义了COM对象的所有方法名称.参数名称.属性名称等等信息.我们要做的就是从类型库中取出这些信息.当然,某些只供C++程序员使用的COM对象没有类型库,而代之以C++的头文件和/或idl文件,对这种情况,一般没有办法在程序中枚举出对象的方法属性:毕竟去找C++头文件不太现实,何况在非开发

java IO之 序列流 集合对象Properties 打印流 流对象

序列流 也称为合并流. SequenceInputStream 序列流,对多个流进行合并. SequenceInputStream 表示其他输入流的逻辑串联.它从输入流的有序集合开始,并从 第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达 包含的最后一个输入流的文件末尾为止. 注意: 构造函数 SequenceInputStream(InputStream s1, InputStream s2) SequenceInputStream(InputStream s

Javascript学习1 - Javascript中的类型对象

原文:Javascript学习1 - Javascript中的类型对象 1.1关于Numbers对象.         常用的方法:number.toString() 不用具体介绍,把数字转换为字符串,相应的还有一个方法:toLocalString()                     number.toFixed(digits) 把numberl转换为小数,digits代表小数几位.         常用的与Number对应的全局函数:isNaN(vars) 判断vars是不是数字,  

浅析Node.js的Stream模块中的Readable对象_node.js

我一直都很不愿意扯 nodejs 的流,因为从第一次看到它我就觉得它的设计实在是太恶心了.但是没办法,Stream 规范尚未普及,而且确实有很多东西都依赖了 nodejs 的流来实现的,所以我也只能捏着鼻子硬着头皮来扯一扯这又臭又硬的 nodejs 流对象了. nodejs 自带了一个叫 stream 的模块,引入它便可以得到一组流对象构造器.现在我只说最简单的 stream.Readable. 其实用过 nodejs 的几乎都接触过 Readable 的实例,只是平时没太在意而已.一个非常典型

js中获取事件对象的方法小结_javascript技巧

复制代码 代码如下: var evt = window.event || arguments[0]; 下面分三种添加事件的方式讨论,你也许会看到以前没有看到过的获取方式. 1,第一种添加事件的方式,直接在html的属性中写JS代码 复制代码 代码如下: <div onclick="alert(4);">Div1 Element</div> 大概这是上世纪90年代的写法,那时候直接把js代码写在网页中很普遍,也许那时候的js并不太重要,只是用来做做验证或一些花哨的

HTML5中的Range对象的研究

一:Range对象的概念  Range对象代表页面上的一段连续区域,通过Range对象,可以获取或修改页面上的任何区域,可以通过如下创建一个空的Range对象,如下:       var  range = document.createRange(); 在html5中,每一个浏览器窗口及每一个窗口中都有一个selection对象,代表用户鼠标在页面中所选取的区域,(注意:经过测试IE9以下的浏览器不支持Selection对象), 可以通过如下语句创建selection对象:    var  se

如何在ado中使用connection 对象

ado|connection|对象 什么是connection对象? 一个connection对象描述了到数据源的物理连接.你可以使用odbc也可以利用ole db来连接数据源.当你打开一个connectiont对象时你就会试图连接数据库.Connection对象的state属性会告诉我们连接是否成功.通过connection对象的execute方法向数据源发送SQL语句或运行存存储过程.如果你向数据源发送的命令要求数据源返回记录集,那么记录集对象会自动的被创建.当你连接上数据库后你可以关闭co