From aaf3fb4bceb4b51228971608c81f659fd522b151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20H=C3=B6glinger?= Date: Thu, 26 Nov 2020 11:54:24 +0100 Subject: [PATCH] Initialize --- NX-Installation/FrmMain.cs | 80 ++++++++++++++++++++-- NX-Installation/Properties/AssemblyInfo.cs | 2 +- 2 files changed, 74 insertions(+), 8 deletions(-) diff --git a/NX-Installation/FrmMain.cs b/NX-Installation/FrmMain.cs index 42417a2..34c6c46 100644 --- a/NX-Installation/FrmMain.cs +++ b/NX-Installation/FrmMain.cs @@ -90,7 +90,7 @@ namespace NX_Installation 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 = String.Concat(((AssemblyCopyrightAttribute)attributes[0]).Copyright, "-", Year(), " by Eugen Hoeglinger"); + string copyright = GenerateCopyright(); string icon = Application.StartupPath + "\\Info.bmp"; //Assembly Datum und Zeit static DateTime value = AssemblyDateTime(); @@ -98,18 +98,83 @@ namespace NX_Installation string time = value.ToLongTimeString(); private static DateTime AssemblyDateTime() { - var programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; - var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * programVersion.Build + TimeSpan.TicksPerSecond * 2 * programVersion.Revision)); + 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 Year() + + private static string CurrentYear() { - DateTime d = DateTime.Now; - return d.Year.ToString(); + DateTime dtn = DateTime.Now; + return dtn.Year.ToString(); + } + + private static string StartYear() + { + //string startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + //return startYear.Remove(0, startYear.LastIndexOf(" ") + 1); + string startYear = ""; + if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © ")) + { + startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", ""); + while (startYear.StartsWith(" ")) + { + startYear = startYear.Remove(0, 1); + } + 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 + { + //return String.Concat(((AssemblyCopyrightAttribute)attributes[0]).Copyright, "-", currentYear); + return ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear)); + } } #endregion - + + #region Programm-Info + /// + /// Contains the name of the program file + /// + public static string ProgramName { set; get; } + + /// + /// Contains the version of the program file + /// + public static string ProgramVersion { set; get; } + + /// + /// Contains the copyright notice + /// + public static string Copyright { set; get; } + + private void SetProgramInfo() + { + //Name, Version und Copyright setzen + ProgramName = programName; + ProgramVersion = programVersion; + Copyright = copyright; + } + #endregion + + #region Globale Variablen const string line = "--------------------------------------------------"; const string leftSpace = " "; @@ -165,6 +230,7 @@ namespace NX_Installation public FrmMain() { + SetProgramInfo(); //Name, Version und Copyright setzen InitializeComponent(); } diff --git a/NX-Installation/Properties/AssemblyInfo.cs b/NX-Installation/Properties/AssemblyInfo.cs index 0453119..8952ee6 100644 --- a/NX-Installation/Properties/AssemblyInfo.cs +++ b/NX-Installation/Properties/AssemblyInfo.cs @@ -11,7 +11,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("NX-Installation")] -[assembly: AssemblyCopyright("Copyright © 2012")] +[assembly: AssemblyCopyright("Copyright © 2012 by Eugen Höglinger")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")]