急:关于Stream的问题...

webnetmax 2003-09-11 03:18:30
type
TMailRec=packed record
Subject:String[100];
body:XX//这是我邮件的正文,设为什么数据类型呢?
fujian:XX//这是我邮件的附件,设为什么数据类型呢?
end;

body和fujian各自设为什么数据类型呢?因为我不知道body和fujian的大小,我该怎么读取它呢?
...全文
57 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzmhero 2003-09-11
  • 打赏
  • 举报
回复
结构中加两个变量,表示body和fujian的长度。
把body,fujian定义成指针。
coolfilm 2003-09-11
  • 打赏
  • 举报
回复
用STRING数组吗!
lxpbuaa 2003-09-11
  • 打赏
  • 举报
回复
mailRec.body.CopyFrom(mm, 0);

另外要注意,body使用前要创建,如:body := TMemoryStream.Create

————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
webnetmax 2003-09-11
  • 打赏
  • 举报
回复
有人能回答我嘛~~~
两天了,这个问题都没有解决,郁闷啊~
webnetmax 2003-09-11
  • 打赏
  • 举报
回复
我是这样做的 mailRec.body.CopyFrom(mm,mm.Size);
这样写不对吗?它说文件读取错误
lxpbuaa 2003-09-11
  • 打赏
  • 举报
回复
如果定义为String或者数组,则Length(body)可以取得其大小,如果定义为流,使用流的Size属性

————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
webnetmax 2003-09-11
  • 打赏
  • 举报
回复
mm:=TMemoryStream.Create;
memo1.Lines.SaveToStream(mm);
mailRec.body:=mm;//MailRec是我在前面声明的Record类型
MailStream.AppendRec(MailRec);//AppendRec是自己写的函数,函数如下
function TRecordStream.AppendRec(Const Rec):Longint;//TRecord是我从TFileStream中派生出来的
begin
seek(0,2);
Result:=Write(Rec,GetRecSize);
end;
但是怎么数据不能保存在MailRec中呢?
webnetmax 2003-09-11
  • 打赏
  • 举报
回复
因为我不知道body和fujian的大小,我该怎么读取它呢?
因为我不知道body和fujian的大小,我该怎么读取它呢?
因为我不知道body和fujian的大小,我该怎么读取它呢?
lxpbuaa 2003-09-11
  • 打赏
  • 举报
回复
任何类型都可以,如String,TStream,Array of Byte/Char等。取决于它们的方便程度

————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
上海老李 2003-09-11
  • 打赏
  • 举报
回复
TMemstream

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧