Initialize

- Tool mit dem der Copyright Vermerk in allen Assemblies im ausgewählten
   Ordner auf das aktuelle Jahr korrigiert wird
This commit is contained in:
Eugen Höglinger 2021-08-31 17:16:47 +02:00
commit df87eb2d87
47 changed files with 1510 additions and 0 deletions

Binary file not shown.

View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31613.86
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CorrectDateInCopyright", "CorrectDateInCopyright\CorrectDateInCopyright.csproj", "{B4254919-6230-4CA5-81C9-18582AFFF27B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B4254919-6230-4CA5-81C9-18582AFFF27B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B4254919-6230-4CA5-81C9-18582AFFF27B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B4254919-6230-4CA5-81C9-18582AFFF27B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B4254919-6230-4CA5-81C9-18582AFFF27B}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5A952518-B63D-4C6B-B0F6-CA5CCF3CFCAD}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

View File

@ -0,0 +1,108 @@
<?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>{B4254919-6230-4CA5-81C9-18582AFFF27B}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>CorrectDateInCopyright</RootNamespace>
<AssemblyName>CorrectDateInCopyright</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>false</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>
<PropertyGroup>
<ApplicationIcon>CorrectDateInCopyright.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="heabox">
<HintPath>..\..\..\_DLL\AboutBox.git\AboutBox\bin\Debug\heabox.dll</HintPath>
</Reference>
<Reference Include="helogwri">
<HintPath>..\..\..\_DLL\LogWriter.git\LogWriter\bin\Debug\helogwri.dll</HintPath>
</Reference>
<Reference Include="heohf">
<HintPath>..\..\..\_DLL\OpenHelpFile.git\OpenHelpFile\bin\Debug\heohf.dll</HintPath>
</Reference>
<Reference Include="herfiffo">
<HintPath>..\..\..\_DLL\ReadFilesFromFolder.git\ReadFilesFromFolder\bin\Debug\herfiffo.dll</HintPath>
</Reference>
<Reference Include="herflbl">
<HintPath>..\..\..\_DLL\ReadFileLineByLine.git\ReadFileLineByLine\bin\Debug\herflbl.dll</HintPath>
</Reference>
<Reference Include="heshowtf">
<HintPath>..\..\..\_DLL\ShowTextFile.git\ShowTextFile\bin\Debug\heshowtf.dll</HintPath>
</Reference>
<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="CorrectDateInLine.cs" />
<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>
<ItemGroup>
<Content Include="CorrectDateInCopyright.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -0,0 +1,107 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Eugen.ESystem.IO;
namespace CorrectDateInCopyright
{
static class CorrectDateInLine
{
//public CorrectDateInLine()
//{
//}
static CorrectDateInLine()
{
}
public static string LogFile { set; get; }
/// <summary>
/// Corrects the specified file
/// </summary>
/// <param name="fullFileName">A valid filename with path and extension.</param>
public static void Correct(string fullFileName)
{
List<string> lines = new List<string>();
lines = ReadFileLineByLine.Read(fullFileName);
for (int i = 0; i < lines.Count; i++)
{
if (lines[i].Contains("AssemblyCopyright"))
{
lines[i] = SwapDate(lines[i]);
}
}
WriteFile(fullFileName, lines);
}
private static string SwapDate(string line)
{
var log = new LogWriter(String.Concat(Path.GetDirectoryName(LogFile), "\\"), Path.GetFileName(LogFile));
log.WriteMessage(String.Concat(" Alter Wert: ", line));
string startPart = "[assembly: AssemblyCopyright(\"Copyright © ";
string endPart = " by Eugen Höglinger\")]";
string startDate = ExtractStartDate(line);
string currentDate = DateTime.Now.ToString("yyyy");
//Neu zusammenstellen
if (startDate == currentDate)
{
line = String.Concat(startPart, startDate, endPart);
}
else
{
line = String.Concat(startPart, startDate, "-", currentDate, endPart);
}
log.WriteMessage(String.Concat(" Neuer Wert: ", line));
return line;
}
private static string ExtractStartDate(string text)
{
char[] delimiterChars = { ' ', '-' }; //Trennzeichen
string[] words = text.Split(delimiterChars);
int year = 0;
foreach (var word in words)
{
//Prüfen ob der Wert eine Zahl ist
if (int.TryParse(word, out year))
{
break; //Sobald eine Zahl gefunden wurde, dann aufhören
}
}
return year.ToString();
}
private static void WriteFile(string fullFileName, List<string> lines)
{
//Datei umbenennen
File.Move(fullFileName, String.Concat(fullFileName, "_old"));
//Datei schreiben
StreamWriter writer;
writer = new StreamWriter(fullFileName, true, Encoding.Default);
foreach (var item in lines)
{
writer.WriteLine(item);
}
writer.Close();
//Umbenannte Datei löschen
File.Delete(String.Concat(fullFileName, "_old"));
}
}
}

272
CorrectDateInCopyright/Form1.Designer.cs generated Normal file
View File

@ -0,0 +1,272 @@

namespace CorrectDateInCopyright
{
partial class Form1
{
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.startToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.hilfeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.hilfeToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.überToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.buttonStart = new System.Windows.Forms.Button();
this.buttonCancel = new System.Windows.Forms.Button();
this.buttonShowLogfile = new System.Windows.Forms.Button();
this.labelStartupDir = new System.Windows.Forms.Label();
this.buttonStartupDir = new System.Windows.Forms.Button();
this.textBoxStartupfolder = new System.Windows.Forms.TextBox();
this.labelLogfileName = new System.Windows.Forms.Label();
this.buttonLogfileName = new System.Windows.Forms.Button();
this.textBoxLogfileName = new System.Windows.Forms.TextBox();
this.statusStrip = new System.Windows.Forms.StatusStrip();
this.toolStripProgressBar = new System.Windows.Forms.ToolStripProgressBar();
this.toolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
this.backgroundWorkerSearch = new System.ComponentModel.BackgroundWorker();
this.menuStrip1.SuspendLayout();
this.statusStrip.SuspendLayout();
this.SuspendLayout();
//
// menuStrip1
//
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.startToolStripMenuItem,
this.hilfeToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(592, 24);
this.menuStrip1.TabIndex = 0;
this.menuStrip1.Text = "menuStrip1";
//
// startToolStripMenuItem
//
this.startToolStripMenuItem.Enabled = false;
this.startToolStripMenuItem.Name = "startToolStripMenuItem";
this.startToolStripMenuItem.Size = new System.Drawing.Size(43, 20);
this.startToolStripMenuItem.Text = "Start";
this.startToolStripMenuItem.Click += new System.EventHandler(this.startToolStripMenuItem_Click);
//
// hilfeToolStripMenuItem
//
this.hilfeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.hilfeToolStripMenuItem1,
this.überToolStripMenuItem});
this.hilfeToolStripMenuItem.Name = "hilfeToolStripMenuItem";
this.hilfeToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
this.hilfeToolStripMenuItem.Text = "Hilfe";
//
// hilfeToolStripMenuItem1
//
this.hilfeToolStripMenuItem1.Name = "hilfeToolStripMenuItem1";
this.hilfeToolStripMenuItem1.Size = new System.Drawing.Size(99, 22);
this.hilfeToolStripMenuItem1.Text = "Hilfe";
this.hilfeToolStripMenuItem1.Click += new System.EventHandler(this.hilfeToolStripMenuItem1_Click);
//
// überToolStripMenuItem
//
this.überToolStripMenuItem.Name = "überToolStripMenuItem";
this.überToolStripMenuItem.Size = new System.Drawing.Size(99, 22);
this.überToolStripMenuItem.Text = "Über";
this.überToolStripMenuItem.Click += new System.EventHandler(this.überToolStripMenuItem_Click);
//
// buttonStart
//
this.buttonStart.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.buttonStart.Enabled = false;
this.buttonStart.Location = new System.Drawing.Point(12, 101);
this.buttonStart.Name = "buttonStart";
this.buttonStart.Size = new System.Drawing.Size(75, 23);
this.buttonStart.TabIndex = 1;
this.buttonStart.Text = "Start";
this.buttonStart.UseVisualStyleBackColor = true;
this.buttonStart.Click += new System.EventHandler(this.buttonStart_Click);
//
// buttonCancel
//
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonCancel.Location = new System.Drawing.Point(505, 101);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(75, 23);
this.buttonCancel.TabIndex = 2;
this.buttonCancel.Text = "Cancel";
this.buttonCancel.UseVisualStyleBackColor = true;
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
//
// buttonShowLogfile
//
this.buttonShowLogfile.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
this.buttonShowLogfile.Enabled = false;
this.buttonShowLogfile.Location = new System.Drawing.Point(241, 101);
this.buttonShowLogfile.Name = "buttonShowLogfile";
this.buttonShowLogfile.Size = new System.Drawing.Size(110, 23);
this.buttonShowLogfile.TabIndex = 3;
this.buttonShowLogfile.Text = "Logdatei anzeigen";
this.buttonShowLogfile.UseVisualStyleBackColor = true;
this.buttonShowLogfile.Click += new System.EventHandler(this.buttonShowLogfile_Click);
//
// labelStartupDir
//
this.labelStartupDir.AutoSize = true;
this.labelStartupDir.Location = new System.Drawing.Point(12, 33);
this.labelStartupDir.Name = "labelStartupDir";
this.labelStartupDir.Size = new System.Drawing.Size(82, 13);
this.labelStartupDir.TabIndex = 4;
this.labelStartupDir.Text = "Startverzeichnis";
//
// buttonStartupDir
//
this.buttonStartupDir.Location = new System.Drawing.Point(100, 28);
this.buttonStartupDir.Name = "buttonStartupDir";
this.buttonStartupDir.Size = new System.Drawing.Size(75, 23);
this.buttonStartupDir.TabIndex = 5;
this.buttonStartupDir.Text = "...";
this.buttonStartupDir.UseVisualStyleBackColor = true;
this.buttonStartupDir.Click += new System.EventHandler(this.buttonStartupDir_Click);
//
// textBoxStartupfolder
//
this.textBoxStartupfolder.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBoxStartupfolder.Location = new System.Drawing.Point(181, 30);
this.textBoxStartupfolder.Name = "textBoxStartupfolder";
this.textBoxStartupfolder.Size = new System.Drawing.Size(399, 20);
this.textBoxStartupfolder.TabIndex = 6;
this.textBoxStartupfolder.MouseClick += new System.Windows.Forms.MouseEventHandler(this.textBoxStartupfolder_MouseClick);
this.textBoxStartupfolder.TextChanged += new System.EventHandler(this.textBoxStartupfolder_TextChanged);
//
// labelLogfileName
//
this.labelLogfileName.AutoSize = true;
this.labelLogfileName.Location = new System.Drawing.Point(12, 65);
this.labelLogfileName.Name = "labelLogfileName";
this.labelLogfileName.Size = new System.Drawing.Size(48, 13);
this.labelLogfileName.TabIndex = 7;
this.labelLogfileName.Text = "Logdatei";
//
// buttonLogfileName
//
this.buttonLogfileName.Location = new System.Drawing.Point(100, 60);
this.buttonLogfileName.Name = "buttonLogfileName";
this.buttonLogfileName.Size = new System.Drawing.Size(75, 23);
this.buttonLogfileName.TabIndex = 8;
this.buttonLogfileName.Text = "...";
this.buttonLogfileName.UseVisualStyleBackColor = true;
this.buttonLogfileName.Click += new System.EventHandler(this.buttonLogfileName_Click);
//
// textBoxLogfileName
//
this.textBoxLogfileName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBoxLogfileName.Location = new System.Drawing.Point(181, 62);
this.textBoxLogfileName.Name = "textBoxLogfileName";
this.textBoxLogfileName.Size = new System.Drawing.Size(399, 20);
this.textBoxLogfileName.TabIndex = 9;
this.textBoxLogfileName.MouseClick += new System.Windows.Forms.MouseEventHandler(this.textBoxLogfileName_MouseClick);
this.textBoxLogfileName.TextChanged += new System.EventHandler(this.textBoxLogfileName_TextChanged);
//
// statusStrip
//
this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripProgressBar,
this.toolStripStatusLabel});
this.statusStrip.Location = new System.Drawing.Point(0, 127);
this.statusStrip.Name = "statusStrip";
this.statusStrip.Size = new System.Drawing.Size(592, 22);
this.statusStrip.TabIndex = 10;
this.statusStrip.Text = "statusStrip1";
//
// toolStripProgressBar
//
this.toolStripProgressBar.Name = "toolStripProgressBar";
this.toolStripProgressBar.Size = new System.Drawing.Size(200, 16);
//
// toolStripStatusLabel
//
this.toolStripStatusLabel.Name = "toolStripStatusLabel";
this.toolStripStatusLabel.Size = new System.Drawing.Size(218, 17);
this.toolStripStatusLabel.Text = "Startverzeichnis und Logdatei definieren";
//
// backgroundWorkerSearch
//
this.backgroundWorkerSearch.WorkerReportsProgress = true;
this.backgroundWorkerSearch.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorkerSearch_DoWork);
this.backgroundWorkerSearch.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.backgroundWorkerSearch_ProgressChanged);
this.backgroundWorkerSearch.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorkerSearch_RunWorkerCompleted);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(592, 149);
this.Controls.Add(this.statusStrip);
this.Controls.Add(this.textBoxLogfileName);
this.Controls.Add(this.buttonLogfileName);
this.Controls.Add(this.labelLogfileName);
this.Controls.Add(this.textBoxStartupfolder);
this.Controls.Add(this.buttonStartupDir);
this.Controls.Add(this.labelStartupDir);
this.Controls.Add(this.buttonShowLogfile);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.buttonStart);
this.Controls.Add(this.menuStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1;
this.Name = "Form1";
this.Text = "Correct Date in Copyright";
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.statusStrip.ResumeLayout(false);
this.statusStrip.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem startToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem hilfeToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem hilfeToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem überToolStripMenuItem;
private System.Windows.Forms.Button buttonStart;
private System.Windows.Forms.Button buttonCancel;
private System.Windows.Forms.Button buttonShowLogfile;
private System.Windows.Forms.Label labelStartupDir;
private System.Windows.Forms.Button buttonStartupDir;
private System.Windows.Forms.TextBox textBoxStartupfolder;
private System.Windows.Forms.Label labelLogfileName;
private System.Windows.Forms.Button buttonLogfileName;
private System.Windows.Forms.TextBox textBoxLogfileName;
private System.Windows.Forms.StatusStrip statusStrip;
private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel;
private System.ComponentModel.BackgroundWorker backgroundWorkerSearch;
}
}

View File

@ -0,0 +1,379 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Eugen.ESystem;
using Eugen.ESystem.IO;
using Eugen.ESystem.Windows.Forms;
namespace CorrectDateInCopyright
{
public partial class Form1 : Form
{
#region Version und Copyright
// Version und Copyright
string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
string copyright = GenerateCopyright();
string icon = Application.StartupPath + "\\Info.bmp";
//Assembly Datum und Zeit
static DateTime value = AssemblyDateTime();
string date = value.ToShortDateString();
string time = value.ToLongTimeString();
private static DateTime AssemblyDateTime()
{
var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision));
//Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
return buildDateTime;
}
private static string CurrentYear()
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
private static string StartYear()
{
string startYear = "";
if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
{
startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
while (startYear.StartsWith(" "))
{
startYear = startYear.Remove(0, 1);
}
if (startYear.Contains("-"))
{
startYear = startYear.Remove(startYear.IndexOf("-"));
}
else
{
startYear = startYear.Remove(startYear.IndexOf(" "));
}
return startYear;
}
else
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
}
private static string GenerateCopyright()
{
string startYear = StartYear();
string currentYear = CurrentYear();
if (startYear == currentYear)
{
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
else
{
string temp = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
string start = temp.Remove(temp.IndexOf(startYear) - 1);
string end = (temp.Remove(0, temp.IndexOf(" by")));
return String.Concat(start, " ", startYear, "-", currentYear, end);
}
}
#endregion
#region Programm-Info
/// <summary>
/// Contains the name of the program file
/// </summary>
public static string ProgramName { set; get; }
/// <summary>
/// Contains the version of the program file
/// </summary>
public static string ProgramVersion { set; get; }
/// <summary>
/// Contains the copyright notice
/// </summary>
public static string Copyright { set; get; }
private void SetProgramInfo()
{
//Name, Version und Copyright setzen
ProgramName = programName;
ProgramVersion = programVersion;
Copyright = copyright;
}
#endregion
public Form1()
{
SetProgramInfo();
InitializeComponent();
}
private void startToolStripMenuItem_Click(object sender, EventArgs e)
{
Start(); //Programmablauf starten
}
#region Surface
private void hilfeToolStripMenuItem1_Click(object sender, EventArgs e)
{
//Hilfedatei aufrufen
try
{
OpenHelpFile.Open("german"); //Hier die Sprache übergeben in der die Hilfe aufgerufen werden soll
}
catch (FileNotFoundException)
{
MessageBox.Show("Die Hilfe wurde nicht gefunden.", "Warnung", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
catch (CannotShowHelpFileException)
{
MessageBox.Show("Die Hilfe kann nicht angezeigt werden.", "Warnung", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
catch (Exception)
{
MessageBox.Show("Es ist ein unbekannter Fehler passiert!", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void überToolStripMenuItem_Click(object sender, EventArgs e)
{
//Programminformation aufrufen
var about = new AboutBox(ProgramName, ProgramVersion, Copyright, true, 530, 420);
about.ShowDialog();
}
private void buttonStartupDir_Click(object sender, EventArgs e)
{
//Startverzeichnis auswählen
buttonShowLogfile.Enabled = false;
ClearProgressBar();
using (var sud = new FolderBrowserDialog())
{
DialogResult result = sud.ShowDialog();
if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(sud.SelectedPath))
{
textBoxStartupfolder.Text = sud.SelectedPath;
StartupFolder = sud.SelectedPath;
}
}
SetStartButtonDisplay();
}
private void textBoxStartupfolder_TextChanged(object sender, EventArgs e)
{
StartupFolder = textBoxStartupfolder.Text; //Startverzeichnis
SetStartButtonDisplay();
}
private void textBoxStartupfolder_MouseClick(object sender, MouseEventArgs e)
{
ClearProgressBar();
}
private void buttonLogfileName_Click(object sender, EventArgs e)
{
//Logdatei auswählen
buttonShowLogfile.Enabled = false;
ClearProgressBar();
using (SaveFileDialog sfd = new SaveFileDialog())
{
sfd.Filter = "log Datei (All files (*.*)|*.*|*.log)|*.log";
sfd.FilterIndex = 2;
sfd.RestoreDirectory = true;
if (sfd.ShowDialog() == DialogResult.OK)
{
LogFile = sfd.FileName;
textBoxLogfileName.Text = sfd.FileName;
}
}
LogPath = String.Concat(System.IO.Path.GetDirectoryName(LogFile), "\\");
FileName = System.IO.Path.GetFileName(LogFile);
SetStartButtonDisplay();
}
private void textBoxLogfileName_TextChanged(object sender, EventArgs e)
{
LogFile = textBoxLogfileName.Text; //Logdatei
LogPath = String.Concat(System.IO.Path.GetDirectoryName(LogFile), "\\");
FileName = System.IO.Path.GetFileName(LogFile);
SetStartButtonDisplay();
}
private void textBoxLogfileName_MouseClick(object sender, MouseEventArgs e)
{
ClearProgressBar();
}
private void buttonStart_Click(object sender, EventArgs e)
{
Start(); //Programmablauf starten
}
private void buttonShowLogfile_Click(object sender, EventArgs e)
{
ShowLogfile(); //Logdatei anzeigen
}
private void buttonCancel_Click(object sender, EventArgs e)
{
this.Close();
}
#endregion
private string StartupFolder { set; get; }
private string LogFile { set; get; }
private string LogPath { set; get; }
private string FileName { set; get; }
private List<string> Files { set; get; }
private int NumberOfFiles { set; get; }
private void Start()
{
//Alle 'AssemblyInfo.cs'aus dem Startverzeichnis einlesen
toolStripProgressBar.Style = ProgressBarStyle.Marquee;
toolStripProgressBar.MarqueeAnimationSpeed = 30;
toolStripStatusLabel.Text = "Suche nach Vorkommen von AssemblyInfo.cs";
statusStrip.Refresh();
//Startknopf deaktivieren
buttonStart.Enabled = false;
//Alle 'AssemblyInfo.cs' suchen und bearbeiten
backgroundWorkerSearch.WorkerSupportsCancellation = true;
backgroundWorkerSearch.RunWorkerAsync();
//TODO: Hier muss ev. noch etwas rein
}
private void backgroundWorkerSearch_DoWork(object sender, DoWorkEventArgs e)
{
Files = ReadAllFiles(StartupFolder);
NumberOfFiles = Files.Count;
toolStripStatusLabel.Text = String.Concat(NumberOfFiles, " Vorkommen von AssemblyInfo.cs wurden gefunden");
//Existierende Logdatei löschen
if (File.Exists(LogFile))
{
File.Delete(LogFile);
}
//Logdatei anlegen
string header = "--------------------------------------------------------------------------------\n--- Correct date in Copyright ---\n--------------------------------------------------------------------------------";
var log = new LogWriter(LogPath, FileName, header);
log.WriteMessage(String.Concat("Zu bearbeitende Dateien: ", NumberOfFiles.ToString()));
for (int i = 0; i < NumberOfFiles; i++)
{
toolStripStatusLabel.Text = String.Concat("Vorkommen ", i + 1, " von ", NumberOfFiles, " wird bearbeitet");
log.WriteMessage(String.Concat("Bearbeite Datei: ", Files[i]));
//Copyright korrigieren
CorrectDateInLine.LogFile = LogFile;
CorrectDateInLine.Correct(Files[i]);
backgroundWorkerSearch.ReportProgress((int)100 / NumberOfFiles * (i + 1)); //Fortschrittsbalken aktualisieren
log.WriteMessage(" Datei erfolgreich bearbeitet"); //Logdatei schreiben
}
backgroundWorkerSearch.CancelAsync();
}
private void backgroundWorkerSearch_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
//ProgressBar.Style von Laufbalken auf Prozentanzeige umschalten
if (toolStripProgressBar.Style != ProgressBarStyle.Continuous)
{
toolStripProgressBar.Style = ProgressBarStyle.Continuous;
toolStripProgressBar.Value = 0;
statusStrip.Refresh();
}
toolStripProgressBar.Value = e.ProgressPercentage;
statusStrip.Refresh();
}
private void backgroundWorkerSearch_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
toolStripProgressBar.Style = ProgressBarStyle.Continuous;
toolStripProgressBar.MarqueeAnimationSpeed = 0;
toolStripStatusLabel.Text = String.Concat(NumberOfFiles, " Dateien wurden erfolgreich bearbeitet");
buttonStart.Enabled = true;
buttonShowLogfile.Enabled = true;
}
private List<string> ReadAllFiles(string startupfolder)
{
List<string> files = new List<string>();
foreach (var item in Directory.GetFiles(StartupFolder, "AssemblyInfo.cs", SearchOption.AllDirectories))
{
files.Add(item);
}
return files;
}
private void SetStartButtonDisplay()
{
if (!String.IsNullOrEmpty(StartupFolder) & !String.IsNullOrEmpty(LogFile))
{
buttonStart.Enabled = true;
startToolStripMenuItem.Enabled = true;
}
else
{
buttonStart.Enabled = false;
startToolStripMenuItem.Enabled = false;
}
}
private void ClearProgressBar()
{
toolStripProgressBar.Style = ProgressBarStyle.Marquee;
toolStripProgressBar.MarqueeAnimationSpeed = 0;
statusStrip.Refresh();
}
private void ShowLogfile()
{
//Logdatei anzeigen
if (!ShowTextFile.Show(LogFile))
{
MessageBox.Show("Es wurde keine Logdatei gefunden", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}

View File

@ -0,0 +1,296 @@
<?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>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>132, 17</value>
</metadata>
<metadata name="backgroundWorkerSearch.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>241, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPn6Czt1djQ7dXX0OzU19Ds1dfQ7dXX0OzV
19Dt1dfQ7dXX0OzV19Dt1dfQ7NTX0OzV19Dt1dfQ7NXX0O3V19Dt1dfQ7NXX0O3V19Ds1NfQ7NXX0O3V
19Ds1dfQ7dXX0O3V19Ds1dfQ7dXX0OzU19DhwMPQ3rq90N67v9Dr19gsAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1df/7NXX/+zV
1//s1df/7NXX/+zU1//s1df/7dXX/+zV1//s1df/7NXX/+zV1//s1df/7NTX/+zV1//t1df/7NXX/+zV
1//s1df/7NXX/+zV1//s1Nf/7NXX/+3V1//s1df/7NXX/+zV1//hv8P/3rq+/966vv/r19hBAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm
50Ht1df/7dTY/+3U1//t1Nj/7dTY/+3V1//t1df/7dXY/+3V1//t1Nj/7dTX/+3U2P/t1Nj/7dXX/+3V
1//t1dj/7dXX/+3U2P/t1Nf/7dTY/+3U2P/t1df/7dXX/+3V2P/t1df/7dTY/+3U1//hv8P/3rm+/965
vv/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAPPm50Hs1Nf/7dTX/+zU1//s1Nf/7dTX/+zU1//t1Nf/7dTX/+zU1//t1Nf/7NTX/+zU
1//t1Nf/7NTX/+3U1//t1Nf/7NTX/+3U1//s1Nf/7NTX/+3U1//s1Nf/7dTX/+3U0v/vz6X/8M6f//DO
n//pwpP/6cih/+zVt//58b2Zqo7Yd2s+9ndlOPN3XTLjd10y43d5Vudh8ez0AwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1Nf/7NTX/+zU1//s1Nf/ptXq/4XV8/+k1er/09Xe/+zU
1//s1Nf/7NTX/+zU1//s1Nf/7NTX/+zU1//s1Nf/7NTX/+zU1//s1Nf/7NTX/+zU1//s1Nf/7NTX//DN
lf/0xU7/9MZP//TGTv/0xk7/+d17//78tf/++7X/porb/1wr/v9bK/7/VSjs/1Mn5v9UKOb/kXPrRgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1df/7dXX/+3V1//t1df/mtXt/1jV
/v9Y1f7/WtX+/4rV8f/j1dr/7dXX/+3V1//t1df/7NXX/+3V1//t1df/7NXX/+3V1//t1df/7dXX/+3V
1//s1df/7dXX//HMiv/0xk7/9MZO//TFTv/0xk7/+d17//77tf/++7X/porb/1wr/v9cK/7/Viju/1Mm
5v9TJuX/fl3qUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1dj/7dXX/+zV
2P/s1dj/u9Xk/1nW/v9bttX/XZOm/1nU/P+C1fL/58ek/+zT0//t1dj/7NXX/+zV2P/t1dj/7NXY/+3V
1//s1dj/7NXY/+3V2P/s1df/7NXY//HMiv/1xk7/9cZO//TFTv/1xU7/+d17//77tf/++7X/porb/1wr
/v9cK/7/Viju/1Mm5f9TJ+b/fl3qUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm
50Ht1df/7dXX/+3V1//t1df/5NXa/2LV/P9brMj/YkxJ/1+Dkf+pv4z/4rI7/+O7bv/s09T/7dXX/+3V
1//t1df/7dXX/+3V1//t1df/7dXX/+3V1//t1df/7dXX//HMiv/0xk//9MZP//TGT//0xk//+d17//77
tf/++7X/porb/1ws/v9cK/7/Viju/1Mm5v9SJuX/fl3qUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAPPm50Hs1df/7dXX/+zU1//s1df/7dXX/6jV6f9Z1f7/XqG4/7GMSf/jszv/47M7/+Ky
O/+1jqb/6NDY/+3V1//t1df/7NXX/+3V1//s1Nf/7NXX/+3V1//s1df/7dXX//HMiv/0xk7/9MZO//TG
T//0xk//+d17//77tf/++7X/porb/1wr/v9cK/7/Viju/1Mm5v9TJub/fl3qUwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1df/7NXX/+zV1//s1df/7NXX/+vU2P+f1ev/sMmb//TF
T//tvkf/4rI7/51vjv9TJ+X/hV/h/+jQ2P/t1df/7NXX/+zV1//s1df/7NXX/+zV1//s1Nf/7NXX//DO
m//0xk7/9MZO//TGTv/0xk7/+d17//77tf/++7X/porb/1wr/v9bK/7/VSjr/1In5v9VKub9kXPqPwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Ht1df/7dTY/+3U1//t1Nj/7dTY/+3V
1//sz73/9MVP//XGTv/0xU//o3Sd/1Mn5f9SJub/Uibm/4Re4f/p0dj/7dXX/+3U2P/t1Nf/7dTY/+3U
2P/t1df/7dXX/+3U1v/u0bX/79Cv/+/Qr//nwaD/5sSp/+jNuf/47sWRt5/da4Nd9mt9V/NrdVLoa3VS
6Gt6V+dCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1Nf/7dTX/+zU
1//s1Nf/6NDS/+bO0f/mztH/58SU//PEUP+neKf/XCz+/1gp9f9TJ+b/Uybl/1Mn5v+EX+H/6M/Y/+3U
1//s1Nf/7NTX/+3U1//s1Nf/7dTX/+3U1//s1Nf/7dTX/+zU1//hv8P/3rq9/966vf/r19hBAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm
50Hs1Nf/7NTX/+zU1//YwML/a1NR/2lRTv9pUU7/aVFO/4FfdP9cLP3/Wyv+/1wr/v9YKfX/Uyfm/1Mn
5v9TJ+b/hV/h/+nQ2P/s1Nf/7NTX/+zU1//s1Nf/7NTX/+zU1//s1Nf/7NTX/+zU1//hv8P/3bq+/966
vv/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAPPm50Hs1df/7dXX/+3V1//p0dT/u6Oj/7aen/+2np//tp6f/7aen/+efNr/XCz+/1wr
/v9bK/7/WCn1/1Mn5v9TJuX/Uybm/4Re4f/p0Nj/7dXX/+3V1//s1df/7dXX/+3V1//s1df/7dXX/+3V
1//hv8P/3rq+/966vf/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1dj/7dXX/+zV2P/s1dj/7dXY/+zV1//s1dj/7dXY/+zV
2P/s1Nj/rInp/10t/v9cK/7/XCv+/1gp9f9TJ+b/Uyfm/1Mn5v+FX+H/6M/Y/+3V2P/s1df/7NXY/+3V
2P/s1dj/7dXX/+zV2P/hv8P/3rm9/966vf/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Ht1df/7dXX/+3V1//dxcj/gWlo/31l
Y/99ZWP/fWVj/31lY/99ZWP/fWVj/2NBnf9cLP7/XCz+/1ws/v9YKfX/Uyfm/1Mm5f9TJub/a0XH/31k
Z/99ZWP/fWVj/31lY/99ZWP/gWlo/93FyP/hv8P/3rq+/966vv/r19hBAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAC6sK0IlYWCQauemxYAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1df/7dXX/+zU
1//kzM//oIiH/5uDg/+bg4P/m4OD/5uDg/+bg4P/m4OD/5uDg/+Pbcv/XS3+/1wr/v9cK/7/WCn1/1Mn
5v9TJub/Uybm/1s2t/+Xf4P/m4OD/5uDg/+bg4P/oIiH/+TMz//hv8P/3rq9/966vf/r19hBAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB5ZWKlY0tI/3NeW+inmZYrAAAAAAAAAAAAAAAAAAAAAPPm
50Hs1df/7NXX/+zV1//s1df/7NXX/+zU1//s1df/7dXX/+zV1//s1df/7NXX/+zV1//s1Nj/rInp/10t
/v9cK/7/XCv+/1gp9f9TJ+b/Uifm/1In5v+FX+H/6NDY/+3V1//s1df/7NXX/+zV1//hv8P/3rq+/966
vv/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtVlPOY0tH/2NLR/9yXFnonI2KLAAA
AAAAAAAAAAAAAPPm50Ht1df/7dTY/+3U1//jzM7/nISE/5iAf/+YgH//mIB//5iAf/+YgH//mIB//5iA
f/+YgH//mIB//21Kpv9cLP7/XCv+/1sr/v9YKfX/Uyfm/1Im5v9SJub/eFPV/5d/g/+YgH//nISE/+PM
zv/hv8P/3rm+/965vv/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcjIlca1RR/GJK
R/9iS0f/clxZ6ZyNiiwAAAAAAAAAAPPm50Hs1Nf/7dTX/+zU1//exsn/hW1r/4BoZ/+AaGf/gGhn/4Bo
Z/+AaGf/gGhn/4BoZ/+AaGf/gGhn/4BoZ/97WLb/XS3+/1wr/v9cK/7/WCn1/1Mn5v9TJuX/Uyfm/1gz
s/98ZGf/hW1r/97Gyf/hv8P/3rq9/966vf/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAoJKPZGtUUf1jSkf/Y0pH/3JcWeinmZYrAAAAAPPm50Hs1Nf/7NTX/+zU1//s1Nf/7NTX/+zU
1//s1Nf/7NTX/+zU1//s1Nf/7NTX/+zU1//s1Nf/7NTX/+zU1//s1Nj/rInp/1ws/v9bK/7/XCv+/1gp
9f9TJ+b/Uyfm/1Mn5v+FX+H/6dDY/+zU1//hv8P/3bq+/966vv/r19hBAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJuMiWNrVFH9Y0tI/2NLSP9yXFnonI2KLPPm50Hs1df/7dXX/+3V
1//p0dT/t5+g/7Obm/+zm5v/s5ub/7Obm/+zm5v/s5ub/7Obm/+zm5v/s5ub/7Obm/+zm5v/s5ub/3tZ
tv9cLP3/XCv+/1sr/v9YKfX/Uyfm/1Mm5f9TJub/g17h/+jP1//hv8P/3rq+/966vf/r19hBAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgko9ka1RR/GNKR/9jSkf/clxZ6djM
y2zs1dj/7dXX/+zV2P/ZwcP/blZT/2tTUP9rU1D/a1NQ/2tTUP9rU1D/a1NQ/2tTUP9rU1D/a1NQ/2tT
UP9rU1D/a1NQ/2tSUP9nRaH/XCz+/1wr/v9cK/7/WCn1/1Mn5v9TJ+b/Uyfm/4Vf4f/cusT/3rm9/966
vf/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoJKPZGtU
Uf5jSkj/Y0pI/3xnZPzgyMv/7dXX/+3V1//t1df/6dHU/+jQ0v/o0NL/6NDS/+jQ0v/o0NL/6NDS/+jQ
0v/o0NL/6NDS/+jQ0v/o0NL/6NDS/+jQ0v/o0NP/rInp/1ws/v9cLP7/XCz+/1gp9f9TJ+b/Uybl/1Mm
5v+AVtn/2ra+/966vv/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAKCSj2NrVFH9Y0tH/2NKR/97Y2H/4MjK/+vT1v/QuLr/q5OT/5d/fv+UfHv/oYmJ/7+n
qP/lzdD/7NTX/+zV1//t1df/7NXX/+3V1//t1df/7NXX/+3V1//s1Nf/7NXX/6yK6f9dLf7/XCv+/1wr
/v9YKfX/Uyfm/1Mm5v9TJub/f1bZ/9q1v//r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgkY5la1RR/WNKR/9jSkf/emJg/4FpZ/9jS0j/bVdK/4Nv
UP+IdFH/eGJN/2RMSP9tVVP/rZWV/+rS1f/s1df/7NTX/+zV1//t1df/7NXX/+zV1//s1df/7NXX/+zU
2P+sien/XS3+/1wr/v9cK/7/WCn1/1Mn5v9SJ+b/Uifm/4BW2f/Wv91BAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoJKPY2tUUf5jS0f/Y0tI/4Ju
UP/PxGX/9/Fw//v2cf/79nD/+vRw/+bda/+jk1n/ZU5I/4hwbv/lzdD/7dXX/+3V1//t1dj/7dXX/+3U
2P/t1Nf/7dTY/+3U2P/s1Nj/rIrp/1ws/v9cK/7/Wyv+/1gp9f9TJ+b/Uibm/1Im5v9jO+fBkHTuCwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIt5
dqxjS0j/pZVy//v2ov/++6z//vuu//76p//9+Zb//PZ8//v2cf/79nH/1Mlm/21WSv+JcXD/6tLV/+3U
1//t1Nf/7NTX/+3U1//s1Nf/7NTX/+3U1//s1Nf/7dTX/6yJ6f9dLf7/XCv+/1wr/v9YKfX/Uyfm/1Mm
5f9TJ+b/ZDzowZBz7g0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAq56cKmpTUPuZiG3//fqz//77tf/++7X//vu1//78tf/++7X//vuz//35l//89nP/+/Vw/9LH
Zf9kTUj/lpai/6jK6P+oyuj/qMro/6jK6P+oyuj/qMro/6jK6P+qxeb/qMHo/9TN3P+sien/XCz+/1sr
/v9cK/7/WCn1/1Mn5v9TJ+b/Uyfm/2Q96MCQc+4MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAgW5ro2xVTv/x7Kv//vu1//77tf/++7X//vu1//77tf/++7X//vu1//77
tf/++qH//PZy//v1cP+ci1f/YVdc/1S5+f9UvP7/VL3+/1S8/v9TvP7/VLz+/1a0+/9Uqf7/VKn+/6rB
5f/s1Nj/rIrp/1ws/v9cK/7/Wyv+/1gp9f9TJ+b/Uybl/1Mn5v9kPOjBl3jjDAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj390Jcl1a86GRc//++7X//vu1//77tf/++7X//vu1//77
tf/++7X//vu1//77tf/++7X//fmV//v2cP/d02j/Y0tH/1efz/9Uvf7/VL3+/1S9/v9Vu/3/Vq/7/1Sp
/v9Uqf7/VKn+/6rB5f/s1dj/7NTY/6yJ6f9dLf7/XCv+/1wr/v9YKfX/Uyfm/1Mn5v91SL3/2a1awN69
fw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjlZImZk5L/8i9jv/++7X//vu1//77
tf/++7X//vu1//77tf/++7X//vu1//77tf/++7X//vuy//z2ev/48nD/bldK/1qIqf9Tvf7/U73+/3G+
3v+su53/WKn5/1Op/v9Tqf7/U6n+/6rB5f/t1df/7dXX/+zU2P+mgN//XCz+/1ws/v9cLP7/WCn1/3VI
vf/aq0T/47M7/+G1TsHevYALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnmpdNY0tH/9fP
mf/++7X//vu1//77tf/++7X//vu1//77tf/++7X//vu1//77tf/++7X//vu1//34kv/79XD/emRO/1x+
mv9Uvf7/kcC7/+7FVf/0xk//zL57/1+r8v9Tqf7/U6n+/6rB5f/s1df/7dXX/+zU1//hv8P/pHva/1wt
/v9cK/7/fk/W/+W1Uf/jszv/47M7/8qaWP9zS9XBkHTuDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAClmJY+Y0tJ/9HIlP/++7X//vu1//77tf/++7X//vu1//77tf/++7X//vu1//77tf/++7X//vu1//76
of/69HD/dV9M/2GCmv+2wpP/9MVP//TGTv/0xk7/9MZO/9nBbP9prOf/VKn+/6rB5f/s1df/7NXX/+zV
1//hv8P/3bm+/6N62v9/T9b/67xZ//TGTv/tvkf/yppZ/2E01f9TJ+b/ZD3owJB07gwAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAC4rKoSaVNQ+LOmgP/++7X//vu1//77tf/++7X//vu1//77tf/++7X//vu1//77
tf/++7X//vu1//76qP/t5W3/ZU1I/7yZUf/1xk7/9cZO//XGTv/0xk7/9cZO//XGTv/kw2D/dq/Z/6rB
5f/t1df/7dTY/+3U1//hv8P/3rm+/925vv/pyJfG9MVP//XGTv/YqW//ZTfl/1Mn5v9SJub/Uyfm/2lD
6K4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAemViyn9qW//9+bP//vu1//77tf/++7X//vu1//77
tf/++7X//vu1//77tf/++7X//vu1//76pv+5rF//Z05I/+a5Tv/0xU//9MVP//TFT//0xU//9MVP//TF
T//0xU//7cRW/9DIvf/s1Nf/7dTX/+zU1//hv8P/3rq9/966vf/r19hB8clykdeocf9oOPD/XCv+/1gp
9f9TJ+b/Uybl/1sx58sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkoJ/XGNLSP/EuYz//vu1//77
tf/++7X//vu1//78tf/++7X//vu1//78tf/++7X//vu1//Ltl/9yXEz/l3dK//TFTv/0xU//9MVO//TG
T//0xk7/9MZO//TGTv/0xk//9MZP//DOnP/s1Nf/7NTX/+zU1//hv8P/3bq+/966vv/r19hB6tbCAodh
8JBcLf7/Wyv+/1wr/v9XKfL/XTTn+oxu7FEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7OnmAXxo
ZcNrVE3/29Sc//77tf/++7X//vu1//77tf/++7X//vu1//77tf/++7X/+PSw/416Yv9uVEj/5LdO//TG
Tv/0xk7/9MZO/8XKhP9t0+f/etLY/9/IZv/0xk7/9MZO//DOnP/s1df/7dXX/+3V1//hv8P/3rq+/966
vf/r19hBAAAAAMe4+QF7Vf2QXC3+/1wr/v9kN/n6kHPtVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAANbJyEiEbGv/alNN/7+ziP/797L//vu1//77tf/++7X//vu1//77tP/h2qD/g29e/2pR
SP/Ppk3/9MZO//XGTv/1xk7/9cZO/2vU6f9Z1f7/WdX+/5fPuP/0xk7/9cZO//DOnP/s1dj/7dXX/+zV
2P/hv8P/3rm9/966vf/r19hBAAAAAAAAAADHuPkBgl79gGg7/rKVdvtLAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50HmztH/mYGB/2NLSP93Ylb/qJp4/8O4i//Ivo7/tqmC/4x6
ZP9lTUn/el5J/9esTf/1xk//9MZP//TGT//0xk//9MZP/3fS3P9Y1f7/WdX+/6LOrP/0xk//9MZP//DO
nP/t1df/7dXX/+3V1//hv8P/3rq+/966vv/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1df/7NTX/9G5u/+ZgYH/dFxa/2dP
Tf9mTkr/bVNI/4psSf++l0z/8cNO//TGT//0xk7/9MZO//TGT//0xk//9MZO/93IaP+Tz7z/oM6t/+7G
Vv/0xk7/9MZP//DOnP/s1df/7dXX/+zU1//hv8P/3rq9/966vf/r19hBAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1df/7NXX/+zV
1//s1df/7NTX/+XNz//mxJb/8sNO//TGTv/0xk7/9MZO//TGTv/0xk7/9MZO//TGTv/0xk7/9MZO//TG
Tv/0xk7/9MZO//TGTv/0xk7/9MZO//DOnP/s1df/7NXX/+zV1//hv8P/3rq+/966vv/r19hBAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm
50Ht1df/7dTY/+3U1//t1Nj/7dTY/+3V1//v0LD/8slz//LJc//yyXP/8slz//LJc//yyXP/8slz//LJ
c//yyXP/8slz//LJc//yyXP/8slz//LJc//yyXP/8slz/+/QsP/t1df/7dTY/+3U1//hv8P/3rm+/965
vv/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAPPm50Hs1Nf/7dTX/+zU1//s1Nf/7dTX/+zU1//t1Nf/7dTX/+zU1//t1Nf/7NTX/+zU
1//t1Nf/7NTX/+3U1//t1Nf/7NTX/+3U1//s1Nf/7NTX/+3U1//s1Nf/7dTX/+3U1//s1Nf/7dTX/+zU
1//hv8P/3rq9/966vf/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1Nf/7NTX/+zU1//s1Nf/7NTX/+zU1//s1Nf/7NTX/+zU
1//s1Nf/7NTX/+zU1//s1Nf/7NTX/+zU1//s1Nf/7NTX/+zU1//s1Nf/7NTX/+zU1//s1Nf/7NTX/+zU
1//s1Nf/7NTX/+zU1//hv8P/3bq+/966vv/r19hBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1df/7dXX/+3V1//t1df/7dXX/+zV
1//t1df/7dXX/+zV1//t1df/7dXX/+3V1//t1df/7NXX/+3V1//t1df/7NXX/+3V1//t1df/7dXX/+3V
1//s1df/7dXX/+3V1//s1df/7dXX/+3V1//hv8P/3rq+/966vf/r19hBAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPm50Hs1dj/7dXX/+zV
2P/s1dj/7dXY/+zV1//s1dj/7dXY/+zV2P/t1df/7NXY/+zV2P/t1dj/7NXX/+zV2P/t1dj/7NXY/+3V
1//s1dj/7NXY/+3V2P/s1df/7NXY/+3V2P/s1dj/7dXX/+zV2P/hv8P/3rm9/966vf/r19hBAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPPn
6Czt1djQ7dXX0O3V19Dt1dfQ7dXX0O3V19Dt1dfQ7dXX0O3V19Dt1dfQ7dXX0O3V19Dt1dfQ7dXX0O3V
19Dt1dfQ7dXX0O3V19Dt1dfQ7dXX0O3V19Dt1dfQ7dXX0O3V19Dt1dfQ7dXX0O3V19DhwMPQ3rq+0N67
v9Dr19gsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAP8AAP8AAAAA/wAA/wAAAAD/
AAD/AAAAAAEAAP8AAAAAAQAA/wAAAAABAAD/AAAAAAEAAP8AAAAAAQAA/wAAAAABAAD/AAAAAAEAAP8A
AAAAAwAA/wAAAAD/AAD/AAAAAP8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAB8AAAAA/wAADwAAAAD/
AAAHAAAAAP8AAAMAAAAA/wAAgQAAAAD/AADAAAAAAP8AAOAAAAAA/wAA8AAAAAD/AAD4AAAAAP8AAPwA
AAAA/wAA/gAAAAB/AAD/AAAAAD8AAP4AAAAAHwAA/gAAAAAPAAD8AAAAAAcAAPwAAAAAAwAA/AAAAAAB
AAD8AAAAAAAAAPwAAAAAAAAA/gAAAAAAAAD+AAAAAAAAAP4AAAAAgQAA/wAAAADDAAD/AAAAAP8AAP8A
AAAA/wAA/wAAAAD/AAD/AAAAAP8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP8AAAAA/wAA/wAAAAD/
AAA=
</value>
</data>
</root>

View File

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CorrectDateInCopyright
{
static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("Correct Date In Copyright")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Correct Date In Copyright")]
[assembly: AssemblyCopyright("Copyright © 2021 by Eugen Höglinger")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("b4254919-6230-4ca5-81c9-18582afff27b")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyFileVersion("1.0.0.0")] //Wenn auskommentiert, dann gleich wie AssemblyVersion!

View File

@ -0,0 +1,70 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion: 4.0.30319.42000
//
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
// der Code neu generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace CorrectDateInCopyright.Properties
{
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse
// über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu.
[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>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </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("CorrectDateInCopyright.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View 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>

View 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 CorrectDateInCopyright.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;
}
}
}
}

View 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>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]

View File

@ -0,0 +1 @@
bb4135c298d376b85890418d8ee5688a4685db4a

View File

@ -0,0 +1,25 @@
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\CorrectDateInCopyright.exe.config
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\CorrectDateInCopyright.exe
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\CorrectDateInCopyright.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\heabox.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\heabox.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\de\heabox.resources.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\en\heabox.resources.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\obj\Debug\CorrectDateInCopyright.csproj.AssemblyReference.cache
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\obj\Debug\CorrectDateInCopyright.Form1.resources
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\obj\Debug\CorrectDateInCopyright.Properties.Resources.resources
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\obj\Debug\CorrectDateInCopyright.csproj.GenerateResource.cache
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\obj\Debug\CorrectDateInCopyright.csproj.CoreCompileInputs.cache
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\obj\Debug\CorrectDateInCopyright.csproj.CopyComplete
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\obj\Debug\CorrectDateInCopyright.exe
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\obj\Debug\CorrectDateInCopyright.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\heohf.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\heohf.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\herfiffo.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\herfiffo.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\helogwri.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\helogwri.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\heshowtf.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\heshowtf.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\herflbl.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_PROJEKTE\CorrectDateInCopyright.git\CorrectDateInCopyright\bin\Debug\herflbl.pdb

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
Daten/Korrektur.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB