Gestione status dei thread
This commit is contained in:
parent
d133917283
commit
9794ce1abb
35 changed files with 16112 additions and 30 deletions
40
Catalog.sln
40
Catalog.sln
|
|
@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 16
|
# Visual Studio Version 16
|
||||||
VisualStudioVersion = 16.0.31005.135
|
VisualStudioVersion = 16.0.31005.135
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ImageCatalog 2", "imagecatalog\ImageCatalog 2.vbproj", "{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageCatalog 2", "imagecatalog\ImageCatalog 2.csproj", "{3F1E23DB-435E-0590-1EF5-735E898DBA3C}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageCatalog 3", "ImageCatalogCS\ImageCatalog 3.csproj", "{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageCatalog 3", "ImageCatalogCS\ImageCatalog 3.csproj", "{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}"
|
||||||
EndProject
|
EndProject
|
||||||
|
|
@ -17,6 +17,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MaddoShared", "MaddoShared\MaddoShared.csproj", "{AEBFE9E3-277C-4A7B-8448-145D1B11998B}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MaddoShared", "MaddoShared\MaddoShared.csproj", "{AEBFE9E3-277C-4A7B-8448-145D1B11998B}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageCatalogParallel", "ImageCatalogParallel\ImageCatalogParallel.csproj", "{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
|
@ -27,18 +29,18 @@ Global
|
||||||
Release|x86 = Release|x86
|
Release|x86 = Release|x86
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{3F1E23DB-435E-0590-1EF5-735E898DBA3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{3F1E23DB-435E-0590-1EF5-735E898DBA3C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Debug|x64.ActiveCfg = Debug|x64
|
{3F1E23DB-435E-0590-1EF5-735E898DBA3C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Debug|x64.Build.0 = Debug|x64
|
{3F1E23DB-435E-0590-1EF5-735E898DBA3C}.Debug|x64.Build.0 = Debug|x64
|
||||||
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Debug|x86.ActiveCfg = Debug|x86
|
{3F1E23DB-435E-0590-1EF5-735E898DBA3C}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Debug|x86.Build.0 = Debug|x86
|
{3F1E23DB-435E-0590-1EF5-735E898DBA3C}.Debug|x86.Build.0 = Debug|x86
|
||||||
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{3F1E23DB-435E-0590-1EF5-735E898DBA3C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Release|Any CPU.Build.0 = Release|Any CPU
|
{3F1E23DB-435E-0590-1EF5-735E898DBA3C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Release|x64.ActiveCfg = Release|x64
|
{3F1E23DB-435E-0590-1EF5-735E898DBA3C}.Release|x64.ActiveCfg = Release|x64
|
||||||
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Release|x64.Build.0 = Release|x64
|
{3F1E23DB-435E-0590-1EF5-735E898DBA3C}.Release|x64.Build.0 = Release|x64
|
||||||
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Release|x86.ActiveCfg = Release|x86
|
{3F1E23DB-435E-0590-1EF5-735E898DBA3C}.Release|x86.ActiveCfg = Release|x86
|
||||||
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Release|x86.Build.0 = Release|x86
|
{3F1E23DB-435E-0590-1EF5-735E898DBA3C}.Release|x86.Build.0 = Release|x86
|
||||||
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Debug|x64.ActiveCfg = Debug|x64
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
|
@ -91,6 +93,18 @@ Global
|
||||||
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Release|x64.Build.0 = Release|Any CPU
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Release|x64.Build.0 = Release|Any CPU
|
||||||
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Release|x86.ActiveCfg = Release|Any CPU
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Release|x86.Build.0 = Release|Any CPU
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Release|x86.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
|
||||||
118
Catalog.sln.bak
Normal file
118
Catalog.sln.bak
Normal file
|
|
@ -0,0 +1,118 @@
|
||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 16
|
||||||
|
VisualStudioVersion = 16.0.31005.135
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ImageCatalog 2", "imagecatalog\ImageCatalog 2.vbproj", "{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageCatalog 3", "ImageCatalogCS\ImageCatalog 3.csproj", "{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CatalogLib", "CatalogLib\CatalogLib.csproj", "{D27ACCF2-80FC-4DE8-AEB8-351FF076E6D5}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WPFCatalog", "WPFCatalog\WPFCatalog.csproj", "{638DE501-CECA-4744-B293-7AE93CAEEB01}"
|
||||||
|
EndProject
|
||||||
|
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "CatalogVbLib", "CatalogVbLib\CatalogVbLib.vbproj", "{44465926-240D-473F-90B8-786BA4384406}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{A3D50937-74F6-4DC8-8D89-B534B484C0F9}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MaddoShared", "MaddoShared\MaddoShared.csproj", "{AEBFE9E3-277C-4A7B-8448-145D1B11998B}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ImageCatalogParallel", "ImageCatalogParallel\ImageCatalogParallel.csproj", "{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Release|x64.Build.0 = Release|x64
|
||||||
|
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{8D3AA2B0-8F06-4A61-9CAD-B920EB1A8E9C}.Release|x86.Build.0 = Release|x86
|
||||||
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Release|x64.Build.0 = Release|x64
|
||||||
|
{D11ED7B0-93E8-4F38-A142-EED72D7EE8B5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{D27ACCF2-80FC-4DE8-AEB8-351FF076E6D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{D27ACCF2-80FC-4DE8-AEB8-351FF076E6D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{D27ACCF2-80FC-4DE8-AEB8-351FF076E6D5}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{D27ACCF2-80FC-4DE8-AEB8-351FF076E6D5}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{D27ACCF2-80FC-4DE8-AEB8-351FF076E6D5}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{D27ACCF2-80FC-4DE8-AEB8-351FF076E6D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{D27ACCF2-80FC-4DE8-AEB8-351FF076E6D5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{D27ACCF2-80FC-4DE8-AEB8-351FF076E6D5}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{D27ACCF2-80FC-4DE8-AEB8-351FF076E6D5}.Release|x64.Build.0 = Release|x64
|
||||||
|
{D27ACCF2-80FC-4DE8-AEB8-351FF076E6D5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{638DE501-CECA-4744-B293-7AE93CAEEB01}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{638DE501-CECA-4744-B293-7AE93CAEEB01}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{638DE501-CECA-4744-B293-7AE93CAEEB01}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{638DE501-CECA-4744-B293-7AE93CAEEB01}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{638DE501-CECA-4744-B293-7AE93CAEEB01}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{638DE501-CECA-4744-B293-7AE93CAEEB01}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{638DE501-CECA-4744-B293-7AE93CAEEB01}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{638DE501-CECA-4744-B293-7AE93CAEEB01}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{638DE501-CECA-4744-B293-7AE93CAEEB01}.Release|x64.Build.0 = Release|x64
|
||||||
|
{638DE501-CECA-4744-B293-7AE93CAEEB01}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{44465926-240D-473F-90B8-786BA4384406}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{44465926-240D-473F-90B8-786BA4384406}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{44465926-240D-473F-90B8-786BA4384406}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{44465926-240D-473F-90B8-786BA4384406}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{44465926-240D-473F-90B8-786BA4384406}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{44465926-240D-473F-90B8-786BA4384406}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{44465926-240D-473F-90B8-786BA4384406}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{44465926-240D-473F-90B8-786BA4384406}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{44465926-240D-473F-90B8-786BA4384406}.Release|x64.Build.0 = Release|x64
|
||||||
|
{44465926-240D-473F-90B8-786BA4384406}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Debug|x64.Build.0 = Debug|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Release|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Release|x64.Build.0 = Release|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}.Release|x86.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(NestedProjects) = preSolution
|
||||||
|
{AEBFE9E3-277C-4A7B-8448-145D1B11998B} = {A3D50937-74F6-4DC8-8D89-B534B484C0F9}
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {0E3ABC63-8601-4DAC-AFEA-33F3E8E36757}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
6
ImageCatalogParallel/App.config
Normal file
6
ImageCatalogParallel/App.config
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<configuration>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
|
||||||
|
</startup>
|
||||||
|
</configuration>
|
||||||
1809
ImageCatalogParallel/Form1.Designer.cs
generated
Normal file
1809
ImageCatalogParallel/Form1.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
20
ImageCatalogParallel/Form1.cs
Normal file
20
ImageCatalogParallel/Form1.cs
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace ImageCatalogParallel
|
||||||
|
{
|
||||||
|
public partial class Form1 : Form
|
||||||
|
{
|
||||||
|
public Form1()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
120
ImageCatalogParallel/Form1.resx
Normal file
120
ImageCatalogParallel/Form1.resx
Normal file
|
|
@ -0,0 +1,120 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
||||||
83
ImageCatalogParallel/ImageCatalogParallel.csproj
Normal file
83
ImageCatalogParallel/ImageCatalogParallel.csproj
Normal file
|
|
@ -0,0 +1,83 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{0F42DA5C-2788-48BD-BACA-01625C3CFFBB}</ProjectGuid>
|
||||||
|
<OutputType>WinExe</OutputType>
|
||||||
|
<RootNamespace>ImageCatalogParallel</RootNamespace>
|
||||||
|
<AssemblyName>ImageCatalogParallel</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Deployment" />
|
||||||
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Windows.Forms" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Form1.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Form1.Designer.cs">
|
||||||
|
<DependentUpon>Form1.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Program.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<EmbeddedResource Include="Form1.resx">
|
||||||
|
<DependentUpon>Form1.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Properties\Resources.resx">
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<None Include="Properties\Settings.settings">
|
||||||
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
|
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||||
|
</None>
|
||||||
|
<Compile Include="Properties\Settings.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Settings.settings</DependentUpon>
|
||||||
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
22
ImageCatalogParallel/Program.cs
Normal file
22
ImageCatalogParallel/Program.cs
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace ImageCatalogParallel
|
||||||
|
{
|
||||||
|
static class Program
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The main entry point for the application.
|
||||||
|
/// </summary>
|
||||||
|
[STAThread]
|
||||||
|
static void Main()
|
||||||
|
{
|
||||||
|
Application.EnableVisualStyles();
|
||||||
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
Application.Run(new Form1());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
36
ImageCatalogParallel/Properties/AssemblyInfo.cs
Normal file
36
ImageCatalogParallel/Properties/AssemblyInfo.cs
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("ImageCatalogParallel")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("ImageCatalogParallel")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2021")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||||
|
// to COM components. If you need to access a type in this assembly from
|
||||||
|
// COM, set the ComVisible attribute to true on that type.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
|
[assembly: Guid("0f42da5c-2788-48bd-baca-01625c3cffbb")]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
|
// by using the '*' as shown below:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
70
ImageCatalogParallel/Properties/Resources.Designer.cs
generated
Normal file
70
ImageCatalogParallel/Properties/Resources.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
namespace ImageCatalogParallel.Properties
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||||
|
/// </summary>
|
||||||
|
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||||
|
// class via a tool like ResGen or Visual Studio.
|
||||||
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
|
// with the /str option, or rebuild your VS project.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
internal class Resources
|
||||||
|
{
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal Resources()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the cached ResourceManager instance used by this class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Resources.ResourceManager ResourceManager
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if ((resourceMan == null))
|
||||||
|
{
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ImageCatalogParallel.Properties.Resources", typeof(Resources).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Overrides the current thread's CurrentUICulture property for all
|
||||||
|
/// resource lookups using this strongly typed resource class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Globalization.CultureInfo Culture
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
117
ImageCatalogParallel/Properties/Resources.resx
Normal file
117
ImageCatalogParallel/Properties/Resources.resx
Normal file
|
|
@ -0,0 +1,117 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
||||||
29
ImageCatalogParallel/Properties/Settings.Designer.cs
generated
Normal file
29
ImageCatalogParallel/Properties/Settings.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
namespace ImageCatalogParallel.Properties
|
||||||
|
{
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
|
||||||
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
|
||||||
|
{
|
||||||
|
|
||||||
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
|
|
||||||
|
public static Settings Default
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return defaultInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
7
ImageCatalogParallel/Properties/Settings.settings
Normal file
7
ImageCatalogParallel/Properties/Settings.settings
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||||
|
<Profiles>
|
||||||
|
<Profile Name="(Default)" />
|
||||||
|
</Profiles>
|
||||||
|
<Settings />
|
||||||
|
</SettingsFile>
|
||||||
|
|
@ -31,13 +31,13 @@ namespace MaddoShared
|
||||||
public bool LinearExecution { get; set; }
|
public bool LinearExecution { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> CreaCatalogoParallel(Options options)
|
public async Task<string> CreaCatalogoParallel(Options options, ConcurrentBag<string> results, EventHandler<Tuple<string,int>> updateEvent, CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
var stopwatch = new Stopwatch();
|
var stopwatch = new Stopwatch();
|
||||||
stopwatch.Start();
|
stopwatch.Start();
|
||||||
// todo immagini counter
|
// todo immagini counter
|
||||||
//todo set label
|
//todo set label
|
||||||
await CreaImmaginiParallel(options);
|
await CreaImmaginiParallel(options, results, updateEvent, cancellationToken);
|
||||||
|
|
||||||
// todo set finito label
|
// todo set finito label
|
||||||
stopwatch.Stop();
|
stopwatch.Stop();
|
||||||
|
|
@ -47,7 +47,7 @@ namespace MaddoShared
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task CreaImmaginiParallel(Options options)
|
public async Task CreaImmaginiParallel(Options options, ConcurrentBag<string> results, EventHandler<Tuple<string, int>> updateEvent, CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
var dataToProcess = new List<FileData>();
|
var dataToProcess = new List<FileData>();
|
||||||
if (options.AggiornaSottodirectory && options.CreaSottocartelle)
|
if (options.AggiornaSottodirectory && options.CreaSottocartelle)
|
||||||
|
|
@ -114,6 +114,9 @@ namespace MaddoShared
|
||||||
//imgC.CreaImmagineThread(d.File.Name);
|
//imgC.CreaImmagineThread(d.File.Name);
|
||||||
//imgC = null;
|
//imgC = null;
|
||||||
}, CancellationToken.None, TaskCreationOptions.None, scheduler);
|
}, CancellationToken.None, TaskCreationOptions.None, scheduler);
|
||||||
|
|
||||||
|
//int count = 0;
|
||||||
|
|
||||||
if (options.LinearExecution)
|
if (options.LinearExecution)
|
||||||
{
|
{
|
||||||
foreach (var task in test)
|
foreach (var task in test)
|
||||||
|
|
@ -127,11 +130,23 @@ namespace MaddoShared
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
var opts = new ParallelOptions() { MaxDegreeOfParallelism = threads };
|
//var opts = new ParallelOptions() { MaxDegreeOfParallelism = threads, CancellationToken = cancellationToken, TaskScheduler = scheduler};
|
||||||
await dataToProcess.ParallelForEachAsync(async fileData =>
|
await dataToProcess.ParallelForEachAsync(async fileData =>
|
||||||
{
|
{
|
||||||
await new ImageCreatorSharp(fileData.File, fileData.Directory).CreaImmagineThread(fileData.File.Name);
|
await new ImageCreatorSharp(fileData.File, fileData.Directory).CreaImmagineThread(fileData.File.Name);
|
||||||
}, maxDegreeOfParallelism: threads);
|
results.Add(fileData.File.Name);
|
||||||
|
//count = Interlocked.Increment(ref count);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
updateEvent?.Invoke(this, new Tuple<string, int>(fileData.File.Name, dataToProcess.Count) );
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine(e);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
|
}, maxDegreeOfParallelism: threads, false, cancellationToken);
|
||||||
|
|
||||||
|
|
||||||
//var throttler = new SemaphoreSlim(initialCount: threads);
|
//var throttler = new SemaphoreSlim(initialCount: threads);
|
||||||
|
|
@ -156,7 +171,7 @@ namespace MaddoShared
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
var asdf = SplitList(dataToProcess.ToList(), dataToProcess.Count() / options.ChunksSize).ToList();
|
var asdf = SplitList(dataToProcess.ToList(), dataToProcess.Count()).ToList();
|
||||||
//var sadf = asdf[0];
|
//var sadf = asdf[0];
|
||||||
|
|
||||||
//var sadf1 = asdf[1];
|
//var sadf1 = asdf[1];
|
||||||
|
|
@ -166,7 +181,18 @@ namespace MaddoShared
|
||||||
await sdaf.ParallelForEachAsync(async fileData =>
|
await sdaf.ParallelForEachAsync(async fileData =>
|
||||||
{
|
{
|
||||||
await new ImageCreatorSharp(fileData.File, fileData.Directory).CreaImmagineThread(fileData.File.Name);
|
await new ImageCreatorSharp(fileData.File, fileData.Directory).CreaImmagineThread(fileData.File.Name);
|
||||||
}, maxDegreeOfParallelism: threads);
|
results.Add(fileData.File.Name);
|
||||||
|
//count = Interlocked.Increment(ref count);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
updateEvent?.Invoke(this, new Tuple<string, int>(fileData.File.Name, dataToProcess.Count));
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine(e);
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}, maxDegreeOfParallelism: threads, false, cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -189,6 +215,7 @@ namespace MaddoShared
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IEnumerable<List<T>> SplitList<T>(List<T> bigList, int nSize = 3)
|
public static IEnumerable<List<T>> SplitList<T>(List<T> bigList, int nSize = 3)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < bigList.Count; i += nSize)
|
for (int i = 0; i < bigList.Count; i += nSize)
|
||||||
|
|
|
||||||
32
imagecatalog/AssemblyInfo.cs
Normal file
32
imagecatalog/AssemblyInfo.cs
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
|
||||||
|
// Review the values of the assembly attributes
|
||||||
|
|
||||||
|
[assembly: AssemblyTitle("Image Catalog")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyCompany("FornaSoft")]
|
||||||
|
[assembly: AssemblyProduct("")]
|
||||||
|
[assembly: AssemblyCopyright("(C) 2002-08")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: CLSCompliant(true)]
|
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
|
[assembly: Guid("948AA2AA-5BED-4DD5-9C67-3126EE9109C6")]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
|
// by using the '*' as shown below:
|
||||||
|
|
||||||
|
[assembly: AssemblyVersion("1.74.*")]
|
||||||
1255
imagecatalog/CreaImmagineSeparateMultiCore.cs
Normal file
1255
imagecatalog/CreaImmagineSeparateMultiCore.cs
Normal file
File diff suppressed because it is too large
Load diff
1721
imagecatalog/CreaImmagineSeparateThread.cs
Normal file
1721
imagecatalog/CreaImmagineSeparateThread.cs
Normal file
File diff suppressed because it is too large
Load diff
1190
imagecatalog/ExifReader.cs
Normal file
1190
imagecatalog/ExifReader.cs
Normal file
File diff suppressed because it is too large
Load diff
261
imagecatalog/FileHelper.cs
Normal file
261
imagecatalog/FileHelper.cs
Normal file
|
|
@ -0,0 +1,261 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Concurrent;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
namespace ImageCatalog
|
||||||
|
{
|
||||||
|
public class FileHelper
|
||||||
|
{
|
||||||
|
// Private dirSourceDest As Dictionary(Of FileInfo, DirectoryInfo)
|
||||||
|
private int filesPerFolder;
|
||||||
|
private string suffix;
|
||||||
|
private int counterSize;
|
||||||
|
private int numerationType;
|
||||||
|
private string filter;
|
||||||
|
private bool separateFiles;
|
||||||
|
private string extensions = "*.jpg,*.png,*.gif";
|
||||||
|
|
||||||
|
public enum numerazione
|
||||||
|
{
|
||||||
|
Progressiva,
|
||||||
|
Files
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Preparazione per la separazione
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="filesPerFolder"></param>
|
||||||
|
/// <param name="suffix"></param>
|
||||||
|
/// <param name="counterSize"></param>
|
||||||
|
/// <param name="numerationType"></param>
|
||||||
|
/// <remarks></remarks>
|
||||||
|
public FileHelper(int filesPerFolder, string suffix, int counterSize, int numerationType)
|
||||||
|
{
|
||||||
|
this.filesPerFolder = filesPerFolder;
|
||||||
|
this.suffix = suffix;
|
||||||
|
this.counterSize = counterSize;
|
||||||
|
this.numerationType = numerationType;
|
||||||
|
separateFiles = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// nessuna separazione
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks></remarks>
|
||||||
|
public FileHelper()
|
||||||
|
{
|
||||||
|
separateFiles = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Dictionary<FileInfo, DirectoryInfo> GetFilesRecursive(DirectoryInfo root, DirectoryInfo destRoot, string filter)
|
||||||
|
{
|
||||||
|
var dirSourceDest = new Dictionary<FileInfo, DirectoryInfo>();
|
||||||
|
var result = new List<FileInfo>();
|
||||||
|
|
||||||
|
// Dim stack As New Stack(Of DirectoryInfo)
|
||||||
|
var stack = new Stack<KeyValuePair<DirectoryInfo, DirectoryInfo>>();
|
||||||
|
this.filter = filter;
|
||||||
|
var pair = new KeyValuePair<DirectoryInfo, DirectoryInfo>();
|
||||||
|
|
||||||
|
|
||||||
|
// stack.Push(root)
|
||||||
|
stack.Push(new KeyValuePair<DirectoryInfo, DirectoryInfo>(root, destRoot));
|
||||||
|
while (stack.Count > 0)
|
||||||
|
{
|
||||||
|
var curDirKV = stack.Pop();
|
||||||
|
// curDirKP = stack.Pop()
|
||||||
|
var dir = curDirKV.Key;
|
||||||
|
var dDir = curDirKV.Value;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// result.AddRange(dir.GetFiles(filter, SearchOption.TopDirectoryOnly))
|
||||||
|
// dividere file qui
|
||||||
|
if (filesPerFolder > 0 & separateFiles)
|
||||||
|
{
|
||||||
|
appendDictionary(dirSourceDest, dividiFilesInDir(dir, dDir));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
appendDictionary(dirSourceDest, getAllFilesInDir(dir, dDir));
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (DirectoryInfo subDirectory in dir.GetDirectories())
|
||||||
|
stack.Push(new KeyValuePair<DirectoryInfo, DirectoryInfo>(subDirectory, new DirectoryInfo(Path.Combine(dDir.FullName, subDirectory.Name))));
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
var e = ex.Demystify();
|
||||||
|
Console.WriteLine(e);
|
||||||
|
Console.WriteLine(e.Message);
|
||||||
|
Console.WriteLine(e.StackTrace);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return dirSourceDest;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Public Class FileData
|
||||||
|
// Public File As FileInfo
|
||||||
|
// Public Directory As DirectoryInfo
|
||||||
|
// Public Sub New(newFile As FileInfo, newDirectory As DirectoryInfo)
|
||||||
|
// File = newFile
|
||||||
|
// Directory = newDirectory
|
||||||
|
// End Sub
|
||||||
|
// End Class
|
||||||
|
|
||||||
|
// Public Function GetFilesRecursiveParallel(ByVal root As DirectoryInfo, ByVal destRoot As DirectoryInfo, ByVal filter As String) As List(Of FileData)
|
||||||
|
|
||||||
|
|
||||||
|
// Dim dirSourceDest As New ConcurrentDictionary(Of FileInfo, DirectoryInfo)
|
||||||
|
// Dim result As New List(Of FileInfo)
|
||||||
|
|
||||||
|
// 'Dim stack As New Stack(Of DirectoryInfo)
|
||||||
|
// Dim stack As New Stack(Of KeyValuePair(Of DirectoryInfo, DirectoryInfo))
|
||||||
|
|
||||||
|
|
||||||
|
// Me.filter = filter
|
||||||
|
// Dim pair As New KeyValuePair(Of DirectoryInfo, DirectoryInfo)
|
||||||
|
|
||||||
|
|
||||||
|
// 'stack.Push(root)
|
||||||
|
// stack.Push(New KeyValuePair(Of DirectoryInfo, DirectoryInfo)(root, destRoot))
|
||||||
|
|
||||||
|
// Do While (stack.Count > 0)
|
||||||
|
// Dim curDirKV As KeyValuePair(Of DirectoryInfo, DirectoryInfo) = stack.Pop
|
||||||
|
// 'curDirKP = stack.Pop()
|
||||||
|
// Dim dir As DirectoryInfo = curDirKV.Key
|
||||||
|
// Dim dDir As DirectoryInfo = curDirKV.Value
|
||||||
|
// Try
|
||||||
|
// 'result.AddRange(dir.GetFiles(filter, SearchOption.TopDirectoryOnly))
|
||||||
|
// ' dividere file qui
|
||||||
|
// If filesPerFolder > 0 And separateFiles Then
|
||||||
|
// AppendDictionaryConcurrent(dirSourceDest, DividiFilesInDirConcurrent(dir, dDir))
|
||||||
|
// Else
|
||||||
|
// AppendDictionaryConcurrent(dirSourceDest, DividiFilesInDirConcurrent(dir, dDir))
|
||||||
|
// End If
|
||||||
|
|
||||||
|
// For Each subDirectory As DirectoryInfo In dir.GetDirectories
|
||||||
|
// stack.Push(New KeyValuePair(Of DirectoryInfo, DirectoryInfo)(subDirectory, New DirectoryInfo(Path.Combine(dDir.FullName, subDirectory.Name))))
|
||||||
|
|
||||||
|
// Next
|
||||||
|
// Catch ex As Exception
|
||||||
|
// ' TODO: FARE QUALCOSA
|
||||||
|
// End Try
|
||||||
|
// Loop
|
||||||
|
|
||||||
|
// Dim resultData As New List(Of FileData)
|
||||||
|
// resultData.AddRange(From p In dirSourceDest Select New FileData(p.Key, p.Value))
|
||||||
|
// Return resultData
|
||||||
|
// 'Return dirSourceDest
|
||||||
|
// End Function
|
||||||
|
|
||||||
|
public Dictionary<FileInfo, DirectoryInfo> appendDictionary(Dictionary<FileInfo, DirectoryInfo> dictA, Dictionary<FileInfo, DirectoryInfo> dictB)
|
||||||
|
{
|
||||||
|
foreach (KeyValuePair<FileInfo, DirectoryInfo> pair in dictB)
|
||||||
|
dictA.Add(pair.Key, pair.Value);
|
||||||
|
return dictA;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Public Function AppendDictionaryConcurrent(ByVal dictA As ConcurrentDictionary(Of FileInfo, DirectoryInfo), ByVal dictB As ConcurrentDictionary(Of FileInfo, DirectoryInfo)) As ConcurrentDictionary(Of FileInfo, DirectoryInfo)
|
||||||
|
// For Each pair As KeyValuePair(Of FileInfo, DirectoryInfo) In dictB
|
||||||
|
// dictA.TryAdd(pair.Key, pair.Value)
|
||||||
|
// 'dictA.Add(pair.Key, pair.Value)
|
||||||
|
// Next
|
||||||
|
// Return dictA
|
||||||
|
// End Function
|
||||||
|
|
||||||
|
public Dictionary<FileInfo, DirectoryInfo> getAllFilesInDir(DirectoryInfo dir, DirectoryInfo dirDest)
|
||||||
|
{
|
||||||
|
var dict = new Dictionary<FileInfo, DirectoryInfo>();
|
||||||
|
foreach (FileInfo File in dir.GetFiles(filter))
|
||||||
|
dict.Add(File, new DirectoryInfo(Path.Combine(dirDest.FullName, File.Name)));
|
||||||
|
return dict;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Dictionary<FileInfo, DirectoryInfo> dividiFilesInDir(DirectoryInfo dir, DirectoryInfo dirDest)
|
||||||
|
{
|
||||||
|
int filesCount = dir.GetFiles(filter).Count();
|
||||||
|
int contaFilePerDir = 0;
|
||||||
|
int contaDirPerDir = 0;
|
||||||
|
string tempText = string.Empty;
|
||||||
|
var foldersDict = new Dictionary<FileInfo, DirectoryInfo>();
|
||||||
|
DirectoryInfo destDir;
|
||||||
|
destDir = new DirectoryInfo(Path.Combine(dirDest.FullName));
|
||||||
|
foreach (FileInfo file in dir.GetFiles(filter))
|
||||||
|
{
|
||||||
|
contaFilePerDir += 1;
|
||||||
|
if (contaFilePerDir == contaDirPerDir * filesPerFolder + 1)
|
||||||
|
{
|
||||||
|
contaDirPerDir += 1;
|
||||||
|
if (numerationType == (int)numerazione.Progressiva)
|
||||||
|
{
|
||||||
|
tempText = contaDirPerDir.ToString();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
tempText = (contaDirPerDir * filesPerFolder).ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
int i;
|
||||||
|
var loopTo = counterSize - tempText.Length;
|
||||||
|
for (i = 1; i <= loopTo; i++)
|
||||||
|
tempText = "0" + tempText;
|
||||||
|
destDir = new DirectoryInfo(Path.Combine(dirDest.FullName, suffix + tempText));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!destDir.Exists)
|
||||||
|
{
|
||||||
|
destDir.Create();
|
||||||
|
}
|
||||||
|
|
||||||
|
foldersDict.Add(file, destDir);
|
||||||
|
}
|
||||||
|
|
||||||
|
return foldersDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
private ConcurrentDictionary<FileInfo, DirectoryInfo> DividiFilesInDirConcurrent(DirectoryInfo dir, DirectoryInfo dirDest)
|
||||||
|
{
|
||||||
|
int filesCount = dir.GetFiles(filter).Count();
|
||||||
|
int contaFilePerDir = 0;
|
||||||
|
int contaDirPerDir = 0;
|
||||||
|
string tempText = string.Empty;
|
||||||
|
var foldersDict = new ConcurrentDictionary<FileInfo, DirectoryInfo>();
|
||||||
|
DirectoryInfo destDir;
|
||||||
|
destDir = new DirectoryInfo(Path.Combine(dirDest.FullName));
|
||||||
|
foreach (FileInfo file in dir.GetFiles(filter))
|
||||||
|
{
|
||||||
|
contaFilePerDir += 1;
|
||||||
|
if (contaFilePerDir == contaDirPerDir * filesPerFolder + 1)
|
||||||
|
{
|
||||||
|
contaDirPerDir += 1;
|
||||||
|
if (numerationType == (int)numerazione.Progressiva)
|
||||||
|
{
|
||||||
|
tempText = contaDirPerDir.ToString();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
tempText = (contaDirPerDir * filesPerFolder).ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
int i;
|
||||||
|
var loopTo = counterSize - tempText.Length;
|
||||||
|
for (i = 1; i <= loopTo; i++)
|
||||||
|
tempText = "0" + tempText;
|
||||||
|
destDir = new DirectoryInfo(Path.Combine(dirDest.FullName, suffix + tempText));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!destDir.Exists)
|
||||||
|
{
|
||||||
|
destDir.Create();
|
||||||
|
}
|
||||||
|
|
||||||
|
foldersDict.TryAdd(file, destDir);
|
||||||
|
}
|
||||||
|
|
||||||
|
return foldersDict;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
3281
imagecatalog/Form1.cs
Normal file
3281
imagecatalog/Form1.cs
Normal file
File diff suppressed because it is too large
Load diff
355
imagecatalog/ImageCatalog 2.csproj
Normal file
355
imagecatalog/ImageCatalog 2.csproj
Normal file
|
|
@ -0,0 +1,355 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ProjectType>Local</ProjectType>
|
||||||
|
<ProductVersion>9.0.30729</ProductVersion>
|
||||||
|
<SchemaVersion>2.0</SchemaVersion>
|
||||||
|
<ProjectGuid>{3F1E23DB-435E-0590-1EF5-735E898DBA3C}</ProjectGuid>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ApplicationIcon>
|
||||||
|
</ApplicationIcon>
|
||||||
|
<AssemblyKeyContainerName>
|
||||||
|
</AssemblyKeyContainerName>
|
||||||
|
<AssemblyName>ImageCatalog</AssemblyName>
|
||||||
|
<AssemblyOriginatorKeyFile>
|
||||||
|
</AssemblyOriginatorKeyFile>
|
||||||
|
<AssemblyOriginatorKeyMode>None</AssemblyOriginatorKeyMode>
|
||||||
|
<DefaultClientScript>JScript</DefaultClientScript>
|
||||||
|
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
|
||||||
|
<DefaultTargetSchema>IE50</DefaultTargetSchema>
|
||||||
|
<DelaySign>false</DelaySign>
|
||||||
|
<OutputType>WinExe</OutputType>
|
||||||
|
<OptionCompare>Binary</OptionCompare>
|
||||||
|
<OptionExplicit>On</OptionExplicit>
|
||||||
|
<OptionStrict>On</OptionStrict>
|
||||||
|
<RootNamespace>ImageCatalog</RootNamespace>
|
||||||
|
<StartupObject>ImageCatalog.My.MyApplication</StartupObject>
|
||||||
|
<FileUpgradeFlags>
|
||||||
|
</FileUpgradeFlags>
|
||||||
|
<MyType>WindowsForms</MyType>
|
||||||
|
<OldToolsVersion>3.5</OldToolsVersion>
|
||||||
|
<UpgradeBackupLocation>
|
||||||
|
</UpgradeBackupLocation>
|
||||||
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||||
|
<IsWebBootstrapper>true</IsWebBootstrapper>
|
||||||
|
<ApplicationManifest>My Project\app.manifest</ApplicationManifest>
|
||||||
|
<TargetFrameworkProfile>
|
||||||
|
</TargetFrameworkProfile>
|
||||||
|
<SccProjectName>SAK</SccProjectName>
|
||||||
|
<SccLocalPath>SAK</SccLocalPath>
|
||||||
|
<SccAuxPath>SAK</SccAuxPath>
|
||||||
|
<SccProvider>SAK</SccProvider>
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
|
<PublishUrl>http://localhost/ImageCatalog/</PublishUrl>
|
||||||
|
<Install>true</Install>
|
||||||
|
<InstallFrom>Web</InstallFrom>
|
||||||
|
<UpdateEnabled>true</UpdateEnabled>
|
||||||
|
<UpdateMode>Foreground</UpdateMode>
|
||||||
|
<UpdateInterval>7</UpdateInterval>
|
||||||
|
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
|
||||||
|
<UpdatePeriodically>false</UpdatePeriodically>
|
||||||
|
<UpdateRequired>false</UpdateRequired>
|
||||||
|
<MapFileExtensions>true</MapFileExtensions>
|
||||||
|
<ApplicationRevision>0</ApplicationRevision>
|
||||||
|
<ApplicationVersion>1.8.0.%2a</ApplicationVersion>
|
||||||
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
|
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||||
|
<DefaultItemExcludes>$(DefaultItemExcludes);$(ProjectDir)**\*.vb</DefaultItemExcludes>
|
||||||
|
<LangVersion>latest</LangVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<OutputPath>bin\</OutputPath>
|
||||||
|
<DocumentationFile>bin\ImageCatalog.xml</DocumentationFile>
|
||||||
|
<BaseAddress>285212672</BaseAddress>
|
||||||
|
<ConfigurationOverrideFile>
|
||||||
|
</ConfigurationOverrideFile>
|
||||||
|
<DefineConstants>
|
||||||
|
</DefineConstants>
|
||||||
|
<DefineDebug>true</DefineDebug>
|
||||||
|
<DefineTrace>true</DefineTrace>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<RegisterForComInterop>false</RegisterForComInterop>
|
||||||
|
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<WarningLevel>1</WarningLevel>
|
||||||
|
<NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<OutputPath>bin\</OutputPath>
|
||||||
|
<DocumentationFile>bin\ImageCatalog.xml</DocumentationFile>
|
||||||
|
<BaseAddress>285212672</BaseAddress>
|
||||||
|
<ConfigurationOverrideFile>
|
||||||
|
</ConfigurationOverrideFile>
|
||||||
|
<DefineConstants>
|
||||||
|
</DefineConstants>
|
||||||
|
<DefineDebug>false</DefineDebug>
|
||||||
|
<DefineTrace>true</DefineTrace>
|
||||||
|
<DebugSymbols>false</DebugSymbols>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<RegisterForComInterop>false</RegisterForComInterop>
|
||||||
|
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
||||||
|
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||||
|
<WarningLevel>1</WarningLevel>
|
||||||
|
<NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
|
||||||
|
<DebugType>none</DebugType>
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DefineDebug>true</DefineDebug>
|
||||||
|
<DefineTrace>true</DefineTrace>
|
||||||
|
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||||
|
<BaseAddress>285212672</BaseAddress>
|
||||||
|
<DocumentationFile>bin\x64\Debug\ImageCatalog.xml</DocumentationFile>
|
||||||
|
<WarningLevel>1</WarningLevel>
|
||||||
|
<NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
|
||||||
|
<DefineTrace>true</DefineTrace>
|
||||||
|
<OutputPath>bin\x64\Release\</OutputPath>
|
||||||
|
<BaseAddress>285212672</BaseAddress>
|
||||||
|
<DocumentationFile>bin\x64\Release\ImageCatalog.xml</DocumentationFile>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<WarningLevel>1</WarningLevel>
|
||||||
|
<NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
|
||||||
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DefineDebug>true</DefineDebug>
|
||||||
|
<DefineTrace>true</DefineTrace>
|
||||||
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
<BaseAddress>285212672</BaseAddress>
|
||||||
|
<DocumentationFile>bin\x86\Debug\ImageCatalog.xml</DocumentationFile>
|
||||||
|
<WarningLevel>1</WarningLevel>
|
||||||
|
<NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<CodeAnalysisLogFile>bin\ImageCatalog.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||||
|
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||||
|
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||||
|
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRuleSetDirectories>;F:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||||
|
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||||
|
<CodeAnalysisRuleDirectories>;F:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||||
|
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
|
||||||
|
<CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||||
|
<DefineTrace>true</DefineTrace>
|
||||||
|
<OutputPath>bin\x86\Release\</OutputPath>
|
||||||
|
<BaseAddress>285212672</BaseAddress>
|
||||||
|
<DocumentationFile>bin\x86\Release\ImageCatalog.xml</DocumentationFile>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<WarningLevel>1</WarningLevel>
|
||||||
|
<NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<CodeAnalysisLogFile>bin\ImageCatalog.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
|
||||||
|
<CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
|
||||||
|
<CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
|
||||||
|
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRuleSetDirectories>;F:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
|
||||||
|
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
|
||||||
|
<CodeAnalysisRuleDirectories>;F:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
|
||||||
|
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
|
||||||
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.VisualBasic" />
|
||||||
|
<Reference Include="Ben.Demystifier, Version=0.3.0.0, Culture=neutral, PublicKeyToken=a6d206e05440431a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Ben.Demystifier.0.3.0\lib\net45\Ben.Demystifier.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualBasic.PowerPacks.Vs, Version=10.0.0.0" />
|
||||||
|
<Reference Include="Microsoft.WindowsAPICodePack, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.WindowsAPICodePack-Core.1.1.0.2\lib\Microsoft.WindowsAPICodePack.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.WindowsAPICodePack-Shell.1.1.0.0\lib\Microsoft.WindowsAPICodePack.Shell.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.WindowsAPICodePack.ShellExtensions, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.WindowsAPICodePack-Shell.1.1.0.0\lib\Microsoft.WindowsAPICodePack.ShellExtensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System">
|
||||||
|
<Name>System</Name>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Collections.Immutable, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Collections.Immutable.5.0.0\lib\net461\System.Collections.Immutable.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Core">
|
||||||
|
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Data">
|
||||||
|
<Name>System.Data</Name>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Drawing">
|
||||||
|
<Name>System.Drawing</Name>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Numerics" />
|
||||||
|
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Reflection.Metadata, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Reflection.Metadata.5.0.0\lib\net461\System.Reflection.Metadata.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Windows.Forms">
|
||||||
|
<Name>System.Windows.Forms</Name>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Xml">
|
||||||
|
<Name>System.XML</Name>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Import Include="Microsoft.VisualBasic" />
|
||||||
|
<Import Include="System" />
|
||||||
|
<Import Include="System.Collections" />
|
||||||
|
<Import Include="System.Data" />
|
||||||
|
<Import Include="System.Diagnostics" />
|
||||||
|
<Import Include="System.Drawing" />
|
||||||
|
<Import Include="System.Linq" />
|
||||||
|
<Import Include="System.Windows.Forms" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="My Project\MyNamespace.Dynamic.Designer.cs" />
|
||||||
|
<Compile Include="My Project\MyNamespace.Static.1.Designer.cs" />
|
||||||
|
<Compile Include="AssemblyInfo.cs">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="FileHelper.cs" />
|
||||||
|
<Compile Include="CreaImmagineSeparateMultiCore.cs" />
|
||||||
|
<Compile Include="CreaImmagineSeparateThread.cs" />
|
||||||
|
<Compile Include="ExifReader.cs">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Form1.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="LoadBuffer.cs" />
|
||||||
|
<Compile Include="MainForm.Designer.cs">
|
||||||
|
<DependentUpon>MainForm.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="MainForm.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Module2.cs" />
|
||||||
|
<Compile Include="My Project\Application.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Application.myapp</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="My Project\Settings.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
|
<DependentUpon>Settings.settings</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="PicSettings.cs" />
|
||||||
|
<Compile Include="XYThreadPool.cs" />
|
||||||
|
<Compile Include="Module1.cs">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ParametriSetup.cs">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
|
<EmbeddedResource Include="Form1.resx">
|
||||||
|
<DependentUpon>Form1.cs</DependentUpon>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="MainForm.resx">
|
||||||
|
<DependentUpon>MainForm.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<None Include="My Project\Application.myapp">
|
||||||
|
<Generator>MyApplicationCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Application.Designer.cs</LastGenOutput>
|
||||||
|
</None>
|
||||||
|
<None Include="app.config" />
|
||||||
|
<None Include="ClassDiagram1.cd" />
|
||||||
|
<None Include="My Project\app.manifest" />
|
||||||
|
<None Include="My Project\Settings.settings">
|
||||||
|
<CustomToolNamespace>ImageCatalog.My</CustomToolNamespace>
|
||||||
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
|
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||||
|
</None>
|
||||||
|
<None Include="packages.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 2.0 %28x86%29</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.0 %28x86%29</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.5</ProductName>
|
||||||
|
<Install>true</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||||
|
<Install>false</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||||
|
<Visible>False</Visible>
|
||||||
|
<ProductName>Windows Installer 3.1</ProductName>
|
||||||
|
<Install>true</Install>
|
||||||
|
</BootstrapperPackage>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Sorgenti\" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\CatalogVbLib\CatalogVbLib.vbproj">
|
||||||
|
<Project>{44465926-240d-473f-90b8-786ba4384406}</Project>
|
||||||
|
<Name>CatalogVbLib</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\MaddoShared\MaddoShared.csproj">
|
||||||
|
<Project>{aebfe9e3-277c-4a7b-8448-145d1b11998b}</Project>
|
||||||
|
<Name>MaddoShared</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<PreBuildEvent>
|
||||||
|
</PreBuildEvent>
|
||||||
|
<PostBuildEvent>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
13
imagecatalog/LoadBuffer.cs
Normal file
13
imagecatalog/LoadBuffer.cs
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
|
namespace ImageCatalog
|
||||||
|
{
|
||||||
|
public class LoadBuffer
|
||||||
|
{
|
||||||
|
public List<Image> imageList = new List<Image>();
|
||||||
|
public List<FileInfo> picSourceList = new List<FileInfo>();
|
||||||
|
public List<List<FileInfo>> dirSourceList = new List<List<FileInfo>>();
|
||||||
|
}
|
||||||
|
}
|
||||||
2169
imagecatalog/MainForm.Designer.cs
generated
Normal file
2169
imagecatalog/MainForm.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
1675
imagecatalog/MainForm.cs
Normal file
1675
imagecatalog/MainForm.cs
Normal file
File diff suppressed because it is too large
Load diff
158
imagecatalog/Module1.cs
Normal file
158
imagecatalog/Module1.cs
Normal file
|
|
@ -0,0 +1,158 @@
|
||||||
|
|
||||||
|
namespace ImageCatalog
|
||||||
|
{
|
||||||
|
static class Module1
|
||||||
|
{
|
||||||
|
|
||||||
|
// Sub CaricaIni()
|
||||||
|
// Dim Parola As String
|
||||||
|
// Dim i As Integer
|
||||||
|
// Dim p As Integer
|
||||||
|
|
||||||
|
// If Dir$(NomeIni) <> "" Then
|
||||||
|
// Open NomeIni For Input As #1
|
||||||
|
// Input #1, NumeroMacchine
|
||||||
|
// For i = 1 To NumeroMacchine
|
||||||
|
// Input #1, NomeMacchina(i)
|
||||||
|
// Input #1, CodiceMacchina(i)
|
||||||
|
// Input #1, TempoMacchinaFerma(i)
|
||||||
|
// Input #1, LunghezzaImpulso(i)
|
||||||
|
// Input #1, TempoRegistrazioneDati(i)
|
||||||
|
// Input #1, RangoVelocita(i)
|
||||||
|
// Input #1, MaxVelocita(i)
|
||||||
|
// Input #1, NumeroRulli(i)
|
||||||
|
// Input #1, NumeroFili(i)
|
||||||
|
// Input #1, IndirizzoMacchina(i)
|
||||||
|
// Input #1, StampaAutoMacchina(i)
|
||||||
|
// Next i
|
||||||
|
// Input #1, SettimanaInizio
|
||||||
|
// Input #1, SettimanaFine
|
||||||
|
// Input #1, Chiusura
|
||||||
|
// Input #1, OrarioStampa
|
||||||
|
// Input #1, OrarioStampaSecondi
|
||||||
|
// Input #1, OrarioAccendiProg
|
||||||
|
// Input #1, OrarioSpengiProg
|
||||||
|
// Input #1, NomeDitta
|
||||||
|
// Input #1, StampaAutoGiorno
|
||||||
|
// Input #1, StampaAutoWeek
|
||||||
|
// Input #1, StampaGiornoRiepilogo
|
||||||
|
// Input #1, StampaGiornoGrafTMFA
|
||||||
|
// Input #1, StampaGiornoGrafVel
|
||||||
|
// Input #1, StampaWeekRiepilogo
|
||||||
|
// Input #1, StampaWeekGrafTMFA
|
||||||
|
// Input #1, StampaWeekGrafVel
|
||||||
|
// Input #1, StampanteManuale
|
||||||
|
// Input #1, StampanteAutomatica
|
||||||
|
// Input #1, StampanteNomeAghi
|
||||||
|
// Input #1, StampanteNomeLaser
|
||||||
|
// Input #1, NomePortaComm
|
||||||
|
|
||||||
|
// Input #1, TurniTotali
|
||||||
|
// For p = 1 To TurniTotali
|
||||||
|
// Input #1, TurnoNumero(p)
|
||||||
|
// Input #1, TurnoInizioMinuti(p)
|
||||||
|
// Input #1, TurnoFineMinuti(p)
|
||||||
|
// Input #1, TurnoInizioSecondi(p)
|
||||||
|
// Input #1, TurnoFineSecondi(p)
|
||||||
|
// Next p
|
||||||
|
// Input #1, Parola
|
||||||
|
// Close #1
|
||||||
|
// PassWordAmm = Trim$(Cripta(Parola, ChiaveCriDecri))
|
||||||
|
// End If
|
||||||
|
// End Sub
|
||||||
|
|
||||||
|
// Sub SalvaIni()
|
||||||
|
// Dim Conto As Single
|
||||||
|
// Dim Nomefile As String
|
||||||
|
// Dim NomeDir As String
|
||||||
|
// Dim Testo As String
|
||||||
|
// Dim TestoA As String
|
||||||
|
// Dim i As Integer
|
||||||
|
// Dim k As Integer
|
||||||
|
// Dim p As Integer
|
||||||
|
// Dim Lungo As Integer
|
||||||
|
// Dim Resto As Integer
|
||||||
|
// Dim Primo(3) As String
|
||||||
|
|
||||||
|
// For i = 1 To NumeroMacchine
|
||||||
|
// If Right$(DirectoryProgramma, 1) = "\" Then
|
||||||
|
// NomeDir = DirectoryProgramma + NomeMacchina(i)
|
||||||
|
// Else
|
||||||
|
// NomeDir = DirectoryProgramma + "\" + NomeMacchina(i)
|
||||||
|
// End If
|
||||||
|
// Nomefile = NomeDir + "\" + NomeMacchina(i) + ".SYS"
|
||||||
|
// If Dir$(Nomefile) = "" Then MkDir(NomeDir)
|
||||||
|
// Next i
|
||||||
|
|
||||||
|
// Open NomeIni For Output As #3
|
||||||
|
// Print #3, NumeroMacchine
|
||||||
|
// For i = 1 To NumeroMacchine
|
||||||
|
// If Right$(DirectoryProgramma, 1) = "\" Then
|
||||||
|
// Nomefile = DirectoryProgramma + NomeMacchina(i) + "\" + NomeMacchina(i) + ".SYS"
|
||||||
|
// Else
|
||||||
|
// Nomefile = DirectoryProgramma + "\" + NomeMacchina(i) + "\" + NomeMacchina(i) + ".SYS"
|
||||||
|
// End If
|
||||||
|
// Open Nomefile For Output As #4
|
||||||
|
// Write #4, NomeMacchina(i)
|
||||||
|
// Write #4, CodiceMacchina(i)
|
||||||
|
// Print #4, TempoMacchinaFerma(i)
|
||||||
|
// Print #4, LunghezzaImpulso(i)
|
||||||
|
// Print #4, TempoRegistrazioneDati(i)
|
||||||
|
// Print #4, RangoVelocita(i)
|
||||||
|
// Print #4, MaxVelocita(i)
|
||||||
|
// Print #4, NumeroRulli(i)
|
||||||
|
// Print #4, NumeroFili(i)
|
||||||
|
// Print #4, IndirizzoMacchina(i)
|
||||||
|
// Write #4, StampaAutoMacchina(i)
|
||||||
|
// Close #4
|
||||||
|
// Write #3, NomeMacchina(i)
|
||||||
|
// Write #3, CodiceMacchina(i)
|
||||||
|
// Print #3, TempoMacchinaFerma(i)
|
||||||
|
// Print #3, LunghezzaImpulso(i)
|
||||||
|
// Print #3, TempoRegistrazioneDati(i)
|
||||||
|
// Print #3, RangoVelocita(i)
|
||||||
|
// Print #3, MaxVelocita(i)
|
||||||
|
// Print #3, NumeroRulli(i)
|
||||||
|
// Print #3, NumeroFili(i)
|
||||||
|
// Print #3, IndirizzoMacchina(i)
|
||||||
|
// Write #3, StampaAutoMacchina(i)
|
||||||
|
// Next i
|
||||||
|
// Print #3, SettimanaInizio
|
||||||
|
// Print #3, SettimanaFine
|
||||||
|
// Write #3, Chiusura
|
||||||
|
// Write #3, OrarioStampa
|
||||||
|
// Print #3, OrarioStampaSecondi
|
||||||
|
// Write #3, OrarioAccendiProg
|
||||||
|
// Write #3, OrarioSpengiProg
|
||||||
|
// Write #3, NomeDitta
|
||||||
|
// Write #3, StampaAutoGiorno
|
||||||
|
// Write #3, StampaAutoWeek
|
||||||
|
// Write #3, StampaGiornoRiepilogo
|
||||||
|
// Write #3, StampaGiornoGrafTMFA
|
||||||
|
// Write #3, StampaGiornoGrafVel
|
||||||
|
// Write #3, StampaWeekRiepilogo
|
||||||
|
// Write #3, StampaWeekGrafTMFA
|
||||||
|
// Write #3, StampaWeekGrafVel
|
||||||
|
// Write #3, StampanteManuale
|
||||||
|
// Write #3, StampanteAutomatica
|
||||||
|
// Write #3, StampanteNomeAghi
|
||||||
|
// Write #3, StampanteNomeLaser
|
||||||
|
// Write #3, NomePortaComm
|
||||||
|
|
||||||
|
// Print #3, TurniTotali
|
||||||
|
// For p = 1 To TurniTotali
|
||||||
|
// Print #3, TurnoNumero(p)
|
||||||
|
// Print #3, TurnoInizioMinuti(p)
|
||||||
|
// Print #3, TurnoFineMinuti(p)
|
||||||
|
// Print #3, TurnoInizioSecondi(p)
|
||||||
|
// Print #3, TurnoFineSecondi(p)
|
||||||
|
// Next p
|
||||||
|
// Testo = Cripta(PassWordAmm, ChiaveCriDecri)
|
||||||
|
// Write #3, Testo
|
||||||
|
// Close #3
|
||||||
|
// End Sub
|
||||||
|
|
||||||
|
|
||||||
|
public static ParametriSetup SetupIni = new ParametriSetup();
|
||||||
|
}
|
||||||
|
}
|
||||||
7
imagecatalog/Module2.cs
Normal file
7
imagecatalog/Module2.cs
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
|
||||||
|
namespace ImageCatalog
|
||||||
|
{
|
||||||
|
static class Module2
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
38
imagecatalog/My Project/Application.Designer.cs
generated
Normal file
38
imagecatalog/My Project/Application.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
// ------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
// ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
|
namespace ImageCatalog.My
|
||||||
|
{
|
||||||
|
|
||||||
|
// NOTE: This file is auto-generated; do not modify it directly. To make changes,
|
||||||
|
// or if you encounter build errors in this file, go to the Project Designer
|
||||||
|
// (go to Project Properties or double-click the My Project node in
|
||||||
|
// Solution Explorer), and make changes on the Application tab.
|
||||||
|
//
|
||||||
|
internal partial class MyApplication
|
||||||
|
{
|
||||||
|
[DebuggerStepThrough()]
|
||||||
|
public MyApplication() : base(Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
|
||||||
|
{
|
||||||
|
IsSingleInstance = false;
|
||||||
|
EnableVisualStyles = true;
|
||||||
|
SaveMySettingsOnExit = true;
|
||||||
|
ShutdownStyle = Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses;
|
||||||
|
}
|
||||||
|
|
||||||
|
[DebuggerStepThrough()]
|
||||||
|
protected override void OnCreateMainForm()
|
||||||
|
{
|
||||||
|
MainForm = MyProject.Forms.MainForm;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
58
imagecatalog/My Project/MyNamespace.Dynamic.Designer.cs
generated
Normal file
58
imagecatalog/My Project/MyNamespace.Dynamic.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
|
namespace ImageCatalog.My
|
||||||
|
{
|
||||||
|
internal static partial class MyProject
|
||||||
|
{
|
||||||
|
internal partial class MyForms
|
||||||
|
{
|
||||||
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||||
|
public Form1 m_Form1;
|
||||||
|
|
||||||
|
public Form1 Form1
|
||||||
|
{
|
||||||
|
[DebuggerHidden]
|
||||||
|
get
|
||||||
|
{
|
||||||
|
m_Form1 = Create__Instance__(m_Form1);
|
||||||
|
return m_Form1;
|
||||||
|
}
|
||||||
|
|
||||||
|
[DebuggerHidden]
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (ReferenceEquals(value, m_Form1))
|
||||||
|
return;
|
||||||
|
if (value is object)
|
||||||
|
throw new ArgumentException("Property can only be set to Nothing");
|
||||||
|
Dispose__Instance__(ref m_Form1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||||
|
public MainForm m_MainForm;
|
||||||
|
|
||||||
|
public MainForm MainForm
|
||||||
|
{
|
||||||
|
[DebuggerHidden]
|
||||||
|
get
|
||||||
|
{
|
||||||
|
m_MainForm = Create__Instance__(m_MainForm);
|
||||||
|
return m_MainForm;
|
||||||
|
}
|
||||||
|
|
||||||
|
[DebuggerHidden]
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (ReferenceEquals(value, m_MainForm))
|
||||||
|
return;
|
||||||
|
if (value is object)
|
||||||
|
throw new ArgumentException("Property can only be set to Nothing");
|
||||||
|
Dispose__Instance__(ref m_MainForm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
305
imagecatalog/My Project/MyNamespace.Static.1.Designer.cs
generated
Normal file
305
imagecatalog/My Project/MyNamespace.Static.1.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,305 @@
|
||||||
|
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using Microsoft.VisualBasic;
|
||||||
|
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
||||||
|
/* TODO ERROR: Skipped DefineDirectiveTrivia *//* TODO ERROR: Skipped DefineDirectiveTrivia *//* TODO ERROR: Skipped DefineDirectiveTrivia *//* TODO ERROR: Skipped DefineDirectiveTrivia *//* TODO ERROR: Skipped DefineDirectiveTrivia */
|
||||||
|
/* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
||||||
|
namespace ImageCatalog.My
|
||||||
|
{
|
||||||
|
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
||||||
|
[System.CodeDom.Compiler.GeneratedCode("MyTemplate", "11.0.0.0")]
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
||||||
|
internal partial class MyApplication : Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase
|
||||||
|
{
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
||||||
|
[STAThread()]
|
||||||
|
[DebuggerHidden()]
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static void Main(string[] Args)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Application.SetCompatibleTextRenderingDefault(UseCompatibleTextRendering);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
MyProject.Application.Run(Args);
|
||||||
|
}
|
||||||
|
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
/* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
||||||
|
[System.CodeDom.Compiler.GeneratedCode("MyTemplate", "11.0.0.0")]
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
||||||
|
internal partial class MyComputer : Microsoft.VisualBasic.Devices.Computer
|
||||||
|
{
|
||||||
|
/* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
[DebuggerHidden()]
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
public MyComputer() : base()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
[HideModuleName()]
|
||||||
|
[System.CodeDom.Compiler.GeneratedCode("MyTemplate", "11.0.0.0")]
|
||||||
|
internal static partial class MyProject
|
||||||
|
{
|
||||||
|
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
||||||
|
[System.ComponentModel.Design.HelpKeyword("My.Computer")]
|
||||||
|
internal static MyComputer Computer
|
||||||
|
{
|
||||||
|
[DebuggerHidden()]
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return m_ComputerObjectProvider.GetInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly static ThreadSafeObjectProvider<MyComputer> m_ComputerObjectProvider = new ThreadSafeObjectProvider<MyComputer>();
|
||||||
|
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
||||||
|
[System.ComponentModel.Design.HelpKeyword("My.Application")]
|
||||||
|
internal static MyApplication Application
|
||||||
|
{
|
||||||
|
[DebuggerHidden()]
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return m_AppObjectProvider.GetInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly static ThreadSafeObjectProvider<MyApplication> m_AppObjectProvider = new ThreadSafeObjectProvider<MyApplication>();
|
||||||
|
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
||||||
|
[System.ComponentModel.Design.HelpKeyword("My.User")]
|
||||||
|
internal static Microsoft.VisualBasic.ApplicationServices.User User
|
||||||
|
{
|
||||||
|
[DebuggerHidden()]
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return m_UserObjectProvider.GetInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly static ThreadSafeObjectProvider<Microsoft.VisualBasic.ApplicationServices.User> m_UserObjectProvider = new ThreadSafeObjectProvider<Microsoft.VisualBasic.ApplicationServices.User>();
|
||||||
|
/* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
||||||
|
/* TODO ERROR: Skipped DefineDirectiveTrivia */
|
||||||
|
[System.ComponentModel.Design.HelpKeyword("My.Forms")]
|
||||||
|
internal static MyForms Forms
|
||||||
|
{
|
||||||
|
[DebuggerHidden()]
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return m_MyFormsObjectProvider.GetInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
[MyGroupCollection("System.Windows.Forms.Form", "Create__Instance__", "Dispose__Instance__", "My.MyProject.Forms")]
|
||||||
|
internal sealed partial class MyForms
|
||||||
|
{
|
||||||
|
[DebuggerHidden()]
|
||||||
|
private static T Create__Instance__<T>(T Instance) where T : Form, new()
|
||||||
|
{
|
||||||
|
if (Instance is null || Instance.IsDisposed)
|
||||||
|
{
|
||||||
|
if (m_FormBeingCreated is object)
|
||||||
|
{
|
||||||
|
if (m_FormBeingCreated.ContainsKey(typeof(T)) == true)
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException(Microsoft.VisualBasic.CompilerServices.Utils.GetResourceString("WinForms_RecursiveFormCreate"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_FormBeingCreated = new Hashtable();
|
||||||
|
}
|
||||||
|
|
||||||
|
m_FormBeingCreated.Add(typeof(T), null);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return new T();
|
||||||
|
}
|
||||||
|
catch (System.Reflection.TargetInvocationException ex) when (ex.InnerException is object)
|
||||||
|
{
|
||||||
|
string BetterMessage = Microsoft.VisualBasic.CompilerServices.Utils.GetResourceString("WinForms_SeeInnerException", ex.InnerException.Message);
|
||||||
|
throw new InvalidOperationException(BetterMessage, ex.InnerException);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
m_FormBeingCreated.Remove(typeof(T));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return Instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[DebuggerHidden()]
|
||||||
|
private void Dispose__Instance__<T>(ref T instance) where T : Form
|
||||||
|
{
|
||||||
|
instance.Dispose();
|
||||||
|
instance = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
[DebuggerHidden()]
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
public MyForms() : base()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
[ThreadStatic()]
|
||||||
|
private static Hashtable m_FormBeingCreated;
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
public override bool Equals(object o)
|
||||||
|
{
|
||||||
|
return base.Equals(o);
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
public override int GetHashCode()
|
||||||
|
{
|
||||||
|
return base.GetHashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
internal new Type GetType()
|
||||||
|
{
|
||||||
|
return typeof(MyForms);
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return base.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ThreadSafeObjectProvider<MyForms> m_MyFormsObjectProvider = new ThreadSafeObjectProvider<MyForms>();
|
||||||
|
|
||||||
|
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
||||||
|
[System.ComponentModel.Design.HelpKeyword("My.WebServices")]
|
||||||
|
internal static MyWebServices WebServices
|
||||||
|
{
|
||||||
|
[DebuggerHidden()]
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return m_MyWebServicesObjectProvider.GetInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
[MyGroupCollection("System.Web.Services.Protocols.SoapHttpClientProtocol", "Create__Instance__", "Dispose__Instance__", "")]
|
||||||
|
internal sealed class MyWebServices
|
||||||
|
{
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
[DebuggerHidden()]
|
||||||
|
public override bool Equals(object o)
|
||||||
|
{
|
||||||
|
return base.Equals(o);
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
[DebuggerHidden()]
|
||||||
|
public override int GetHashCode()
|
||||||
|
{
|
||||||
|
return base.GetHashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
[DebuggerHidden()]
|
||||||
|
internal new Type GetType()
|
||||||
|
{
|
||||||
|
return typeof(MyWebServices);
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
[DebuggerHidden()]
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return base.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
[DebuggerHidden()]
|
||||||
|
private static T Create__Instance__<T>(T instance) where T : new()
|
||||||
|
{
|
||||||
|
if (instance is null)
|
||||||
|
{
|
||||||
|
return new T();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[DebuggerHidden()]
|
||||||
|
private void Dispose__Instance__<T>(ref T instance)
|
||||||
|
{
|
||||||
|
instance = default;
|
||||||
|
}
|
||||||
|
|
||||||
|
[DebuggerHidden()]
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
public MyWebServices() : base()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly static ThreadSafeObjectProvider<MyWebServices> m_MyWebServicesObjectProvider = new ThreadSafeObjectProvider<MyWebServices>();
|
||||||
|
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
[System.Runtime.InteropServices.ComVisible(false)]
|
||||||
|
internal sealed class ThreadSafeObjectProvider<T> where T : new()
|
||||||
|
{
|
||||||
|
internal T GetInstance
|
||||||
|
{
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElseDirectiveTrivia */
|
||||||
|
[DebuggerHidden()]
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (m_ThreadStaticValue is null)
|
||||||
|
m_ThreadStaticValue = new T();
|
||||||
|
return m_ThreadStaticValue;
|
||||||
|
}
|
||||||
|
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
}
|
||||||
|
|
||||||
|
[DebuggerHidden()]
|
||||||
|
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
||||||
|
public ThreadSafeObjectProvider() : base()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TODO ERROR: Skipped IfDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElseDirectiveTrivia */
|
||||||
|
[System.Runtime.CompilerServices.CompilerGenerated()]
|
||||||
|
[ThreadStatic()]
|
||||||
|
private static T m_ThreadStaticValue;
|
||||||
|
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
||||||
26
imagecatalog/My Project/Settings.Designer.cs
generated
Normal file
26
imagecatalog/My Project/Settings.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace ImageCatalog.My {
|
||||||
|
|
||||||
|
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")]
|
||||||
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
|
|
||||||
|
public static Settings Default {
|
||||||
|
get {
|
||||||
|
return defaultInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
179
imagecatalog/ParametriSetup.cs
Normal file
179
imagecatalog/ParametriSetup.cs
Normal file
|
|
@ -0,0 +1,179 @@
|
||||||
|
using System;
|
||||||
|
using System.Data;
|
||||||
|
using Microsoft.VisualBasic;
|
||||||
|
|
||||||
|
namespace ImageCatalog
|
||||||
|
{
|
||||||
|
public class ParametriSetup
|
||||||
|
{
|
||||||
|
private DataSet _ElencoParametri;
|
||||||
|
private string _NomeFileSetup;
|
||||||
|
|
||||||
|
public ParametriSetup(string FileSetup)
|
||||||
|
{
|
||||||
|
_ElencoParametri = new DataSet();
|
||||||
|
_NomeFileSetup = FileSetup;
|
||||||
|
if (!string.IsNullOrEmpty(FileSetup))
|
||||||
|
{
|
||||||
|
CaricaParametriSetup();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ParametriSetup()
|
||||||
|
{
|
||||||
|
_ElencoParametri = new DataSet();
|
||||||
|
_NomeFileSetup = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
public void CaricaParametriSetup()
|
||||||
|
{
|
||||||
|
_ElencoParametri = LeggiXmlDataSet("Setup", _NomeFileSetup, "Nome");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SalvaParametriSetup()
|
||||||
|
{
|
||||||
|
if (System.IO.File.Exists(_NomeFileSetup) == true)
|
||||||
|
{
|
||||||
|
FileSystem.Kill(_NomeFileSetup);
|
||||||
|
}
|
||||||
|
|
||||||
|
_ElencoParametri.WriteXml(_NomeFileSetup);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string LeggiParametroString(string NomeParametro)
|
||||||
|
{
|
||||||
|
string Risposta = "";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'");
|
||||||
|
foreach (var LaRiga in LElenco)
|
||||||
|
Risposta = LaRiga["Valore"].ToString();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Risposta = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
return Risposta;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool LeggiParametroBoolean(string NomeParametro)
|
||||||
|
{
|
||||||
|
string Risposta = "";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'");
|
||||||
|
foreach (var LaRiga in LElenco)
|
||||||
|
Risposta = LaRiga["Valore"].ToString();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
Risposta = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (Risposta.ToUpper() ?? "")
|
||||||
|
{
|
||||||
|
case "TRUE":
|
||||||
|
case "OK":
|
||||||
|
case "SI":
|
||||||
|
case "1":
|
||||||
|
case "YES":
|
||||||
|
case "VERO":
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AggiornaParametro(string NomeParametro, object ValoreParametro)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (_ElencoParametri.Tables["Setup"] is null)
|
||||||
|
{
|
||||||
|
var TabellaTmp = new DataTable("Setup");
|
||||||
|
DataRow RigaTmp;
|
||||||
|
DataColumn LaColonna;
|
||||||
|
LaColonna = TabellaTmp.Columns.Add("Nome", Type.GetType("System.String"));
|
||||||
|
LaColonna = TabellaTmp.Columns.Add("Valore", Type.GetType("System.String"));
|
||||||
|
|
||||||
|
// * Aggiunge alla tabella tutte le righe
|
||||||
|
RigaTmp = TabellaTmp.NewRow();
|
||||||
|
RigaTmp["Nome"] = NomeParametro;
|
||||||
|
RigaTmp["Valore"] = ValoreParametro;
|
||||||
|
TabellaTmp.Rows.Add(RigaTmp);
|
||||||
|
_ElencoParametri.Tables.Add(TabellaTmp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'");
|
||||||
|
if (LElenco.Length == 0)
|
||||||
|
{
|
||||||
|
DataRow LaRiga;
|
||||||
|
LaRiga = _ElencoParametri.Tables["Setup"].NewRow();
|
||||||
|
LaRiga["Nome"] = NomeParametro;
|
||||||
|
LaRiga["Valore"] = ValoreParametro;
|
||||||
|
_ElencoParametri.Tables["Setup"].Rows.Add(LaRiga);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LElenco[0]["Valore"] = ValoreParametro;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private DataTable LeggiXmlDataTable(string NomeTabella, string NomeFileXml, string NomeColonnaChiave = "")
|
||||||
|
{
|
||||||
|
// * Crea e Legge il dataset dal file xml
|
||||||
|
var DataSetXml = new DataSet();
|
||||||
|
DataSetXml.ReadXml(NomeFileXml);
|
||||||
|
|
||||||
|
// * Aggiunge il campo chiave
|
||||||
|
if (!string.IsNullOrEmpty(NomeColonnaChiave))
|
||||||
|
{
|
||||||
|
DataSetXml.Tables[NomeTabella].Constraints.Add(NomeColonnaChiave, DataSetXml.Tables[NomeTabella].Columns[NomeColonnaChiave], true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// * Restituisce la risposta
|
||||||
|
return DataSetXml.Tables[NomeTabella];
|
||||||
|
}
|
||||||
|
|
||||||
|
private static DataSet LeggiXmlDataSet(string NomeTabella, string NomeFileXml, string NomeColonnaChiave = "")
|
||||||
|
{
|
||||||
|
// * Crea e Legge il dataset dal file xml
|
||||||
|
var DataSetXml = new DataSet();
|
||||||
|
DataSetXml.ReadXml(NomeFileXml);
|
||||||
|
|
||||||
|
// * Aggiunge il campo chiave
|
||||||
|
if (!string.IsNullOrEmpty(NomeColonnaChiave))
|
||||||
|
{
|
||||||
|
DataSetXml.Tables[NomeTabella].Constraints.Add(NomeColonnaChiave, DataSetXml.Tables[NomeTabella].Columns[NomeColonnaChiave], true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// * Restituisce la risposta
|
||||||
|
return DataSetXml;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string NomeFileSetup
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _NomeFileSetup;
|
||||||
|
}
|
||||||
|
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_NomeFileSetup = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
602
imagecatalog/PicSettings.cs
Normal file
602
imagecatalog/PicSettings.cs
Normal file
|
|
@ -0,0 +1,602 @@
|
||||||
|
|
||||||
|
|
||||||
|
// Module PicSettings
|
||||||
|
|
||||||
|
// Private _DirectorySorgente As String
|
||||||
|
// Private _DirectoryDestinazione As String
|
||||||
|
|
||||||
|
// Private _DimVert As Integer
|
||||||
|
// Private _MargVert As Integer
|
||||||
|
|
||||||
|
|
||||||
|
// Private _DimStandard As Integer
|
||||||
|
// Private _DimStandardMiniatura As Integer
|
||||||
|
|
||||||
|
// Private _NomeData As Boolean
|
||||||
|
// Private _TestoNome As Boolean
|
||||||
|
// Private _UsaOrarioMiniatura As Boolean
|
||||||
|
// Private _UsaOrarioTestoApplicare As Boolean
|
||||||
|
// Private _UsaTempoGaraTestoApplicare As Boolean
|
||||||
|
// Private _TestoFirmaStart As String
|
||||||
|
// Private _TestoFirmaStartV As String
|
||||||
|
// Private _DataPartenza As DateTime
|
||||||
|
// Private _TestoOrario As String
|
||||||
|
|
||||||
|
// Private _UsaRotazioneAutomatica As Boolean
|
||||||
|
// Private _UsaForzaJpg As Boolean
|
||||||
|
|
||||||
|
// Private _LarghezzaSmall As Integer
|
||||||
|
// Private _AltezzaSmall As Integer
|
||||||
|
|
||||||
|
// Private _CreaMiniature As Boolean
|
||||||
|
// Private _AggiungiScritteMiniature As Boolean
|
||||||
|
// Private _AggTempoGaraMin As Boolean
|
||||||
|
// Private _AggNumTempMin As Boolean
|
||||||
|
|
||||||
|
// Private _Suffisso As String
|
||||||
|
// Private _Codice As String
|
||||||
|
|
||||||
|
// Private _Trasparenza As Integer
|
||||||
|
// Private _IlFont As String
|
||||||
|
// Private _Grassetto As Boolean
|
||||||
|
|
||||||
|
// Private _Posizione As String
|
||||||
|
// Private _Allineamento As String
|
||||||
|
// Private _Margine As Integer
|
||||||
|
|
||||||
|
// Private _LogoAltezza As Integer
|
||||||
|
// Private _LogoLarghezza As Integer
|
||||||
|
|
||||||
|
// Private _fontColoreRGB As Color
|
||||||
|
|
||||||
|
// Private _LogoAggiungi As Boolean
|
||||||
|
// Private _LogoNomeFile As String
|
||||||
|
// Private _LogoTrasparenza As String
|
||||||
|
// Private _LogoMargine As String
|
||||||
|
// Private _LogoPosizioneH As String
|
||||||
|
// Private _LogoPosizioneV As String
|
||||||
|
|
||||||
|
// Private _FotoGrandeDimOrigina As Boolean
|
||||||
|
// Private _AltezzaBig As Integer
|
||||||
|
// Private _LarghezzaBig As Integer
|
||||||
|
// Private _DestDir As DirectoryInfo
|
||||||
|
// Private _DimMin As Integer
|
||||||
|
|
||||||
|
// Private _TestoMin As Boolean
|
||||||
|
|
||||||
|
// Private _SecretDefault As Boolean
|
||||||
|
// Private _SecretBig As Boolean
|
||||||
|
// Private _SecretSmall As Boolean
|
||||||
|
|
||||||
|
// Private _SecretPathSmall As String
|
||||||
|
// Private _SecretPathBig As String
|
||||||
|
|
||||||
|
// Private _jpegQuality As Long
|
||||||
|
// Private _jpegQualityMin As Long
|
||||||
|
|
||||||
|
// Private FotoRuotaADestra As Boolean = False
|
||||||
|
// Private FotoRuotaASinistra As Boolean = False
|
||||||
|
|
||||||
|
// Private TempMinText As String = ""
|
||||||
|
|
||||||
|
// Private _mainForm As MainForm
|
||||||
|
|
||||||
|
// 'Private progressBar As System.Windows.Forms.ProgressBar
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Public Property mainForm() As MainForm
|
||||||
|
// Get
|
||||||
|
// Return _mainForm
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As MainForm)
|
||||||
|
// _mainForm = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property DirectorySorgente() As String
|
||||||
|
// Get
|
||||||
|
// Return _DirectorySorgente
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _DirectorySorgente = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property DirectoryDestinazione() As String
|
||||||
|
// Get
|
||||||
|
// Return _DirectoryDestinazione
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _DirectoryDestinazione = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property TestoFirmaStart() As String
|
||||||
|
// Get
|
||||||
|
// Return _TestoFirmaStart
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _TestoFirmaStart = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property TestoFirmaStartV() As String
|
||||||
|
// Get
|
||||||
|
// Return _TestoFirmaStartV
|
||||||
|
// End Get
|
||||||
|
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _TestoFirmaStartV = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property DataPartenza() As DateTime
|
||||||
|
// Get
|
||||||
|
// Return _DataPartenza
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As DateTime)
|
||||||
|
// _DataPartenza = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property TestoOrario() As String
|
||||||
|
// Get
|
||||||
|
// Return _TestoOrario
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _TestoOrario = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property DimStandard() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _DimStandard
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _DimStandard = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property DimStandardMiniatura() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _DimStandardMiniatura
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _DimStandardMiniatura = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property NomeData() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _NomeData
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _NomeData = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property TestoNome() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _TestoNome
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _TestoNome = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property UsaOrarioMiniatura() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _UsaOrarioMiniatura
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _UsaOrarioMiniatura = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property UsaOrarioTestoApplicare() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _UsaOrarioTestoApplicare
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _UsaOrarioTestoApplicare = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property UsaTempoGaraTestoApplicare() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _UsaTempoGaraTestoApplicare
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _UsaTempoGaraTestoApplicare = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property UsaRotazioneAutomatica() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _UsaRotazioneAutomatica
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _UsaRotazioneAutomatica = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property UsaForzaJpg() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _UsaForzaJpg
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _UsaForzaJpg = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Public Property LarghezzaSmall() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _LarghezzaSmall
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _LarghezzaSmall = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property AltezzaSmall() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _AltezzaSmall
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _AltezzaSmall = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
|
||||||
|
// Public Property CreaMiniature() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _CreaMiniature
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _CreaMiniature = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property AggiungiScritteMiniature() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _AggiungiScritteMiniature
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _AggiungiScritteMiniature = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
|
||||||
|
// Public Property Suffisso() As String
|
||||||
|
// Get
|
||||||
|
// Return _Suffisso
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _Suffisso = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property Codice() As String
|
||||||
|
// Get
|
||||||
|
// Return _Codice
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _Codice = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
|
||||||
|
// Public Property Trasparenza() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _Trasparenza
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _Trasparenza = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property IlFont() As String
|
||||||
|
// Get
|
||||||
|
// Return _IlFont
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _IlFont = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property Grassetto() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _Grassetto
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _Grassetto = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property Posizione() As String
|
||||||
|
// Get
|
||||||
|
// Return _Posizione
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _Posizione = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property Allineamento() As String
|
||||||
|
// Get
|
||||||
|
// Return _Allineamento
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _Allineamento = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property Margine() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _Margine
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _Margine = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property LogoAltezza() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _LogoAltezza
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _LogoAltezza = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property LogoLarghezza() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _LogoLarghezza
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _LogoLarghezza = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property fontColoreRGB() As Color
|
||||||
|
// Get
|
||||||
|
// Return _fontColoreRGB
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Color)
|
||||||
|
// _fontColoreRGB = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property LogoAggiungi() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _LogoAggiungi
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _LogoAggiungi = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property LogoNomeFile() As String
|
||||||
|
// Get
|
||||||
|
// Return _LogoNomeFile
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _LogoNomeFile = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property LogoTrasparenza() As String
|
||||||
|
// Get
|
||||||
|
// Return _LogoTrasparenza
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _LogoTrasparenza = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property LogoMargine() As String
|
||||||
|
// Get
|
||||||
|
// Return _LogoMargine
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _LogoMargine = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property LogoPosizioneH() As String
|
||||||
|
// Get
|
||||||
|
// Return _LogoPosizioneH
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _LogoPosizioneH = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property LogoPosizioneV() As String
|
||||||
|
// Get
|
||||||
|
// Return _LogoPosizioneV
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _LogoPosizioneV = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property FotoGrandeDimOrigina() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _FotoGrandeDimOrigina
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _FotoGrandeDimOrigina = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property AltezzaBig() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _AltezzaBig
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _AltezzaBig = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property LarghezzaBig() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _LarghezzaBig
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _LarghezzaBig = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property DestDir() As DirectoryInfo
|
||||||
|
// Get
|
||||||
|
// Return _DestDir
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As DirectoryInfo)
|
||||||
|
// _DestDir = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property DimVert() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _DimVert
|
||||||
|
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _DimVert = value
|
||||||
|
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property MargVert() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _MargVert
|
||||||
|
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _MargVert = value
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property TestoMin() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _TestoMin
|
||||||
|
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _TestoMin = value
|
||||||
|
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property DimMin() As Integer
|
||||||
|
// Get
|
||||||
|
// Return _DimMin
|
||||||
|
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Integer)
|
||||||
|
// _DimMin = value
|
||||||
|
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property SecretDefault() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _SecretDefault
|
||||||
|
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _SecretDefault = value
|
||||||
|
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property SecretBig() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _SecretBig
|
||||||
|
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _SecretBig = value
|
||||||
|
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property SecretSmall() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _SecretSmall
|
||||||
|
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _SecretSmall = value
|
||||||
|
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property SecretPathSmall() As String
|
||||||
|
// Get
|
||||||
|
// Return _SecretPathSmall
|
||||||
|
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _SecretPathSmall = value
|
||||||
|
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property SecretPathBig() As String
|
||||||
|
// Get
|
||||||
|
// Return _SecretPathBig
|
||||||
|
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As String)
|
||||||
|
// _SecretPathBig = value
|
||||||
|
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property AggTempoGaraMin() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _AggTempoGaraMin
|
||||||
|
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _AggTempoGaraMin = value
|
||||||
|
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property AggNumTempMin() As Boolean
|
||||||
|
// Get
|
||||||
|
// Return _AggNumTempMin
|
||||||
|
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Boolean)
|
||||||
|
// _AggNumTempMin = value
|
||||||
|
|
||||||
|
// End Set
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property jpegQuality() As Long
|
||||||
|
// Get
|
||||||
|
// Return _jpegQuality
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Long)
|
||||||
|
// _jpegQuality = value
|
||||||
|
// End Set
|
||||||
|
|
||||||
|
// End Property
|
||||||
|
|
||||||
|
// Public Property jpegQualityMin() As Long
|
||||||
|
// Get
|
||||||
|
// Return _jpegQualityMin
|
||||||
|
// End Get
|
||||||
|
// Set(ByVal value As Long)
|
||||||
|
// _jpegQualityMin = value
|
||||||
|
// End Set
|
||||||
|
|
||||||
|
// End Property
|
||||||
|
// End Module
|
||||||
273
imagecatalog/XYThreadPool.cs
Normal file
273
imagecatalog/XYThreadPool.cs
Normal file
|
|
@ -0,0 +1,273 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Threading;
|
||||||
|
|
||||||
|
namespace ImageCatalog
|
||||||
|
{
|
||||||
|
public delegate void ThreadErrorHandlerDelegate(ThreadPoolWorkItem oWorkItem, Exception oError);
|
||||||
|
|
||||||
|
public class ThreadPoolWorkItem
|
||||||
|
{
|
||||||
|
public bool m_bStoreOutput = false;
|
||||||
|
public string m_sName = "";
|
||||||
|
public Delegate m_pMethod = null;
|
||||||
|
public object[] m_pInput = null;
|
||||||
|
public object m_oOutput = null;
|
||||||
|
public Exception m_oException = null;
|
||||||
|
|
||||||
|
public ThreadPoolWorkItem()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public ThreadPoolWorkItem(string sName, Delegate pMethod, object[] pInput, bool bStoreOutput)
|
||||||
|
{
|
||||||
|
m_sName = sName;
|
||||||
|
m_pMethod = pMethod;
|
||||||
|
m_pInput = pInput;
|
||||||
|
m_bStoreOutput = bStoreOutput;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class XYThreadPool
|
||||||
|
{
|
||||||
|
public XYThreadPool()
|
||||||
|
{
|
||||||
|
m_delegateThreadErrorHandler = new ThreadErrorHandlerDelegate(OnThreadError);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Hashtable m_htThreads = new Hashtable(256);
|
||||||
|
private int m_nMinThreadCount = 5;
|
||||||
|
private int m_nMaxThreadCount = 10;
|
||||||
|
private int m_nShutdownPause = 200;
|
||||||
|
private int m_nServerPause = 25;
|
||||||
|
private bool m_bContinue = false;
|
||||||
|
private Exception m_oException = null;
|
||||||
|
private Queue m_qInput = new Queue(1024);
|
||||||
|
private Queue m_qOutput = new Queue(1024);
|
||||||
|
private Delegate m_delegateThreadErrorHandler;
|
||||||
|
|
||||||
|
private void ThreadProc()
|
||||||
|
{
|
||||||
|
while (m_bContinue)
|
||||||
|
{
|
||||||
|
object obj = null;
|
||||||
|
Monitor.Enter(this);
|
||||||
|
if (m_qInput.Count > 0)
|
||||||
|
obj = m_qInput.Dequeue();
|
||||||
|
Monitor.Exit(this);
|
||||||
|
if (obj is null)
|
||||||
|
{
|
||||||
|
bool bQuit = false;
|
||||||
|
Monitor.Enter(this);
|
||||||
|
if (m_htThreads.Count > m_nMinThreadCount)
|
||||||
|
{
|
||||||
|
m_htThreads.Remove(Thread.CurrentThread.Name);
|
||||||
|
bQuit = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Monitor.Exit(this);
|
||||||
|
if (bQuit)
|
||||||
|
return;
|
||||||
|
Thread.Sleep(10 * m_nServerPause);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ThreadPoolWorkItem oWorkItem = (ThreadPoolWorkItem)obj;
|
||||||
|
// oWorkItem.m_oOutput = oWorkItem.m_pMethod.DynamicInvoke(oWorkItem.m_pInput)
|
||||||
|
try
|
||||||
|
{
|
||||||
|
oWorkItem.m_oOutput = oWorkItem.m_pMethod.DynamicInvoke(oWorkItem.m_pInput);
|
||||||
|
}
|
||||||
|
catch (Exception oBug)
|
||||||
|
{
|
||||||
|
if (m_delegateThreadErrorHandler is object)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var pInput = new object[] { oWorkItem, oBug };
|
||||||
|
m_delegateThreadErrorHandler.DynamicInvoke(pInput);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (oWorkItem.m_bStoreOutput)
|
||||||
|
{
|
||||||
|
Monitor.Enter(m_qOutput);
|
||||||
|
m_qOutput.Enqueue(oWorkItem);
|
||||||
|
Monitor.Exit(m_qOutput);
|
||||||
|
}
|
||||||
|
|
||||||
|
Thread.Sleep(m_nServerPause);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnThreadError(ThreadPoolWorkItem oWorkItem, Exception oError)
|
||||||
|
{
|
||||||
|
if (oWorkItem is null)
|
||||||
|
{
|
||||||
|
m_oException = oError;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
oWorkItem.m_oException = oError;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetThreadErrorHandler(ThreadErrorHandlerDelegate pMethod)
|
||||||
|
{
|
||||||
|
Monitor.Enter(this);
|
||||||
|
m_delegateThreadErrorHandler = pMethod;
|
||||||
|
Monitor.Exit(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetServerPause(int nMilliseconds)
|
||||||
|
{
|
||||||
|
Monitor.Enter(this);
|
||||||
|
if (nMilliseconds > 9 & nMilliseconds < 101)
|
||||||
|
m_nServerPause = nMilliseconds;
|
||||||
|
Monitor.Exit(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetShutdownPause(int nMilliseconds)
|
||||||
|
{
|
||||||
|
Monitor.Enter(this);
|
||||||
|
m_nShutdownPause = nMilliseconds;
|
||||||
|
Monitor.Exit(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Exception GetException()
|
||||||
|
{
|
||||||
|
return m_oException;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void InsertWorkItem(ThreadPoolWorkItem oWorkItem)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Monitor.Enter(this);
|
||||||
|
m_qInput.Enqueue(oWorkItem);
|
||||||
|
if (m_bContinue && m_qInput.Count > m_htThreads.Count && m_htThreads.Count < m_nMaxThreadCount)
|
||||||
|
{
|
||||||
|
var th = new Thread(ThreadProc);
|
||||||
|
th.Name = Guid.NewGuid().ToString();
|
||||||
|
m_htThreads.Add(th.Name, th);
|
||||||
|
th.Start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception oBug)
|
||||||
|
{
|
||||||
|
m_oException = oBug;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Monitor.Exit(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void InsertWorkItem(string sName, Delegate pMethod, object[] pArgs, bool bStoreOutput)
|
||||||
|
{
|
||||||
|
InsertWorkItem(new ThreadPoolWorkItem(sName, pMethod, pArgs, bStoreOutput));
|
||||||
|
}
|
||||||
|
|
||||||
|
public ThreadPoolWorkItem ExtractWorkItem()
|
||||||
|
{
|
||||||
|
object oWorkItem = null;
|
||||||
|
Monitor.Enter(m_qOutput);
|
||||||
|
if (m_qOutput.Count > 0)
|
||||||
|
oWorkItem = m_qOutput.Dequeue();
|
||||||
|
Monitor.Exit(m_qOutput);
|
||||||
|
if (oWorkItem is null)
|
||||||
|
return null;
|
||||||
|
return (ThreadPoolWorkItem)oWorkItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool StartThreadPool(int nMinThreadCount = 5, int nMaxThreadCount = 10)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Monitor.Enter(this);
|
||||||
|
if (m_bContinue == false)
|
||||||
|
{
|
||||||
|
m_bContinue = true;
|
||||||
|
if (nMinThreadCount > 0)
|
||||||
|
{
|
||||||
|
m_nMinThreadCount = nMinThreadCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nMaxThreadCount > m_nMinThreadCount)
|
||||||
|
{
|
||||||
|
m_nMaxThreadCount = nMaxThreadCount;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_nMaxThreadCount = 2 * m_nMinThreadCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
int i;
|
||||||
|
var loopTo = m_nMinThreadCount;
|
||||||
|
for (i = 1; i <= loopTo; i++)
|
||||||
|
{
|
||||||
|
var th = new Thread(ThreadProc);
|
||||||
|
th.Name = Guid.NewGuid().ToString();
|
||||||
|
m_htThreads.Add(th.Name, th);
|
||||||
|
th.Start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (Exception oBug)
|
||||||
|
{
|
||||||
|
m_bContinue = false;
|
||||||
|
m_oException = oBug;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Monitor.Exit(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StopThreadPool()
|
||||||
|
{
|
||||||
|
Monitor.Enter(this);
|
||||||
|
m_bContinue = false;
|
||||||
|
Thread.Sleep(Math.Max(200, m_nShutdownPause));
|
||||||
|
if (m_nShutdownPause > 0)
|
||||||
|
{
|
||||||
|
var dict = m_htThreads.GetEnumerator();
|
||||||
|
while (dict.MoveNext())
|
||||||
|
{
|
||||||
|
Thread th = (Thread)dict.Value;
|
||||||
|
if (th.IsAlive)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
th.Abort();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_htThreads.Clear();
|
||||||
|
m_qInput.Clear();
|
||||||
|
// m_qOutput.Clear()
|
||||||
|
Monitor.Exit(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetThreadCount()
|
||||||
|
{
|
||||||
|
Monitor.Enter(this);
|
||||||
|
int nCount = m_htThreads.Count;
|
||||||
|
Monitor.Exit(this);
|
||||||
|
return nCount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,35 +1,39 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<system.diagnostics>
|
<system.diagnostics>
|
||||||
<sources>
|
<sources>
|
||||||
<!-- Questa sezione definisce la configurazione di registrazione per My.Application.Log -->
|
<!-- Questa sezione definisce la configurazione di registrazione per My.Application.Log -->
|
||||||
<source name="DefaultSource" switchName="DefaultSwitch">
|
<source name="DefaultSource" switchName="DefaultSwitch">
|
||||||
<listeners>
|
<listeners>
|
||||||
<add name="FileLog" />
|
<add name="FileLog"/>
|
||||||
<!-- Per scrivere nel log eventi dell'applicazione, rimuovere il commento dalla sezione sottostante -->
|
<!-- Per scrivere nel log eventi dell'applicazione, rimuovere il commento dalla sezione sottostante -->
|
||||||
<!--<add name="EventLog"/>-->
|
<!--<add name="EventLog"/>-->
|
||||||
</listeners>
|
</listeners>
|
||||||
</source>
|
</source>
|
||||||
</sources>
|
</sources>
|
||||||
<switches>
|
<switches>
|
||||||
<add name="DefaultSwitch" value="Information" />
|
<add name="DefaultSwitch" value="Information"/>
|
||||||
</switches>
|
</switches>
|
||||||
<sharedListeners>
|
<sharedListeners>
|
||||||
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter" />
|
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
|
||||||
<!-- Per scrivere nel log eventi dell'applicazione, rimuovere il commento dalla sezione sottostante e sostituire APPLICATION_NAME con il nome dell'applicazione -->
|
<!-- Per scrivere nel log eventi dell'applicazione, rimuovere il commento dalla sezione sottostante e sostituire APPLICATION_NAME con il nome dell'applicazione -->
|
||||||
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
|
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
|
||||||
</sharedListeners>
|
</sharedListeners>
|
||||||
</system.diagnostics>
|
</system.diagnostics>
|
||||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup>
|
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup>
|
||||||
<runtime>
|
<runtime>
|
||||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
|
||||||
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
|
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1"/>
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
|
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</assemblyBinding>
|
</assemblyBinding>
|
||||||
</runtime>
|
</runtime>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,13 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Ben.Demystifier" version="0.3.0" targetFramework="net472" />
|
<package id="Ben.Demystifier" version="0.3.0" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.WindowsAPICodePack-Core" version="1.1.0.2" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.WindowsAPICodePack-Shell" version="1.1.0.0" targetFramework="net472" />
|
||||||
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
|
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
|
||||||
<package id="System.Collections.Immutable" version="5.0.0" targetFramework="net472" />
|
<package id="System.Collections.Immutable" version="5.0.0" targetFramework="net472" />
|
||||||
<package id="System.Memory" version="4.5.4" targetFramework="net472" />
|
<package id="System.Memory" version="4.5.4" targetFramework="net472" />
|
||||||
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
|
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
|
||||||
<package id="System.Reflection.Metadata" version="5.0.0" targetFramework="net472" />
|
<package id="System.Reflection.Metadata" version="5.0.0" targetFramework="net472" />
|
||||||
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.3" targetFramework="net472" />
|
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net472" />
|
||||||
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
|
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
|
||||||
</packages>
|
</packages>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue