如下面的一段代码可以吗?
type
 TRec=Record
   name:String[8];
   age:Word;
 End;  ini:=TIniFile.Create('d:\rec.dat');
  ms := TMemoryStream.Create;
  rec.name := '张三'; rec.age := 8;
  ms.Write(rec, SizeOf(rec));
  ini.WriteBinaryStream('MS','Stream',ms);怎么使用writeBinaryStream写ini文件啊?

解决方案 »

  1.   

    开始的时候老是写不进ini文件,后来我看了下writeBinaryStream源码,原来是我没设置ms的position属性,设置一下就好了
      

  2.   

    看看writeBinaryStream这个函数的定义procedure TCustomIniFile.WriteBinaryStream(const Section, Name: string;
      Value: TStream);
    var
      Text: string;
      Stream: TMemoryStream;
    begin
      SetLength(Text, (Value.Size - Value.Position) * 2);
      if Length(Text) > 0 then
      begin
        if Value is TMemoryStream then
          Stream := TMemoryStream(Value)
        else
          Stream := TMemoryStream.Create;    try
          if Stream <> Value then
          begin
            Stream.CopyFrom(Value, Value.Size - Value.Position);
            Stream.Position := 0;
          end;
          BinToHex(Pointer(Integer(Stream.Memory) + Stream.Position)^, PChar(Text),
            Stream.Size - Stream.Position);
        finally
          if Value <> Stream then
            Stream.Free;
        end;
      end;
      WriteString(Section, Name, Text);
    end;最后还是调用WriteString函数的 section 是节点名称  name是键值名 text是键值 相当于
    Section
      name= text 这样的形式 
    你上面的代码我看不懂你要写什么内容到文本文件 你就自己看着重写吧