static void ShowMapDetails(TextBox textBox, string fileName) { DateTime creationTime, modificationTime; long fileSize = 0; if (File.Exists(fileName)) { FileInfo existingMapFileInfo = new FileInfo(fileName); creationTime = existingMapFileInfo.CreationTime; modificationTime = existingMapFileInfo.LastWriteTime; fileSize = existingMapFileInfo.Length; } else if (Directory.Exists(fileName)) { DirectoryInfo dirInfo = new DirectoryInfo(fileName); creationTime = dirInfo.CreationTime; modificationTime = dirInfo.LastWriteTime; foreach (FileInfo finfo in dirInfo.GetFiles()) { fileSize += finfo.Length; } } else { textBox.Text = "File or directory \"" + fileName + "\" does not exist."; return; } MapFormat format = MapUtility.Identify(fileName); Map loadedMap; Exception loadingError = null; try { loadedMap = MapUtility.LoadHeader(fileName); } catch (Exception ex) { loadingError = ex; loadedMap = null; } if (loadedMap != null) { textBox.Text = String.Format( @" Location: {0} Format: {1} Filesize: {2} KB Created: {3} Modified: {4} Dimensions: {5}×{6}×{7} Blocks: {8}", fileName, format, (fileSize / 1024), creationTime.ToLongDateString(), modificationTime.ToLongDateString(), loadedMap.WidthX, loadedMap.WidthY, loadedMap.Height, loadedMap.WidthX * loadedMap.WidthY * loadedMap.Height); } else { textBox.Text = String.Format( @" Location: {0} Format: {1} Filesize: {2} KB Created: {3} Modified: {4} Could not load more information: {5}: {6}", fileName, format, (fileSize / 1024), creationTime.ToLongDateString(), modificationTime.ToLongDateString(), loadingError.GetType().Name, loadingError.Message); } }
static void ShowMapDetails(TextBox textBox, string fileName) { DateTime creationTime, modificationTime; long fileSize; if (File.Exists(fileName)) { FileInfo existingMapFileInfo = new FileInfo(fileName); creationTime = existingMapFileInfo.CreationTime; modificationTime = existingMapFileInfo.LastWriteTime; fileSize = existingMapFileInfo.Length; } else if (Directory.Exists(fileName)) { DirectoryInfo dirInfo = new DirectoryInfo(fileName); creationTime = dirInfo.CreationTime; modificationTime = dirInfo.LastWriteTime; fileSize = dirInfo.GetFiles().Sum(finfo => finfo.Length); } else { textBox.Text = "File or directory \"" + fileName + "\" does not exist."; return; } MapFormat format = MapUtility.Identify(fileName, true); try { Map loadedMap = MapUtility.LoadHeader(fileName); const string msgFormat = @" Location: {0} Format: {1} Filesize: {2} KB Created: {3} Modified: {4} Dimensions: {5}×{6}×{7} Blocks: {8}"; textBox.Text = String.Format(msgFormat, fileName, format, (fileSize / 1024), creationTime.ToLongDateString(), modificationTime.ToLongDateString(), loadedMap.Width, loadedMap.Length, loadedMap.Height, loadedMap.Volume); } catch (Exception ex) { const string msgFormat = @" Location: {0} Format: {1} Filesize: {2} KB Created: {3} Modified: {4} Could not load more information: {5}: {6}"; textBox.Text = String.Format(msgFormat, fileName, format, (fileSize / 1024), creationTime.ToLongDateString(), modificationTime.ToLongDateString(), ex.GetType().Name, ex.Message); } }
static void ShowMapDetails(TextBox textBox, string fileName) { DateTime creationTime, modificationTime; long fileSize; if (File.Exists(fileName)) { FileInfo existingMapFileInfo = new FileInfo(fileName); creationTime = existingMapFileInfo.CreationTime; modificationTime = existingMapFileInfo.LastWriteTime; fileSize = existingMapFileInfo.Length; } else if (Directory.Exists(fileName)) { DirectoryInfo dirInfo = new DirectoryInfo(fileName); creationTime = dirInfo.CreationTime; modificationTime = dirInfo.LastWriteTime; fileSize = dirInfo.GetFiles().Sum(finfo => finfo.Length); } else { textBox.Text = "File or directory \"" + fileName + "\" does not exist."; return; } MapFormat format = MapUtility.Identify(fileName, true); try { Map loadedMap; using (LogRecorder logRec = new LogRecorder()) { loadedMap = MapUtility.LoadHeader(fileName); if (logRec.HasMessages) { MessageBox.Show(logRec.MessageString); } } const string msgFormat = @" Location: {0} Format: {1} Filesize: {2} KB Created: {3} Modified: {4} Dimensions: {5}×{6}×{7} Blocks: {8}"; textBox.Text = String.Format(msgFormat, fileName, format, (fileSize / 1024), creationTime.ToLongDateString(), modificationTime.ToLongDateString(), loadedMap.Width, loadedMap.Length, loadedMap.Height, loadedMap.Volume); if (loadedMap.Zones.Count > 0) { StringBuilder sb = new StringBuilder(); sb.AppendLine(); sb.Append(" Zones: "); bool first = true; foreach (Zone zone in loadedMap.Zones) { if (!first) { sb.Append(" "); } sb.AppendFormat("{0} {1}", zone.Name, zone.Bounds.Dimensions); } textBox.AppendText(sb.ToString()); } } catch (Exception ex) { const string msgFormat = @" Location: {0} Format: {1} Filesize: {2} KB Created: {3} Modified: {4} Could not load more information: {5}: {6}"; textBox.Text = String.Format(msgFormat, fileName, format, (fileSize / 1024), creationTime.ToLongDateString(), modificationTime.ToLongDateString(), ex.GetType().Name, ex.Message); } }