using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Windows.Forms; namespace Volian.Base.Library { public class DebugPrint:IDisposable { public void Dispose() { Close(); } private StreamWriter _MyStreamWriter = null; public StreamWriter MyStreamWriter { get { return _MyStreamWriter; } set { if (_MyStreamWriter != null) { _MyStreamWriter.Flush(); _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 int _TotalPages = 0; public static int TotalPages { get { return _TotalPages; } set { _TotalPages = value; } } private static DebugPrint _MyDebugPrint = new DebugPrint(); public static void Open(string fileName) { _MyDebugPrint.Open(fileName); } public static void Close() { WriteLine("{0} Total Pages", TotalPages); _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 bool IsOpen { get { return _MyDebugPrint.IsOpen; } } } 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(); } public static bool IsOpen { get { return _MyDebugPrint.IsOpen; } } } public static class DebugProfile { private static DebugPrint _MyDebugPrint = new DebugPrint(); public static void Open(string fileName) { _MyDebugPrint.Open(fileName); } public static void Close() { _MyDebugPrint.Close(); _MyDebugPrint = null; } 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 bool IsOpen { get { return _MyDebugPrint.IsOpen; } } } public static class DebugDBTrack { private static DebugPrint _MyDebugPrint = new DebugPrint(); public static void Open(string fileName) { _MyDebugPrint.Open(fileName); } public static void Close() { _MyDebugPrint.Close(); _MyDebugPrint = null; } 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 bool IsOpen { get { return _MyDebugPrint.IsOpen; } } } // C2018-004 create meta file for baseline compares public static class BaselineMetaFile { private static DebugPrint _MyDebugPrint = new DebugPrint(); private static DebugPrint _MyDebugPrint_Truncated = new DebugPrint(); public static void Open(string fileName) { _MyDebugPrint.Open(fileName); _MyDebugPrint_Truncated.Open(fileName.Replace(".txt", "_Truncated.txt")); } public static void Close() { _MyDebugPrint.Close(); _MyDebugPrint_Truncated.Close(); } public static void Write(string format, params object[] args) { if (args.GetUpperBound(0) != -1) // are there arguments? { if (args[args.GetUpperBound(0)] == "truncate_false") // if there is a 9th element test the value for truncated data. { _MyDebugPrint.Write(format, args); // only save to DebugMeta.txt if there is different truncate data. } else { _MyDebugPrint_Truncated.Write(format, args); // Save to both files if there is no special truncate data. _MyDebugPrint.Write(format, args); } } else { _MyDebugPrint_Truncated.Write(format, args); _MyDebugPrint.Write(format, args); } } public static void WriteLine(string format, params object[] args) { if (args.GetUpperBound(0) != -1) // are there arguments? { if (args[args.GetUpperBound(0)] == "truncate_false") // if there is a 9th element test the value for truncated data. { _MyDebugPrint.WriteLine(format, args); // only save to DebugMeta.txt if there is different truncate data. } else { _MyDebugPrint_Truncated.WriteLine(format, args); // Save to both files if there is no special truncate data. _MyDebugPrint.WriteLine(format, args); } } else { _MyDebugPrint_Truncated.WriteLine(format, args); _MyDebugPrint.WriteLine(format, args); } } public static void TruncateWriteLine(string format, params object[] args) { _MyDebugPrint_Truncated.WriteLine(format, args); } public static void TruncateWrite(string format, params object[] args) { _MyDebugPrint_Truncated.Write(format, args); // SaveFileDialog special truncate data } public static void Show() { _MyDebugPrint.Show(); _MyDebugPrint_Truncated.Show(); } public static bool IsOpen { get { return _MyDebugPrint.IsOpen; } } private static bool _IncludeWordSecText = true; public static bool IncludeWordSecText { get { return BaselineMetaFile._IncludeWordSecText; } set { BaselineMetaFile._IncludeWordSecText = value; } } } }