using System; using System.Collections.Generic; using System.Text; using System.IO; namespace Volian.Base.Library { public class DebugPrint { private StreamWriter _MyStreamWriter = null; public StreamWriter MyStreamWriter { get { return _MyStreamWriter; } set { if (_MyStreamWriter != null) _MyStreamWriter.Close(); _MyStreamWriter = value; } } public bool IsOpen { get { return MyStreamWriter != null; } } private string _FileName = null; public string FileName { get { return _FileName; } set { if (IsOpen) Close(); _FileName = value; MyFileInfo = new FileInfo(value); } } private FileInfo _MyFileInfo; public FileInfo MyFileInfo { get { return _MyFileInfo; } set { _MyFileInfo = value; } } public void Open(string fileName) { FileName = fileName; MyStreamWriter = MyFileInfo.CreateText(); } public void Close() { MyStreamWriter = null; } public void Write(string format, params object[] args) { if (IsOpen) MyStreamWriter.Write(format, args); } public void WriteLine(string format, params object[] args) { if (IsOpen) MyStreamWriter.WriteLine(format, args); } public void Show() { Close(); if (FileName != null) System.Diagnostics.Process.Start(FileName); //System.Diagnostics.Process.Start("Explorer", "/select," + FileName); } } public static class DebugPagination { private static DebugPrint _MyDebugPrint = new DebugPrint(); public static void Open(string fileName) { _MyDebugPrint.Open(fileName); } public static void Close() { _MyDebugPrint.Close(); } public static void Write(string format, params object[] args) { _MyDebugPrint.Write(format, args); } public static void WriteLine(string format, params object[] args) { _MyDebugPrint.WriteLine(format, args); } public static void Show() { _MyDebugPrint.Show(); } } public static class DebugText { private static DebugPrint _MyDebugPrint = new DebugPrint(); public static void Open(string fileName) { _MyDebugPrint.Open(fileName); } public static void Close() { _MyDebugPrint.Close(); } public static void Write(string format, params object[] args) { _MyDebugPrint.Write(format, args); } public static void WriteLine(string format, params object[] args) { _MyDebugPrint.WriteLine(format, args); } public static void Show() { _MyDebugPrint.Show(); } } }