/** * ログの本体部分を取得 * <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); }
/** * バイナリエリアデータを読み込む */ 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); }