delphi 中TMemoryStream类的具体用法

varmystream:TmemoryStream;TmpStr:string;MyStream:=TMemoryStream.Create;TmpStr:=Edit2.... var
mystream:TmemoryStream;
TmpStr:string;
MyStream:=TMemoryStream.Create;
TmpStr:=Edit2.Text;
try
MyStream.Write(TmpStr[1],Length(edit2.text));//z这里不懂 怎么不能直接用tmpsrt字符变量
NMudp1.sendstream(Mystream);
finally
具体问题是上面的 mysrteam 的write方法为什么 要用TmpStr[1],不能直接用tmpsrt
还有就是 MyStream.Write(TmpStr[1],Length(edit2.text))
这句执行的目的是什么 返回什么 把什么给了什么
展开
 我来答
就烦条0o
推荐于2016-07-08 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46489
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
用TmpStr[1]是因为DELPHI字符串类型的原因,因为长字符串中,TmpStr是代表的字符串存储的地址,而TmpStr[1]就是字符串第一个字符的位置,我是这么理解的。所以要用TmpStr[1]。
delphi的帮助中对TmemoryStream的write方法是这样描述的:
Writes Count bytes from Buffer to the current position in the memory buffer and updates the current position by Count bytes.

Delphi syntax:

function Write(const Buffer; Count: Longint): Longint; override;

C++ syntax:

virtual int __fastcall Write(const void *Buffer, int Count);

Description

Use Write to insert Count bytes into the memory buffer of the memory stream, starting at the current position. Write will increase the size of the memory buffer, if necessary, to accommodate the data being written in. If the current position is not the end of the memory buffer, Write will overwrite the data following the current position.

Write updates the Size property to Position + Count, and sets the Position property to the new value of Size. Thus, any data that was stored in the memory stream in the Count bytes after the current position is lost when calling Write.

Write always writes the Count bytes in the Buffer, unless there is a memory failure. Thus, for TMemoryStream, Write is equivalent to the WriteBuffer method.

All other data-writing methods of a memory stream (WriteBuffer, WriteComponent) call Write to do the actual writing.
---------------------
MyStream.Write(TmpStr[1],Length(edit2.text)) 是把TmpStr串中的内容写到MyStream内存流里面,Length(edit2.text)是写入的字符数
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式