Esempio n. 1
0
        public void Process()
        {
            RandomAccess ra = RandomAccess.GetInstance();

            ra.position = 0;

            Addr = ra.leLong();
            if (Addr != 0)
            {
                throw new Exception("File doesn't start with 0x00000000 - it's not a TPS databse");
            }

            HeaderSize        = ra.leShort();
            FileLength1       = ra.leLong();
            FileLength2       = ra.leLong();
            TopSpeed          = ra.fixedLengthString(4);
            Zeros             = ra.leShort();
            LastIssuedRow     = ra.beLong();
            Changes           = ra.leLong();
            ManagementPageRef = ra.toFileOffset(ra.leLong());

            PageStart = ra.toFileOffset(ra.leLongArray((0x110 - 0x20) / 4));
            PageEnd   = ra.toFileOffset(ra.leLongArray((0x200 - 0x110) / 4));
        }