1.0.5
This commit is contained in:
parent
e5e5e5c9a3
commit
2edf663d5b
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,6 +1,7 @@
|
|||||||
## Ignore Visual Studio temporary files, build results, and
|
## Ignore Visual Studio temporary files, build results, and
|
||||||
## files generated by popular Visual Studio add-ons.
|
## files generated by popular Visual Studio add-ons.
|
||||||
|
pre_commit.log
|
||||||
|
pre_commit.ps1
|
||||||
# User-specific files
|
# User-specific files
|
||||||
*.suo
|
*.suo
|
||||||
*.user
|
*.user
|
||||||
|
10
FileSearch/ExceptionsForm.Designer.cs
generated
10
FileSearch/ExceptionsForm.Designer.cs
generated
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch
|
||||||
{
|
{
|
||||||
partial class ExceptionsForm
|
partial class ExceptionsForm
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
using FileSearch.Logic.UI.Entries;
|
using FileSearch.Logic.UI.Entries;
|
||||||
|
|
||||||
namespace FileSearch
|
namespace FileSearch
|
||||||
|
10
FileSearch/LargeListViewUserControl.Designer.cs
generated
10
FileSearch/LargeListViewUserControl.Designer.cs
generated
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch
|
||||||
{
|
{
|
||||||
partial class LargeListViewUserControl
|
partial class LargeListViewUserControl
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
using FileSearch.Logic.UI.Entries;
|
using FileSearch.Logic.UI.Entries;
|
||||||
using FileSearch.Logic.UI.ViewBuilders;
|
using FileSearch.Logic.UI.ViewBuilders;
|
||||||
|
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using System.Globalization;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System.Globalization;
|
||||||
|
|
||||||
namespace FileSearch.Logic
|
namespace FileSearch.Logic
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.CriterionSchemas;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.CriterionSchemas;
|
||||||
using FileSearch.Logic.Model.Engine;
|
using FileSearch.Logic.Model.Engine;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.Contexts
|
namespace FileSearch.Logic.Model.Contexts
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.EncodingDetection;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.EncodingDetection;
|
||||||
using FileSearch.Logic.Model.Engine;
|
using FileSearch.Logic.Model.Engine;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
using FileSearch.Logic.Model.Entities;
|
using FileSearch.Logic.Model.Entities;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
using FileSearch.Logic.Model.Entities;
|
using FileSearch.Logic.Model.Entities;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Contexts;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Contexts;
|
||||||
using FileSearch.Logic.Model.Engine;
|
using FileSearch.Logic.Model.Engine;
|
||||||
using Ionic.Zip;
|
using Ionic.Zip;
|
||||||
|
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.CriterionSchemas
|
namespace FileSearch.Logic.Model.CriterionSchemas
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using System.Text;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.EncodingDetection
|
namespace FileSearch.Logic.Model.EncodingDetection
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.Model.Engine
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.Model.Engine
|
||||||
{
|
{
|
||||||
public class CriterionBase
|
public class CriterionBase
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.Model.Engine
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.Model.Engine
|
||||||
{
|
{
|
||||||
public enum CriterionWeight
|
public enum CriterionWeight
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.EncodingDetection;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.EncodingDetection;
|
||||||
using FileSearch.Logic.Model.Entities;
|
using FileSearch.Logic.Model.Entities;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.Engine
|
namespace FileSearch.Logic.Model.Engine
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using System.Runtime.InteropServices;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.Engine
|
namespace FileSearch.Logic.Model.Engine
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.Model.Engine
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.Model.Engine
|
||||||
{
|
{
|
||||||
public interface ICriterion
|
public interface ICriterion
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.Model.Engine
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.Model.Engine
|
||||||
{
|
{
|
||||||
public interface ICriterionContext
|
public interface ICriterionContext
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.Model.Engine
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.Model.Engine
|
||||||
{
|
{
|
||||||
public class SearchException
|
public class SearchException
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using System.Xml;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System.Xml;
|
||||||
using Ionic.Zip;
|
using Ionic.Zip;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Model.Engine
|
namespace FileSearch.Logic.Model.Engine
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.Model.Engine
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.Model.Engine
|
||||||
{
|
{
|
||||||
public class SearchResult
|
public class SearchResult
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.Model.Engine
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.Model.Engine
|
||||||
{
|
{
|
||||||
internal class TimedCallback<T>
|
internal class TimedCallback<T>
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.Model.Entities
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.Model.Entities
|
||||||
{
|
{
|
||||||
internal enum FileDateOption
|
internal enum FileDateOption
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.Model.Tree
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.Model.Tree
|
||||||
{
|
{
|
||||||
public class TreeViewBuilder
|
public class TreeViewBuilder
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.Plugin
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.Plugin
|
||||||
{
|
{
|
||||||
internal class ErrorPlugin : IPluginFacade
|
internal class ErrorPlugin : IPluginFacade
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Plugin
|
namespace FileSearch.Logic.Plugin
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.UI.ViewBuilders;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.UI.ViewBuilders;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Plugin
|
namespace FileSearch.Logic.Plugin
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.UI.ViewBuilders;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.UI.ViewBuilders;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Plugin
|
namespace FileSearch.Logic.Plugin
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using System.Reflection;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
namespace FileSearch.Logic.Plugin
|
namespace FileSearch.Logic.Plugin
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.UI.Entries
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.UI.Entries
|
||||||
{
|
{
|
||||||
public interface IPathEntry
|
public interface IPathEntry
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.UI.Entries
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.UI.Entries
|
||||||
{
|
{
|
||||||
internal class PathEntry : IPathEntry
|
internal class PathEntry : IPathEntry
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.UI.Entries
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.UI.Entries
|
||||||
{
|
{
|
||||||
internal class PathEventArgs : EventArgs
|
internal class PathEventArgs : EventArgs
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
|
|
||||||
namespace FileSearch.Logic.UI.Entries
|
namespace FileSearch.Logic.UI.Entries
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.UI.Entries;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.UI.Entries;
|
||||||
|
|
||||||
namespace FileSearch.Logic.UI.ViewBuilders
|
namespace FileSearch.Logic.UI.ViewBuilders
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
using FileSearch.Logic.Model.Engine;
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
using FileSearch.Logic.Model.Engine;
|
||||||
using FileSearch.Logic.UI.Entries;
|
using FileSearch.Logic.UI.Entries;
|
||||||
|
|
||||||
namespace FileSearch.Logic.UI.ViewBuilders
|
namespace FileSearch.Logic.UI.ViewBuilders
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch.Logic.UI.ViewBuilders
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch.Logic.UI.ViewBuilders
|
||||||
{
|
{
|
||||||
internal static class ViewBuilderFactory
|
internal static class ViewBuilderFactory
|
||||||
{
|
{
|
||||||
|
10
FileSearch/MainForm.Designer.cs
generated
10
FileSearch/MainForm.Designer.cs
generated
@ -1,4 +1,12 @@
|
|||||||
namespace FileSearch
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FileSearch
|
||||||
{
|
{
|
||||||
partial class MainForm
|
partial class MainForm
|
||||||
{
|
{
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
using FileSearch.Logic;
|
using FileSearch.Logic;
|
||||||
using FileSearch.Logic.Model.Engine;
|
using FileSearch.Logic.Model.Engine;
|
||||||
using FileSearch.Logic.Model.Tree;
|
using FileSearch.Logic.Model.Tree;
|
||||||
@ -28,7 +36,7 @@ namespace FileSearch
|
|||||||
#region Logic
|
#region Logic
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Подготовка к запуску сеанса поиска
|
/// Подготовка к запуску сеанса поиска
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private DirectoryInfo SearchInit()
|
private DirectoryInfo SearchInit()
|
||||||
{
|
{
|
||||||
@ -41,14 +49,14 @@ namespace FileSearch
|
|||||||
|
|
||||||
SaveInfo(comboBox: true);
|
SaveInfo(comboBox: true);
|
||||||
|
|
||||||
SearchBtn.Text = @"Остановить";
|
SearchBtn.Text = @"Остановить";
|
||||||
statusLabel.Text = @"Поиск... Пожалуйста подождите.";
|
statusLabel.Text = @"Поиск... Пожалуйста подождите.";
|
||||||
statusLabelExceptions.Text = null;
|
statusLabelExceptions.Text = null;
|
||||||
return new DirectoryInfo(DirPathTxt.Text.Trim('\\') + "\\");
|
return new DirectoryInfo(DirPathTxt.Text.Trim('\\') + "\\");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Обработка события обнаружения данных
|
/// Обработка события обнаружения данных
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="searchResults">searchResults</param>
|
/// <param name="searchResults">searchResults</param>
|
||||||
private void LoadList(IEnumerable<SearchResult> searchResults)
|
private void LoadList(IEnumerable<SearchResult> searchResults)
|
||||||
@ -66,13 +74,13 @@ namespace FileSearch
|
|||||||
}
|
}
|
||||||
|
|
||||||
lstResults.AddSearchResults(searchResults);
|
lstResults.AddSearchResults(searchResults);
|
||||||
AddTimerTextInfo(_fileSearcher.CurrentTime.GetFriendlyNotation()); // обновляем таймер
|
AddTimerTextInfo(_fileSearcher.CurrentTime.GetFriendlyNotation()); // обновляем таймер
|
||||||
AddFindFilesCount(lstResults.Count); // Обновляем число обнаруженных файлов
|
AddFindFilesCount(lstResults.Count); // Обновляем число обнаруженных файлов
|
||||||
AddThreeViewData(searchResults); // Обновляем дерево директорий
|
AddThreeViewData(searchResults); // Обновляем дерево директорий
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Обработка окончания сеанса поиска
|
/// Обработка окончания сеанса поиска
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void LoadListFinished()
|
private void LoadListFinished()
|
||||||
{
|
{
|
||||||
@ -84,23 +92,23 @@ namespace FileSearch
|
|||||||
|
|
||||||
var exceptions = _fileSearcher.Exceptions;
|
var exceptions = _fileSearcher.Exceptions;
|
||||||
if (exceptions.Count > 0)
|
if (exceptions.Count > 0)
|
||||||
statusLabelExceptions.Text = string.Format(CultureInfo.InvariantCulture, "{0} ошибок в поиске", exceptions.Count);
|
statusLabelExceptions.Text = string.Format(CultureInfo.InvariantCulture, "{0} ошибок в поиске", exceptions.Count);
|
||||||
|
|
||||||
SearchBtn.Text = @"Поиск";
|
SearchBtn.Text = @"Поиск";
|
||||||
PauseBtn.Text = @"Пауза";
|
PauseBtn.Text = @"Пауза";
|
||||||
SearchBtn.Enabled = true;
|
SearchBtn.Enabled = true;
|
||||||
|
|
||||||
statusLabel.Text = @"Завершено за " + _fileSearcher.OperatingTime.GetFriendlyNotation() + @". Найдено: " + lstResults.Count;
|
statusLabel.Text = @"Завершено за " + _fileSearcher.OperatingTime.GetFriendlyNotation() + @". Найдено: " + lstResults.Count;
|
||||||
toolStripProgressBar1.Style = ProgressBarStyle.Blocks;
|
toolStripProgressBar1.Style = ProgressBarStyle.Blocks;
|
||||||
if (DirsTreeView.Nodes.Count > 0)
|
if (DirsTreeView.Nodes.Count > 0)
|
||||||
DirsTreeView.Focus();
|
DirsTreeView.Focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Конфигурирование критерий поиска
|
/// Конфигурирование критерий поиска
|
||||||
///
|
///
|
||||||
/// TODO: В будущем можно сделать тонкую настройку
|
/// TODO: В будущем можно сделать тонкую настройку
|
||||||
/// критерий поиска в UI указав Control для включения тех или иных
|
/// критерий поиска в UI указав Control для включения тех или иных
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="directoryInfo">directoryInfo</param>
|
/// <param name="directoryInfo">directoryInfo</param>
|
||||||
/// <param name="text">text</param>
|
/// <param name="text">text</param>
|
||||||
@ -128,7 +136,7 @@ namespace FileSearch
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Построение дерева директорий
|
/// Построение дерева директорий
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="searchResults">IEnumerable</param>
|
/// <param name="searchResults">IEnumerable</param>
|
||||||
private void AddThreeViewData(IEnumerable<SearchResult> searchResults)
|
private void AddThreeViewData(IEnumerable<SearchResult> searchResults)
|
||||||
@ -137,7 +145,7 @@ namespace FileSearch
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Инициализация чтения максимального числа файлов в директории
|
/// Инициализация чтения максимального числа файлов в директории
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void LoadingMaxFiles()
|
private void LoadingMaxFiles()
|
||||||
{
|
{
|
||||||
@ -153,7 +161,7 @@ namespace FileSearch
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Формирование async задачи на чтение максимального числа файлов в директории
|
/// Формирование async задачи на чтение максимального числа файлов в директории
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="searchPath">path</param>
|
/// <param name="searchPath">path</param>
|
||||||
public async Task GetAllFilesExecute(string searchPath)
|
public async Task GetAllFilesExecute(string searchPath)
|
||||||
@ -166,7 +174,7 @@ namespace FileSearch
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получение максимального числа файлов в директории (с вложенными внутри)
|
/// Получение максимального числа файлов в директории (с вложенными внутри)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="searchPath">path</param>
|
/// <param name="searchPath">path</param>
|
||||||
private void GetAllFiles(string searchPath)
|
private void GetAllFiles(string searchPath)
|
||||||
@ -183,7 +191,7 @@ namespace FileSearch
|
|||||||
}
|
}
|
||||||
catch (OperationCanceledException)
|
catch (OperationCanceledException)
|
||||||
{
|
{
|
||||||
// Обработка отмены операции
|
// Обработка отмены операции
|
||||||
AddMaxFilesTxtInfo(count.ToString());
|
AddMaxFilesTxtInfo(count.ToString());
|
||||||
AddProgressBarLoadMax(false);
|
AddProgressBarLoadMax(false);
|
||||||
}
|
}
|
||||||
@ -227,28 +235,28 @@ namespace FileSearch
|
|||||||
}
|
}
|
||||||
catch (OperationCanceledException)
|
catch (OperationCanceledException)
|
||||||
{
|
{
|
||||||
throw; // Пробрасываем исключение дальше для обработки в вызывающем коде
|
throw; // Пробрасываем исключение дальше для обработки в вызывающем коде
|
||||||
}
|
}
|
||||||
catch (UnauthorizedAccessException)
|
catch (UnauthorizedAccessException)
|
||||||
{
|
{
|
||||||
return 0; // Пропускаем каталоги, к которым нет доступа
|
return 0; // Пропускаем каталоги, к которым нет доступа
|
||||||
}
|
}
|
||||||
catch (DirectoryNotFoundException)
|
catch (DirectoryNotFoundException)
|
||||||
{
|
{
|
||||||
return 0; // Пропускаем отсутствующие каталоги
|
return 0; // Пропускаем отсутствующие каталоги
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Сохранение полей (простейшее)
|
/// Сохранение полей (простейшее)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="comboBox">сохранение выбранного пути в comboBox в текущей сессии</param>
|
/// <param name="comboBox">сохранение выбранного пути в comboBox в текущей сессии</param>
|
||||||
private void SaveInfo(bool comboBox = false)
|
private void SaveInfo(bool comboBox = false)
|
||||||
{
|
{
|
||||||
File.WriteAllText(@"DirInfo.dat", DirPathTxt.Text);
|
File.WriteAllText(@"DirInfo.dat", DirPathTxt.Text);
|
||||||
File.WriteAllText(@"FileRegex.dat", FileRegexPathTxt.Text);
|
File.WriteAllText(@"FileRegex.dat", FileRegexPathTxt.Text);
|
||||||
|
|
||||||
//сохранение выбранного пути для поиска в текущей сессии
|
//сохранение выбранного пути для поиска в текущей сессии
|
||||||
if (comboBox)
|
if (comboBox)
|
||||||
{
|
{
|
||||||
var content = DirPathTxt.SelectedItem != null ? (string)DirPathTxt.SelectedItem : DirPathTxt.Text;
|
var content = DirPathTxt.SelectedItem != null ? (string)DirPathTxt.SelectedItem : DirPathTxt.Text;
|
||||||
@ -308,7 +316,7 @@ namespace FileSearch
|
|||||||
var dirInfo = SearchInit();
|
var dirInfo = SearchInit();
|
||||||
if (!dirInfo.Exists)
|
if (!dirInfo.Exists)
|
||||||
{
|
{
|
||||||
MessageBox.Show(@"Путь не существует.", @"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
MessageBox.Show(@"Путь не существует.", @"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -321,8 +329,8 @@ namespace FileSearch
|
|||||||
{
|
{
|
||||||
_fileSearcher?.Pause((state) =>
|
_fileSearcher?.Pause((state) =>
|
||||||
{
|
{
|
||||||
PauseBtn.Text = (state) ? "Далее" : "Пауза";
|
PauseBtn.Text = (state) ? "Далее" : "Пауза";
|
||||||
}, (PauseBtn.Text == "Далее") ? false : true);
|
}, (PauseBtn.Text == "Далее") ? false : true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DirPathTxt_TextChanged(object sender, EventArgs e)
|
private void DirPathTxt_TextChanged(object sender, EventArgs e)
|
||||||
@ -354,7 +362,7 @@ namespace FileSearch
|
|||||||
{
|
{
|
||||||
if (_fileSearcher != null && _fileSearcher.IsRunning)
|
if (_fileSearcher != null && _fileSearcher.IsRunning)
|
||||||
{
|
{
|
||||||
MessageBox.Show("Поиск ещё идёт!");
|
MessageBox.Show("Поиск ещё идёт!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -382,7 +390,7 @@ namespace FileSearch
|
|||||||
#region Async UI
|
#region Async UI
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Обновление AllFilesTxt
|
/// Обновление AllFilesTxt
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="text">count</param>
|
/// <param name="text">count</param>
|
||||||
private void AddMaxFilesTxtInfo(string text)
|
private void AddMaxFilesTxtInfo(string text)
|
||||||
@ -398,7 +406,7 @@ namespace FileSearch
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Обновление pictureBoxLoading
|
/// Обновление pictureBoxLoading
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="visible">bool</param>
|
/// <param name="visible">bool</param>
|
||||||
private void AddProgressBarLoadMax(bool visible)
|
private void AddProgressBarLoadMax(bool visible)
|
||||||
@ -414,7 +422,7 @@ namespace FileSearch
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Обновление timerTxt
|
/// Обновление timerTxt
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="text">count</param>
|
/// <param name="text">count</param>
|
||||||
private void AddTimerTextInfo(string text)
|
private void AddTimerTextInfo(string text)
|
||||||
@ -430,7 +438,7 @@ namespace FileSearch
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Обновление FindFilesTxt
|
/// Обновление FindFilesTxt
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="count">count</param>
|
/// <param name="count">count</param>
|
||||||
private void AddFindFilesCount(int count)
|
private void AddFindFilesCount(int count)
|
||||||
|
@ -1,14 +1,22 @@
|
|||||||
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
namespace FileSearch
|
namespace FileSearch
|
||||||
{
|
{
|
||||||
internal static class Program
|
internal static class Program
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Основная точка входа в приложение.
|
/// Основная точка входа в приложение.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[STAThread]
|
[STAThread]
|
||||||
static void Main()
|
static void Main()
|
||||||
{
|
{
|
||||||
// Чтобы настроить конфигурацию приложения, например установить настройки высокого разрешения или шрифт по умолчанию,
|
// Чтобы настроить конфигурацию приложения, например установить настройки высокого разрешения или шрифт по умолчанию,
|
||||||
// https://aka.ms/applicationconfiguration.
|
// https://aka.ms/applicationconfiguration.
|
||||||
ApplicationConfiguration.Initialize();
|
ApplicationConfiguration.Initialize();
|
||||||
Application.Run(new MainForm());
|
Application.Run(new MainForm());
|
||||||
|
10
FileSearch/Resource.Designer.cs
generated
10
FileSearch/Resource.Designer.cs
generated
@ -1,4 +1,12 @@
|
|||||||
//------------------------------------------------------------------------------
|
/*
|
||||||
|
* Author: Nikolay Dvurechensky
|
||||||
|
* Site: https://www.dvurechensky.pro/
|
||||||
|
* Gmail: dvurechenskysoft@gmail.com
|
||||||
|
* Last Updated: 12 мая 2025 06:51:53
|
||||||
|
* Version: 1.0.7
|
||||||
|
*/
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// Этот код создан программой.
|
// Этот код создан программой.
|
||||||
// Исполняемая версия:4.0.30319.42000
|
// Исполняемая версия:4.0.30319.42000
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 61 MiB After Width: | Height: | Size: 5.2 MiB |
Loading…
Reference in New Issue
Block a user