Beispiel #1
0
 private static void WriteGroup(BinaryWriter bw, GroupRecord gr)
 {
     WriteString(bw, "GRUP");
     long pos=bw.BaseStream.Position;
     bw.Write(0);
     bw.Write(gr.GetReadonlyData());
     bw.Write(gr.groupType);
     bw.Write(gr.dateStamp);
     bw.Write(gr.flags);
     long start=bw.BaseStream.Position;
     foreach(Rec r in gr.Records) {
         if(r is GroupRecord) WriteGroup(bw, (GroupRecord)r);
         else WriteRecord(bw, (Record)r);
     }
     long end=bw.BaseStream.Position;
     bw.BaseStream.Position=pos;
     bw.Write((uint)(24+(end-start)));
     bw.BaseStream.Position=bw.BaseStream.Length;
 }