Files
SourceCode/PROMS/Volian.Base.Library/DebugPrint.cs
T

120 lines
4.5 KiB
C#

using System;
using System.IO;
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 => MyStreamWriter != null;
private string _FileName = null;
public string FileName
{
get { return _FileName; }
set
{
if (IsOpen) Close();
_FileName = value;
MyFileInfo = new FileInfo(value);
}
}
public FileInfo MyFileInfo { get; set; }
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
{
public static int TotalPages { get; set; } = 0;
private static readonly 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 => _MyDebugPrint.IsOpen;
}
public static class DebugText
{
private static readonly 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 => _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 => _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 => _MyDebugPrint.IsOpen;
}
// C2018-004 create meta file for baseline compares
public static class BaselineMetaFile
{
private static readonly 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 => _MyDebugPrint.IsOpen;
public static bool IncludeWordSecText { get; set; } = true;
}
}