Добавьте файлы проекта.
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