Псевдографика в консоли - C#
Формулировка задачи:
по заданию нужно вывести имя файла с размером в рамке, но файл имеет не всегда одинаковый размер как и имя, как лучше всего будет это сделать, мне ничего лучше поиска наибольшей длины и последующего сопоставления с длиной размера не приходит
сама программа без рамок
создавать переменную равную коду из юникода с последующим выводом на экран тоже не вариант?
https://unicode-table.com/ru/#box-drawing
static void Main(string[] args)
{
string path = @"C:\Users\Augustxeno\Desktop\code pr\технологии программирования\лабораторные\прочие каталоги\лабораторная 4\поляков";
DirectoryInfo dir = new DirectoryInfo(path);
if (!dir.Exists)
dir.Create();
DirectoryInfo textFolder = dir.CreateSubdirectory("Текстовые файлы");
DirectoryInfo pictureFolder = dir.CreateSubdirectory("Картинки");
Regex regDig = new Regex(@"\d+");
Regex regLat = new Regex(@"[a-zA-Z]+");
var files = dir.EnumerateFiles("*.txt").Where(x => x.Name.Length == 6).Where(x => regDig.IsMatch(x.Name) && regLat.IsMatch(x.Name));
foreach (var file in files)
File.Move(file.FullName, Path.Combine(textFolder.ToString(), Path.GetFileName(file.ToString())));
FileInfo[] pictureArray = dir.GetFiles("*.jpg");
foreach (FileInfo file in pictureArray)
if (!file.Exists)
file.CopyTo(Path.Combine(pictureFolder.ToString(),Path.GetFileName(file.ToString())));
for (int i=0;i<pictureArray.Length;i++)
for (int j=i+1;j<pictureArray.Length;j++)
if (pictureArray[i].Length>pictureArray[j].Length)
{
FileInfo buf = pictureArray[j];
pictureArray[j] = pictureArray[i];
pictureArray[i] = buf;
}
foreach (FileInfo file in pictureArray)
{
Console.WriteLine("{0} {1}", file.Name, file.Length);
}
}Решение задачи: «Псевдографика в консоли»
textual
Листинг программы
char horizontalBorder = '\u2500'; char verticalBorder = '\u2502'; char upAndLeftBorder = '\u2518'; char upAndRightBroder = '\u2514';