Beispiel #1
0
        public SlfFile(SlfFile.Header aHeader, IEnumerable <SlfFile.Record> aRecords)
        {
            this.FHeader  = aHeader;
            this.FRecords = new SlfFile.Record[aHeader.iEntries];
            int i = 0;

            foreach (SlfFile.Record _record in aRecords)
            {
                this.FRecords[i] = _record;
                i++;
            }
        }
Beispiel #2
0
        private void Save(SlfFile.Header aHeader, SlfFile.Record[] aRecords, Stream aOutput)
        {
            Serializer _serializer = new Serializer(aOutput);

            _serializer.Serialize(aHeader);


            //Сначала пишем данные.
            //Заголовки должны быть отсортированы по именам файлов. См. SlfFile.Record.CompareTo.
            Array.Sort(aRecords);
            foreach (SlfFile.Record _rec in this.FRecords)
            {
                _rec.WriteData(aOutput);
            }



            //Заголовки файлов в конце SLF-архива!!!

            foreach (SlfFile.Record _rec in aRecords)
            {
                _rec.WriteHeader(_serializer);
            }
        }