Esempio n. 1
0
        public void read(BinaryReader br, float ver)
        {
            TreeNode curnode  = tr;
            Byte     depth    = br.ReadByte();
            Byte     predepth = 0;

            while (depth != 0)
            {
                MFString nm = new MFString("");
                nm.read(br, ver);
                TreeNode nd = new TreeNode(nm.value());
                if (depth == predepth)
                {
                    curnode.Parent.Nodes.Add(nd);
                }
                else if (depth > predepth)
                {
                    curnode.Nodes.Add(nd);
                }
                else
                {
                    int      dd  = predepth - depth;
                    TreeNode snd = curnode.Parent;
                    while (dd > 0)
                    {
                        snd = snd.Parent;
                        dd--;
                    }
                    snd.Nodes.Add(nd);
                }
                curnode  = nd;
                predepth = depth;
                depth    = br.ReadByte();
            }
        }
Esempio n. 2
0
        public void LoadFromFile(String filename, TextBox log)
        {
            log.Clear();
            FileStream   sfs = new FileStream(filename, FileMode.Open);
            BinaryReader fs  = new BinaryReader(sfs, Encoding.GetEncoding("Windows-1251"));

            Objread(Ver, fs, log);
            String sv = Ver.value();

            Dver = float.Parse(sv.Substring(sv.IndexOf(" V") + 2).Replace('.', ','));
            if (Dver < 4)
            {
                Objread(Date, fs, log);
                Objread(Date, fs, log);
            }
            if (Dver > 3.0)
            {
                L1.Add(Graphform);
            }
            if (Dver > 3.9)
            {
                L1.Add(Arcform);
            }
            if (Dver > 4.3)
            {
                L1.Add(Thisfarm); L1.Add(Farmid);
            }
            if (Dver > 5.1)
            {
                L1.Add(Wlist);
            }

            Readobjs(L1, fs, log);
            log.Text += String.Format("\r\nREAD ENDS AT FILEPOS {0:d} ({0:X}) OF {1:d} ({1:X})", sfs.Position, sfs.Length);
            fs.Close();
            sfs.Close();
            _label_total = _label_nm = "";
        }