数据存储到流几种形式(数据流 TStream)

1. 字符串存储到数据流
   s:string;
   l:=length(s);
   Stream.WriteBuffer(Pointer(s)^,length(s) );//字符串地址 及长度
读取字符串
    Text:string;  
    SetString(Text, nil, iLen);
    Stream.Read(Pointer(Text)^, iLen);

2.基本数据类型格式都是:数值,字节大小
  Stream.Write(ivalue, SizeOf(Integer));//整型
  Stream.Write(bValue, SizeOf(boolean));//布尔型
  读取
     Stream.Read(iLen, sizeof(Integer));
3.结构体存储
  type
     TDataHead=record
     id:integer;
     name:string[12];
     bValue:boolean;
     dvalue:double;
     end;
    pTDataHead=^TDataHead;//结构体指针
var
 DataHead:TDataHead;
 pDataHead:pTDataHead;//指针

 Stream.WriteBuffer(DataHead, sizeof(TDataHead));//结构体
 Stream.WriteBuffer(pDataHead^, sizeof(TDataHead));//结构体 指针
 需要说明的是:结构体套结构体,依然可以使用上述方法存储到数据流内, 反向读取后,数据完整,不会有错误
 读取
   Stream.Read(DataHead, sizeof(TDataHead));//结构体
   Stream.Read(pDataHead^, sizeof(TDataHead));//结构体 指针
4.数据流存储到流里
 TargetStream.CopyFrom(SourceStream, isize);
//isize=0,SourceStream所有数据全部存储到TargetStream
>0 SourceStream内isize字节数据存储到TargetStream内

TargetStream.WriteBuffer(SourceStream^, isize);//isize 同上


posted @ 2013-03-30 09:20  Wishmeluck  阅读(925)  评论(0编辑  收藏  举报