예제 #1
0
        /**
         * ログの本体部分を取得
         * <body>~</body> の中の行をすべて取得する
         *
         */
        private MemLogAreaManager GetLogDataText(StreamReader sr)
        {
            MemLogAreaManager manager = new MemLogAreaManager();

            while (!sr.EndOfStream)
            {
                string line = sr.ReadLine().Trim();
                Dictionary <string, string> fields = SplitLineStr(line);

                if (fields.Count == 0)
                {
                    continue;
                }

                // 終了判定
                if (line.Equals("</body>"))
                {
                    return(manager);
                }
                else if (fields.ContainsKey("area"))
                {
                    MemLogArea area = GetMemAreaText(fields, manager);
                    manager.AddArea(area);
                }
                else if (fields.ContainsKey("log"))
                {
                    MemLogData log = GetMemLogText(fields);
                    manager.AddLogData(log);
                }
            }

            return(null);
        }
예제 #2
0
        /**
         * バイナリエリアデータを読み込む
         */
        private void ReadLogAreaBin(UFileStream fs)
        {
            MemLogArea area = new MemLogArea();

            // エリア名の長さ
            // エリア名
            area.Name = fs.GetSizeString();

            // 親のエリア名の長さ
            // 親のエリア名
            area.ParentArea = areaManager.searchArea(fs.GetSizeString());

            // 色
            area.Color = fs.GetUInt32();

            // エリアを追加
            areaManager.AddArea(area);
        }