Delphi中的流有什么作用?和字符串有什么区别? TStream用的很多,为什么有了字符串还要有流呢?我的理解是字符串和流为什么要区分成两个东西? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 流是内存块,可以是任意二进制的东东,例如文本、带格式的文本(richtxt)、图片等等 这都啥跟啥啊,stream跟string有毛关系 字符串和流是两个完全不同概念,它们之间没有可比性流的存在有很大意义,最主要原因它在内存中存储数据时是连续存储的有很多我们常见的实用的数据类型在内存保存都不是连续的,举个不恰当的例子,你想把一个stringList或一张图片(不是硬盘上的,是在内存中的图片,硬盘上所有的东西都是连续的,这里不说传送硬盘上的文件)从一台PC传给另一台PC,你怎么办?只有一个办法,传过去一块连续的内存buf,另一台收到buf的首字节,并得之这个buf的长度,这样两台PC就能通信了。所以传之前要把stringList或TBmp转成流,再统计出这个流的大小,发给对方就行了stringList在内存中不是连续的,这一块,那一块的,没法传送..同理,在同一台机器你调用DLL或COM组件或与另一个应用程序通信时,也会遇到同样的问题 SQL语句如何生成库存表 内存表kbmMemTable的数据怎么保存为二进制文件? 数据库批量查询求解 ADODataSet的FieldDefs设置问题.... 编译时出现fatal error :file not found "rtl.dll"? 升三星,放分喽 从表中取数据的时候如何在取得第一条和最后一条的数据 为着理想,战斗-同时略备薄礼(免费超大软件包),请笑纳 GetTcpTable怎么用? 请问有关通过IP地址得到远程机器名的问题! 取cpu号注册软件 [原创共享]开3389并可自定义端口(源码)
有很多我们常见的实用的数据类型在内存保存都不是连续的,举个不恰当的例子,你想把一个stringList或一张图片(不是硬盘上的,是在内存中的图片,硬盘上所有的东西都是连续的,这里不说传送硬盘上的文件)从一台PC传给另一台PC,你怎么办?
只有一个办法,传过去一块连续的内存buf,另一台收到buf的首字节,并得之这个buf的长度,这样两台PC就能通信了。
所以传之前要把stringList或TBmp转成流,再统计出这个流的大小,发给对方就行了
stringList在内存中不是连续的,这一块,那一块的,没法传送..同理,在同一台机器你调用DLL或COM组件或与另一个应用程序通信时,也会遇到同样的问题