Добавьте файлы проекта.
This commit is contained in:
parent
8418b79f7d
commit
66b3a8cc77
12
FileSplitter/FileSplitter.csproj
Normal file
12
FileSplitter/FileSplitter.csproj
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<RootNamespace>FileSplitter.Console</RootNamespace>
|
||||||
|
<AssemblyName>FileSplitter</AssemblyName>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
66
FileSplitter/Program.cs
Normal file
66
FileSplitter/Program.cs
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
//Приветственное сообщение
|
||||||
|
Console.WriteLine("ANB Software Делитель файлов");
|
||||||
|
Console.WriteLine("в. 2023.04.08");
|
||||||
|
|
||||||
|
//Вывожу помощь
|
||||||
|
Help();
|
||||||
|
|
||||||
|
//Команда
|
||||||
|
string command;
|
||||||
|
|
||||||
|
//Начинаю цикл
|
||||||
|
do
|
||||||
|
{
|
||||||
|
//Запрос команды
|
||||||
|
Console.WriteLine("Введите команду:");
|
||||||
|
|
||||||
|
//Считывание команды
|
||||||
|
command = (Console.ReadLine() ?? "").ToLower();
|
||||||
|
|
||||||
|
//Выбор действия
|
||||||
|
switch (command)
|
||||||
|
{
|
||||||
|
////Если команда "Шифровка"
|
||||||
|
//case "crypt" or "c":
|
||||||
|
// //Запускаю сценарий шифровки
|
||||||
|
// await CryptAsync();
|
||||||
|
// break;
|
||||||
|
////Если команда "Дешифровка"
|
||||||
|
//case "delete" or "d":
|
||||||
|
// //Запускаю сценарий дешифровки
|
||||||
|
// await DecryptAsync();
|
||||||
|
// break;
|
||||||
|
////Если команда "Установочные файлы"
|
||||||
|
//case "ifiles" or "i":
|
||||||
|
// //Запускаю сценарий создания установочных файлов
|
||||||
|
// await CreateInstallFilesInfoAsync();
|
||||||
|
// break;
|
||||||
|
////Если команда "Помощь"
|
||||||
|
//case "help" or "h":
|
||||||
|
// //Запускаю сценарий помощи
|
||||||
|
// Help();
|
||||||
|
// break;
|
||||||
|
//Если что-то другое
|
||||||
|
default:
|
||||||
|
//Вывожу сообщение об ошибке, если команда не "Выход"
|
||||||
|
if (command is not ("exit" or "e"))
|
||||||
|
Console.WriteLine("Команда не опознана! Повторите попытку ещё раз, введите [h]elp для помощи или введите [e]xit для выхода...");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} while (command is not ("exit" or "e"));
|
||||||
|
|
||||||
|
static void SplitFile(string path)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//Информация о работе с программой
|
||||||
|
static void Help ()
|
||||||
|
{
|
||||||
|
//Публикую сообщение о работе с программой
|
||||||
|
Console.WriteLine("Информация о работе с программой:\n\t" +
|
||||||
|
"[c]rypt - шифровка архива\n\t" +
|
||||||
|
"[d]ecrypt - дешифровка архива\n\t" +
|
||||||
|
"[i]files - создание списка установочных файлов\n\t" +
|
||||||
|
"[e]xit - Выход из программы\n\t[h]elp - Повторный вывод этого сообщения.");
|
||||||
|
}
|
31
FileSplitterProj.sln
Normal file
31
FileSplitterProj.sln
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.5.33516.290
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileSplitter", "FileSplitter\FileSplitter.csproj", "{1FD6DA70-8D93-49A3-AAA3-EFB909AD937F}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileSplitterShared", "FileSplitterShared\FileSplitterShared.csproj", "{0D7F015B-7E38-4384-A456-3BE07DFE2724}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{1FD6DA70-8D93-49A3-AAA3-EFB909AD937F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{1FD6DA70-8D93-49A3-AAA3-EFB909AD937F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{1FD6DA70-8D93-49A3-AAA3-EFB909AD937F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{1FD6DA70-8D93-49A3-AAA3-EFB909AD937F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{0D7F015B-7E38-4384-A456-3BE07DFE2724}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{0D7F015B-7E38-4384-A456-3BE07DFE2724}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{0D7F015B-7E38-4384-A456-3BE07DFE2724}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{0D7F015B-7E38-4384-A456-3BE07DFE2724}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {66369161-B8DF-4F9E-91A7-5B1D5B111763}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
24
FileSplitterShared/Classes/FileSplitInfo.cs
Normal file
24
FileSplitterShared/Classes/FileSplitInfo.cs
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
using FileSplitter.Shared.Interfaces;
|
||||||
|
|
||||||
|
namespace FileSplitter.Shared.Classes;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Информация о разбиении
|
||||||
|
/// </summary>
|
||||||
|
public class FileSplitInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Версия программы, необходимая для сборки файла
|
||||||
|
/// </summary>
|
||||||
|
public string? FileSplitterVersion { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Информация о собираемом файле
|
||||||
|
/// </summary>
|
||||||
|
public ITargetFileInfo? TargetFile { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Информация о частях файла
|
||||||
|
/// </summary>
|
||||||
|
public List<ISplitFile>? SplitFiles { get; set; }
|
||||||
|
}
|
29
FileSplitterShared/Classes/SplitFile.cs
Normal file
29
FileSplitterShared/Classes/SplitFile.cs
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
using FileSplitter.Shared.Interfaces;
|
||||||
|
|
||||||
|
namespace FileSplitter.Shared.Classes;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Разделенный файл
|
||||||
|
/// </summary>
|
||||||
|
public class SplitFile: ISplitFile
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Порядок части
|
||||||
|
/// </summary>
|
||||||
|
public byte Num { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Размер части
|
||||||
|
/// </summary>
|
||||||
|
public long Size { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Смещение начала части от начала итогового файла
|
||||||
|
/// </summary>
|
||||||
|
public long Offset { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// md5-сумма части для проверки
|
||||||
|
/// </summary>
|
||||||
|
public byte[]? Hash { get; set; }
|
||||||
|
}
|
29
FileSplitterShared/Classes/TargetFileInfo.cs
Normal file
29
FileSplitterShared/Classes/TargetFileInfo.cs
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
using FileSplitter.Shared.Interfaces;
|
||||||
|
|
||||||
|
namespace FileSplitter.Shared.Classes;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Информация о целевом файле
|
||||||
|
/// </summary>
|
||||||
|
public class TargetFileInfo: ITargetFileInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Имя файла
|
||||||
|
/// </summary>
|
||||||
|
public string? FileName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Размер файла
|
||||||
|
/// </summary>
|
||||||
|
public long FileSize { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// md5-сумма файла для проверки
|
||||||
|
/// </summary>
|
||||||
|
public byte[]? FileHash { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Количество частей
|
||||||
|
/// </summary>
|
||||||
|
public byte SplitCount { get; set; }
|
||||||
|
}
|
11
FileSplitterShared/FileSplitterShared.csproj
Normal file
11
FileSplitterShared/FileSplitterShared.csproj
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<AssemblyName>FileSplitterShared</AssemblyName>
|
||||||
|
<RootNamespace>FileSplitter.Shared</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
27
FileSplitterShared/Interfaces/ISplitFile.cs
Normal file
27
FileSplitterShared/Interfaces/ISplitFile.cs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
namespace FileSplitter.Shared.Interfaces;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Интерфейс разделенного файла
|
||||||
|
/// </summary>
|
||||||
|
public interface ISplitFile
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Порядок части
|
||||||
|
/// </summary>
|
||||||
|
public byte Num { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Размер части
|
||||||
|
/// </summary>
|
||||||
|
public long Size { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Смещение начала части от начала итогового файла
|
||||||
|
/// </summary>
|
||||||
|
public long Offset { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// md5-сумма части для проверки
|
||||||
|
/// </summary>
|
||||||
|
public byte[]? Hash { get; set; }
|
||||||
|
}
|
27
FileSplitterShared/Interfaces/ITargetFileInfo.cs
Normal file
27
FileSplitterShared/Interfaces/ITargetFileInfo.cs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
namespace FileSplitter.Shared.Interfaces;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Информация о целевом файле
|
||||||
|
/// </summary>
|
||||||
|
public interface ITargetFileInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Имя файла
|
||||||
|
/// </summary>
|
||||||
|
public string? FileName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Размер файла
|
||||||
|
/// </summary>
|
||||||
|
public long FileSize { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// md5-сумма файла для проверки
|
||||||
|
/// </summary>
|
||||||
|
public byte[]? FileHash { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Количество частей
|
||||||
|
/// </summary>
|
||||||
|
public byte SplitCount { get; set; }
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user