diff --git a/anbs_cp/CountFormatter.cs b/anbs_cp/CountFormatter.cs
index 05bba3a..569e748 100644
--- a/anbs_cp/CountFormatter.cs
+++ b/anbs_cp/CountFormatter.cs
@@ -1,34 +1,33 @@
-namespace anbs_cp
-{
- ///
- /// Форматирует число элементов в понятную строку
- ///
- public class CountFormatter : IValueFormatter
- {
- #region Cвойства класса
- ///
- /// Имена чисел (тысяч, миллионов, миллиардов и т.п.)
- ///
- public string[] CountNames { get; set; } = { "", "тыс.", "млн.", "млрд." };
- ///
- /// Знаков после запятой
- ///
- public byte DecimalPlaces { get; set; } = 1;
- ///
- /// Делители чисел
- ///
- public long[] Delimeters { get; set; } = { 1000, 1000000, 1000000000 };
- #endregion
+namespace anbs_cp;
- #region Реализация интерфейса
- ///
- /// Реализация интерфейса
- ///
- public string[] ValueNames { get => CountNames; set => CountNames = value; }
- ///
- /// Реализация интерфейса
- ///
- public long[] MaxSizes { get => Delimeters; set => Delimeters = value; }
- #endregion
- }
+///
+/// Форматирует число элементов в понятную строку
+///
+public class CountFormatter: IValueFormatter
+{
+ #region Cвойства класса
+ ///
+ /// Имена чисел (тысяч, миллионов, миллиардов и т.п.)
+ ///
+ public string[] CountNames { get; set; } = { "", "тыс.", "млн.", "млрд." };
+ ///
+ /// Знаков после запятой
+ ///
+ public byte DecimalPlaces { get; set; } = 1;
+ ///
+ /// Делители чисел
+ ///
+ public long[] Delimeters { get; set; } = { 1000, 1000000, 1000000000 };
+ #endregion
+
+ #region Реализация интерфейса
+ ///
+ /// Реализация интерфейса
+ ///
+ public string[] ValueNames { get => CountNames; set => CountNames = value; }
+ ///
+ /// Реализация интерфейса
+ ///
+ public long[] MaxSizes { get => Delimeters; set => Delimeters = value; }
+ #endregion
}
\ No newline at end of file
diff --git a/anbs_cp/FileSizeFormatter.cs b/anbs_cp/FileSizeFormatter.cs
index a4cbd33..d7bc608 100644
--- a/anbs_cp/FileSizeFormatter.cs
+++ b/anbs_cp/FileSizeFormatter.cs
@@ -1,56 +1,55 @@
-namespace anbs_cp
-{
- ///
- /// Форматирует размер файла/папки в понятную строку
- ///
- public class FileSizeFormatter : IValueFormatter
- {
- #region Cвойства класса
- ///
- /// Имена размеров (байт, килобайт, мегабайт, гигабайт и террабайт)
- ///
- public string[] SizeNames { get; set; } = { "Байт", "Кб", "Мб", "Гб", "Тб" };
- ///
- /// Знаков после запятой
- ///
- public byte DecimalPlaces { get; set; } = 2;
- ///
- /// Максимально байт (далее идут Кбайты)
- ///
- public long ByteMax { get; set; } = 1024;
- ///
- /// Максимально Кбайт (далее идут Мбайты)
- ///
- public long KByteMax { get; set; } = 1048576;
- ///
- /// Максимально Мбайт (далее идут Гбайты)
- ///
- public long MByteMax { get; set; } = 1073741824;
- ///
- /// Максимально Гбайт (далее идут Тбайты)
- ///
- public long GByteMax { get; set; } = 1099511627776;
- #endregion
+namespace anbs_cp;
- #region Реализация интерфейса
- ///
- /// Реализация интерфейса
- ///
- public string[] ValueNames { get => SizeNames; set => SizeNames = value; }
- ///
- /// Реализация интерфейса
- ///
- public long[] MaxSizes
+///
+/// Форматирует размер файла/папки в понятную строку
+///
+public class FileSizeFormatter: IValueFormatter
+{
+ #region Cвойства класса
+ ///
+ /// Имена размеров (байт, килобайт, мегабайт, гигабайт и террабайт)
+ ///
+ public string[] SizeNames { get; set; } = { "Байт", "Кб", "Мб", "Гб", "Тб" };
+ ///
+ /// Знаков после запятой
+ ///
+ public byte DecimalPlaces { get; set; } = 2;
+ ///
+ /// Максимально байт (далее идут Кбайты)
+ ///
+ public long ByteMax { get; set; } = 1024;
+ ///
+ /// Максимально Кбайт (далее идут Мбайты)
+ ///
+ public long KByteMax { get; set; } = 1048576;
+ ///
+ /// Максимально Мбайт (далее идут Гбайты)
+ ///
+ public long MByteMax { get; set; } = 1073741824;
+ ///
+ /// Максимально Гбайт (далее идут Тбайты)
+ ///
+ public long GByteMax { get; set; } = 1099511627776;
+ #endregion
+
+ #region Реализация интерфейса
+ ///
+ /// Реализация интерфейса
+ ///
+ public string[] ValueNames { get => SizeNames; set => SizeNames = value; }
+ ///
+ /// Реализация интерфейса
+ ///
+ public long[] MaxSizes
+ {
+ get => new long[] { ByteMax, KByteMax, MByteMax, GByteMax };
+ set
{
- get => new long[] { ByteMax, KByteMax, MByteMax, GByteMax };
- set
- {
- ByteMax = value[0];
- KByteMax = value[1];
- MByteMax = value[2];
- GByteMax = value[3];
- }
+ ByteMax = value[0];
+ KByteMax = value[1];
+ MByteMax = value[2];
+ GByteMax = value[3];
}
- #endregion
}
+ #endregion
}
\ No newline at end of file
diff --git a/anbs_cp/IValueFormatter.cs b/anbs_cp/IValueFormatter.cs
index 36e0d3b..ec2cd98 100644
--- a/anbs_cp/IValueFormatter.cs
+++ b/anbs_cp/IValueFormatter.cs
@@ -1,82 +1,75 @@
-namespace anbs_cp
+namespace anbs_cp;
+
+///
+/// Форматирует размерности в понятную строку
+///
+public interface IValueFormatter
{
+
+ #region Определения интерфейса
///
- /// Форматирует размерности в понятную строку
+ /// Имена размерностей
///
- public interface IValueFormatter
+ public string[] ValueNames { get; set; }
+ ///
+ /// Знаков после запятой
+ ///
+ public byte DecimalPlaces { get; set; }
+ ///
+ /// Максимальные размеры (массив ulong[4])
+ ///
+ public long[] MaxSizes { get; set; }
+ #endregion
+
+ #region Методы интерфейса
+ ///
+ /// Форматирование размерности
+ ///
+ /// Размерность, требующая форматирования
+ /// Форматированная размерность (например, 20 Мб)
+ public string Format (long value)
{
+ //Левая граница
+ long leftnum;
+ //Правая граница
+ long rightnum;
- #region Определения интерфейса
- ///
- /// Имена размерностей
- ///
- public string[] ValueNames { get; set; }
- ///
- /// Знаков после запятой
- ///
- public byte DecimalPlaces { get; set; }
- ///
- /// Максимальные размеры (массив ulong[4])
- ///
- public long[] MaxSizes { get; set; }
- #endregion
-
- #region Методы интерфейса
- ///
- /// Форматирование размерности
- ///
- /// Размерность, требующая форматирования
- /// Форматированная размерность (например, 20 Мб)
- public string Format(long value)
+ for (int i = 0; i <= MaxSizes.Length; i++)
{
- //Левая граница
- long leftnum;
- //Правая граница
- long rightnum;
+ leftnum = i == 0 ? 0 : MaxSizes[i - 1];
- for (int i = 0; i <= MaxSizes.Length; i++)
- {
- if (i == 0)
- leftnum = 0;
- else
- leftnum = MaxSizes[i - 1];
+ rightnum = i == MaxSizes.Length ? long.MaxValue : MaxSizes[i];
- if (i == MaxSizes.Length)
- rightnum = long.MaxValue;
- else
- rightnum = MaxSizes[i];
+ if ((value >= leftnum) && (value < rightnum))
+ return $"{FormatValue(value, leftnum)} {ValueNames[i]}";
- if ((value >= leftnum) && (value < rightnum))
- return $"{FormatValue(value, leftnum)} {ValueNames[i]}";
-
- }
-
- return value.ToString();
}
- ///
- /// Деление числа на число с DecimalPlaces знаками после запятой
- ///
- /// Делимое число
- /// Число-делитель
- /// Частное (с DecimalPlaces знаками после запятой)
- private string FormatValue(long dividend, long divider)
- {
- if (divider == 0)
- {
- return $"{dividend}";
- }
- long delim = 1;
-
- for (int i = 0; i <= DecimalPlaces; i++)
- {
- delim *= 10;
- }
-
- decimal value = Math.Round((decimal)(dividend * delim / divider)) / delim;
-
- return $"{value}";
- }
- #endregion
+ return value.ToString();
}
+ ///
+ /// Деление числа на число с DecimalPlaces знаками после запятой
+ ///
+ /// Делимое число
+ /// Число-делитель
+ /// Частное (с DecimalPlaces знаками после запятой)
+ private string FormatValue (long dividend, long divider)
+ {
+ if (divider == 0)
+ {
+ return $"{dividend}";
+ }
+
+ long delim = 1;
+
+ for (int i = 0; i <= DecimalPlaces; i++)
+ {
+ delim *= 10;
+ }
+
+ decimal value = Math.Round((decimal)(dividend * delim / divider)) / delim;
+
+ return $"{value}";
+ }
+ #endregion
}
\ No newline at end of file
diff --git a/anbs_cp/LikeDelphi.cs b/anbs_cp/LikeDelphi.cs
index bf6831d..59d694b 100644
--- a/anbs_cp/LikeDelphi.cs
+++ b/anbs_cp/LikeDelphi.cs
@@ -1,48 +1,46 @@
-using System.Collections.Generic;
-namespace anbs_cp
+namespace anbs_cp;
+
+///
+/// Класс, добавляющий реализацию некоторых методов Delphi, которые упрощают работу в C#.
+///
+public static class LikeDelphi
{
///
- /// Класс, добавляющий реализацию некоторых методов Delphi, которые упрощают работу в C#.
+ /// Аналог функции IncludeTrailingBackslash
///
- public static class LikeDelphi
+ /// Путь, к которому нужно добавить slash
+ /// Путь со slash в конце
+ public static string IncludeTrailingBackslash (string path)
{
- ///
- /// Аналог функции IncludeTrailingBackslash
- ///
- /// Путь, к которому нужно добавить slash
- /// Путь со slash в конце
- public static string IncludeTrailingBackslash(string path)
+ string result = path;
+ int Index = path.Length - 1;
+ if (path[Index] != '\\')
{
- string result = path;
- int Index = path.Length - 1;
- if (path[Index] != '\\')
- {
- result = $"{path}\\";
- }
- return result;
+ result = $"{path}\\";
}
- ///
- /// Парсер строки в множество строк
- ///
- /// Строка, которую нужно разбить
- /// Символ-делитель строки
- /// Массив строк
- public static List ParseString(string astring, char delim)
+ return result;
+ }
+ ///
+ /// Парсер строки в множество строк
+ ///
+ /// Строка, которую нужно разбить
+ /// Символ-делитель строки
+ /// Массив строк
+ public static List ParseString (string astring, char delim)
+ {
+ int from = -1;
+ int to;
+ List result = new();
+ do
{
- int from = -1;
- int to;
- List result = new();
- do
- {
- from++;
- to = astring.IndexOf(delim, from);
- if (to <= 0)
- to = astring.Length;
- if (from != to)
- result.Add(astring[from..(to-from)]);
- from = to;
- } while (to != astring.Length);
- return result;
- }
+ from++;
+ to = astring.IndexOf(delim, from);
+ if (to <= 0)
+ to = astring.Length;
+ if (from != to)
+ result.Add(astring[from..(to - from)]);
+ from = to;
+ } while (to != astring.Length);
+ return result;
}
}
\ No newline at end of file
diff --git a/anbs_cp/TypeConverter.cs b/anbs_cp/TypeConverter.cs
index 3ab4951..5542364 100644
--- a/anbs_cp/TypeConverter.cs
+++ b/anbs_cp/TypeConverter.cs
@@ -1,114 +1,113 @@
-namespace anbs_cp
-{
- ///
- /// Конвертер типов на манер Delphi
- ///
- public static class TypeConverter
- {
- #region Конвертация числа в строку
- ///
- /// Преобразование int в string
- ///
- /// Число
- /// Строка
- public static string IntToStr(int AInt) => AInt.ToString();
- ///
- /// Преобразование uint в string
- ///
- /// Число
- /// Строка
- public static string IntToStr(uint AInt) => AInt.ToString();
- ///
- /// Преобразование long в string
- ///
- /// Число
- /// Строка
- public static string IntToStr(long AInt) => AInt.ToString();
- ///
- /// Преобразование ulong в string
- ///
- /// Число
- /// Строка
- public static string IntToStr(ulong AInt) => AInt.ToString();
- ///
- /// Преобразование byte в string
- ///
- /// Число
- /// Строка
- public static string IntToStr(byte AInt) => AInt.ToString();
- #endregion
+namespace anbs_cp;
- #region Конвертация строки в число
- ///
- /// Преобразование строки в число
- ///
- /// Строка
- /// Значение по умолчанию (по умолчанию, 0)
- /// Число
- public static int StrToInt(string AStr, int ADefault = 0)
+///
+/// Конвертер типов на манер Delphi
+///
+public static class TypeConverter
+{
+ #region Конвертация числа в строку
+ ///
+ /// Преобразование int в string
+ ///
+ /// Число
+ /// Строка
+ public static string IntToStr (int AInt) => AInt.ToString();
+ ///
+ /// Преобразование uint в string
+ ///
+ /// Число
+ /// Строка
+ public static string IntToStr (uint AInt) => AInt.ToString();
+ ///
+ /// Преобразование long в string
+ ///
+ /// Число
+ /// Строка
+ public static string IntToStr (long AInt) => AInt.ToString();
+ ///
+ /// Преобразование ulong в string
+ ///
+ /// Число
+ /// Строка
+ public static string IntToStr (ulong AInt) => AInt.ToString();
+ ///
+ /// Преобразование byte в string
+ ///
+ /// Число
+ /// Строка
+ public static string IntToStr (byte AInt) => AInt.ToString();
+ #endregion
+
+ #region Конвертация строки в число
+ ///
+ /// Преобразование строки в число
+ ///
+ /// Строка
+ /// Значение по умолчанию (по умолчанию, 0)
+ /// Число
+ public static int StrToInt (string AStr, int ADefault = 0)
+ {
+ if (!int.TryParse(AStr, out int result))
{
- if (!int.TryParse(AStr, out int result))
- {
- result = ADefault;
- }
- return result;
+ result = ADefault;
}
- ///
- /// Преобразование строки в число
- ///
- /// Строка
- /// Значение по умолчанию (по умолчанию, 0)
- /// Число
- public static uint StrToUInt(string AStr, uint ADefault = 0)
- {
- if (!uint.TryParse(AStr, out uint result))
- {
- result = ADefault;
- }
- return result;
- }
- ///
- /// Преобразование строки в число
- ///
- /// Строка
- /// Значение по умолчанию (по умолчанию, 0)
- /// Число
- public static long StrToInt64(string AStr, long ADefault = 0)
- {
- if (!long.TryParse(AStr, out long result))
- {
- result = ADefault;
- }
- return result;
- }
- ///
- /// Преобразование строки в число
- ///
- /// Строка
- /// Значение по умолчанию (по умолчанию, 0)
- /// Число
- public static ulong StrToUInt64(string AStr, ulong ADefault = 0)
- {
- if (!ulong.TryParse(AStr, out ulong result))
- {
- result = ADefault;
- }
- return result;
- }
- ///
- /// Преобразование строки в число
- ///
- /// Строка
- /// Значение по умолчанию (по умолчанию, 0)
- /// Число
- public static byte StrToByte(string AStr, byte ADefault = 0)
- {
- if (!byte.TryParse(AStr, out byte result))
- {
- result = ADefault;
- }
- return result;
- }
- #endregion
+ return result;
}
+ ///
+ /// Преобразование строки в число
+ ///
+ /// Строка
+ /// Значение по умолчанию (по умолчанию, 0)
+ /// Число
+ public static uint StrToUInt (string AStr, uint ADefault = 0)
+ {
+ if (!uint.TryParse(AStr, out uint result))
+ {
+ result = ADefault;
+ }
+ return result;
+ }
+ ///
+ /// Преобразование строки в число
+ ///
+ /// Строка
+ /// Значение по умолчанию (по умолчанию, 0)
+ /// Число
+ public static long StrToInt64 (string AStr, long ADefault = 0)
+ {
+ if (!long.TryParse(AStr, out long result))
+ {
+ result = ADefault;
+ }
+ return result;
+ }
+ ///
+ /// Преобразование строки в число
+ ///
+ /// Строка
+ /// Значение по умолчанию (по умолчанию, 0)
+ /// Число
+ public static ulong StrToUInt64 (string AStr, ulong ADefault = 0)
+ {
+ if (!ulong.TryParse(AStr, out ulong result))
+ {
+ result = ADefault;
+ }
+ return result;
+ }
+ ///
+ /// Преобразование строки в число
+ ///
+ /// Строка
+ /// Значение по умолчанию (по умолчанию, 0)
+ /// Число
+ public static byte StrToByte (string AStr, byte ADefault = 0)
+ {
+ if (!byte.TryParse(AStr, out byte result))
+ {
+ result = ADefault;
+ }
+ return result;
+ }
+ #endregion
}
\ No newline at end of file
diff --git a/anbs_cp/anbs_cp.csproj b/anbs_cp/anbs_cp.csproj
index 8d583a6..919d18c 100644
--- a/anbs_cp/anbs_cp.csproj
+++ b/anbs_cp/anbs_cp.csproj
@@ -2,7 +2,7 @@
net6.0
- 1.20211111.0
+ 1.2021.1113
Alexander Babaev
ANB Software Components Pack
Library of some useful functions in C# language.
@@ -15,8 +15,8 @@
False
https://github.com/GoodBoyAlex/anbsoftware_componentspack
https://github.com/GoodBoyAlex/anbsoftware_componentspack
- 1.2021.1111
- 1.2021.1111
+ 1.2021.1113
+ 1.2021.1113
diff --git a/demo/CountValueTest.Designer.cs b/demo/CountValueTest.Designer.cs
index 6656a3b..5b54914 100644
--- a/demo/CountValueTest.Designer.cs
+++ b/demo/CountValueTest.Designer.cs
@@ -1,134 +1,133 @@
-namespace demo
+namespace demo;
+
+partial class CountValueTest
{
- partial class CountValueTest
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose (bool disposing)
{
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
+ if (disposing && (components != null))
{
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
+ components.Dispose();
}
+ base.Dispose(disposing);
+ }
- #region Windows Form Designer generated code
+ #region Windows Form Designer generated code
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.InsertDataLabel = new System.Windows.Forms.Label();
- this.InsertDataBox = new System.Windows.Forms.TextBox();
- this.ResultLabel = new System.Windows.Forms.Label();
- this.CalculateButton = new System.Windows.Forms.Button();
- this.SelectFormatterLabel = new System.Windows.Forms.Label();
- this.SelectFormatterBox = new System.Windows.Forms.ComboBox();
- this.SuspendLayout();
- //
- // InsertDataLabel
- //
- this.InsertDataLabel.AutoSize = true;
- this.InsertDataLabel.Location = new System.Drawing.Point(12, 66);
- this.InsertDataLabel.Name = "InsertDataLabel";
- this.InsertDataLabel.Size = new System.Drawing.Size(197, 17);
- this.InsertDataLabel.TabIndex = 0;
- this.InsertDataLabel.Text = "&Insert any int value:";
- //
- // InsertDataBox
- //
- this.InsertDataBox.Location = new System.Drawing.Point(12, 86);
- this.InsertDataBox.Name = "InsertDataBox";
- this.InsertDataBox.Size = new System.Drawing.Size(246, 24);
- this.InsertDataBox.TabIndex = 1;
- //
- // ResultLabel
- //
- this.ResultLabel.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.ResultLabel.Location = new System.Drawing.Point(0, 143);
- this.ResultLabel.Margin = new System.Windows.Forms.Padding(5);
- this.ResultLabel.Name = "ResultLabel";
- this.ResultLabel.Padding = new System.Windows.Forms.Padding(5);
- this.ResultLabel.Size = new System.Drawing.Size(270, 79);
- this.ResultLabel.TabIndex = 2;
- this.ResultLabel.Text = "&Insert any int value to insert box above and press \"Calculate\" button to see res" +
- "ult...";
- this.ResultLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
- //
- // CalculateButton
- //
- this.CalculateButton.Location = new System.Drawing.Point(81, 116);
- this.CalculateButton.Name = "CalculateButton";
- this.CalculateButton.Size = new System.Drawing.Size(103, 23);
- this.CalculateButton.TabIndex = 3;
- this.CalculateButton.Text = "Calc&ulate";
- this.CalculateButton.UseVisualStyleBackColor = true;
- this.CalculateButton.Click += new System.EventHandler(this.CalculateButton_Click);
- //
- // SelectFormatterLabel
- //
- this.SelectFormatterLabel.AutoSize = true;
- this.SelectFormatterLabel.Location = new System.Drawing.Point(12, 9);
- this.SelectFormatterLabel.Name = "SelectFormatterLabel";
- this.SelectFormatterLabel.Size = new System.Drawing.Size(161, 17);
- this.SelectFormatterLabel.TabIndex = 4;
- this.SelectFormatterLabel.Text = "&Select formatter:";
- //
- // SelectFormatterBox
- //
- this.SelectFormatterBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
- this.SelectFormatterBox.FlatStyle = System.Windows.Forms.FlatStyle.System;
- this.SelectFormatterBox.FormattingEnabled = true;
- this.SelectFormatterBox.Items.AddRange(new object[] {
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent ()
+ {
+ this.InsertDataLabel = new System.Windows.Forms.Label();
+ this.InsertDataBox = new System.Windows.Forms.TextBox();
+ this.ResultLabel = new System.Windows.Forms.Label();
+ this.CalculateButton = new System.Windows.Forms.Button();
+ this.SelectFormatterLabel = new System.Windows.Forms.Label();
+ this.SelectFormatterBox = new System.Windows.Forms.ComboBox();
+ this.SuspendLayout();
+ //
+ // InsertDataLabel
+ //
+ this.InsertDataLabel.AutoSize = true;
+ this.InsertDataLabel.Location = new System.Drawing.Point(12, 66);
+ this.InsertDataLabel.Name = "InsertDataLabel";
+ this.InsertDataLabel.Size = new System.Drawing.Size(197, 17);
+ this.InsertDataLabel.TabIndex = 0;
+ this.InsertDataLabel.Text = "&Insert any int value:";
+ //
+ // InsertDataBox
+ //
+ this.InsertDataBox.Location = new System.Drawing.Point(12, 86);
+ this.InsertDataBox.Name = "InsertDataBox";
+ this.InsertDataBox.Size = new System.Drawing.Size(246, 24);
+ this.InsertDataBox.TabIndex = 1;
+ //
+ // ResultLabel
+ //
+ this.ResultLabel.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.ResultLabel.Location = new System.Drawing.Point(0, 143);
+ this.ResultLabel.Margin = new System.Windows.Forms.Padding(5);
+ this.ResultLabel.Name = "ResultLabel";
+ this.ResultLabel.Padding = new System.Windows.Forms.Padding(5);
+ this.ResultLabel.Size = new System.Drawing.Size(270, 79);
+ this.ResultLabel.TabIndex = 2;
+ this.ResultLabel.Text = "&Insert any int value to insert box above and press \"Calculate\" button to see res" +
+"ult...";
+ this.ResultLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // CalculateButton
+ //
+ this.CalculateButton.Location = new System.Drawing.Point(81, 116);
+ this.CalculateButton.Name = "CalculateButton";
+ this.CalculateButton.Size = new System.Drawing.Size(103, 23);
+ this.CalculateButton.TabIndex = 3;
+ this.CalculateButton.Text = "Calc&ulate";
+ this.CalculateButton.UseVisualStyleBackColor = true;
+ this.CalculateButton.Click += new System.EventHandler(this.CalculateButton_Click);
+ //
+ // SelectFormatterLabel
+ //
+ this.SelectFormatterLabel.AutoSize = true;
+ this.SelectFormatterLabel.Location = new System.Drawing.Point(12, 9);
+ this.SelectFormatterLabel.Name = "SelectFormatterLabel";
+ this.SelectFormatterLabel.Size = new System.Drawing.Size(161, 17);
+ this.SelectFormatterLabel.TabIndex = 4;
+ this.SelectFormatterLabel.Text = "&Select formatter:";
+ //
+ // SelectFormatterBox
+ //
+ this.SelectFormatterBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.SelectFormatterBox.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.SelectFormatterBox.FormattingEnabled = true;
+ this.SelectFormatterBox.Items.AddRange(new object[] {
"CountFormatter",
"FileSizeFormatter"});
- this.SelectFormatterBox.Location = new System.Drawing.Point(12, 29);
- this.SelectFormatterBox.Name = "SelectFormatterBox";
- this.SelectFormatterBox.Size = new System.Drawing.Size(246, 25);
- this.SelectFormatterBox.TabIndex = 5;
- //
- // CountValueTest
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 17F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(270, 222);
- this.Controls.Add(this.SelectFormatterBox);
- this.Controls.Add(this.SelectFormatterLabel);
- this.Controls.Add(this.CalculateButton);
- this.Controls.Add(this.ResultLabel);
- this.Controls.Add(this.InsertDataBox);
- this.Controls.Add(this.InsertDataLabel);
- this.Font = new System.Drawing.Font("Courier New", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
- this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "CountValueTest";
- this.ShowIcon = false;
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
- this.Text = "Formatter Test Unit";
- this.Load += new System.EventHandler(this.CountValueTest_Load);
- this.ResumeLayout(false);
- this.PerformLayout();
+ this.SelectFormatterBox.Location = new System.Drawing.Point(12, 29);
+ this.SelectFormatterBox.Name = "SelectFormatterBox";
+ this.SelectFormatterBox.Size = new System.Drawing.Size(246, 25);
+ this.SelectFormatterBox.TabIndex = 5;
+ //
+ // CountValueTest
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 17F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(270, 222);
+ this.Controls.Add(this.SelectFormatterBox);
+ this.Controls.Add(this.SelectFormatterLabel);
+ this.Controls.Add(this.CalculateButton);
+ this.Controls.Add(this.ResultLabel);
+ this.Controls.Add(this.InsertDataBox);
+ this.Controls.Add(this.InsertDataLabel);
+ this.Font = new System.Drawing.Font("Courier New", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
+ this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "CountValueTest";
+ this.ShowIcon = false;
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "Formatter Test Unit";
+ this.Load += new System.EventHandler(this.CountValueTest_Load);
+ this.ResumeLayout(false);
+ this.PerformLayout();
- }
-
- #endregion
-
- private Label InsertDataLabel;
- private TextBox InsertDataBox;
- private Label ResultLabel;
- private Button CalculateButton;
- private Label SelectFormatterLabel;
- private ComboBox SelectFormatterBox;
}
+
+ #endregion
+
+ private Label InsertDataLabel;
+ private TextBox InsertDataBox;
+ private Label ResultLabel;
+ private Button CalculateButton;
+ private Label SelectFormatterLabel;
+ private ComboBox SelectFormatterBox;
}
\ No newline at end of file
diff --git a/demo/CountValueTest.cs b/demo/CountValueTest.cs
index defe9b7..e6ad7e5 100644
--- a/demo/CountValueTest.cs
+++ b/demo/CountValueTest.cs
@@ -1,42 +1,32 @@
using anbs_cp;
-namespace demo
+
+namespace demo;
+
+public partial class CountValueTest: Form
{
- public partial class CountValueTest : Form
+ public CountValueTest ()
{
- public CountValueTest()
+ InitializeComponent();
+ }
+
+ private void CalculateButton_Click (object sender, EventArgs e)
+ {
+
+ if (string.IsNullOrEmpty(InsertDataBox.Text))
+ return;
+
+ long value = TypeConverter.StrToInt64(InsertDataBox.Text);
+ IValueFormatter formatter = SelectFormatterBox.SelectedIndex switch
{
- InitializeComponent();
- }
+ 0 => new CountFormatter(),
+ 1 => new FileSizeFormatter(),
+ _ => new CountFormatter(),
+ };
+ ResultLabel.Text = formatter.Format(value);
+ }
- private void CalculateButton_Click(object sender, EventArgs e)
- {
-
- if (string.IsNullOrEmpty(InsertDataBox.Text))
- return;
-
- IValueFormatter formatter;
-
- long value = TypeConverter.StrToInt64(InsertDataBox.Text);
-
- switch (SelectFormatterBox.SelectedIndex)
- {
- case 0:
- formatter = new CountFormatter();
- break;
- case 1:
- formatter = new FileSizeFormatter();
- break;
- default:
- formatter = new CountFormatter();
- break;
- }
-
- ResultLabel.Text = formatter.Format(value);
- }
-
- private void CountValueTest_Load(object sender, EventArgs e)
- {
- SelectFormatterBox.SelectedIndex = 0;
- }
+ private void CountValueTest_Load (object sender, EventArgs e)
+ {
+ SelectFormatterBox.SelectedIndex = 0;
}
}
\ No newline at end of file
diff --git a/demo/Program.cs b/demo/Program.cs
index 47c0157..bcf1871 100644
--- a/demo/Program.cs
+++ b/demo/Program.cs
@@ -1,15 +1,14 @@
-namespace demo
+namespace demo;
+
+internal static class Program
{
- internal static class Program
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main ()
{
- ///
- /// The main entry point for the application.
- ///
- [STAThread]
- static void Main()
- {
- ApplicationConfiguration.Initialize();
- Application.Run(new CountValueTest());
- }
+ ApplicationConfiguration.Initialize();
+ Application.Run(new CountValueTest());
}
}
\ No newline at end of file