commit 4e699b9a861482e1633b1ecdad6e64b8180d67e1 Author: Eugen Höglinger Date: Tue Dec 20 09:31:36 2022 +0100 Initialize - Control zum Laden, Bearbeiten und Speichern von XML-Daten diff --git a/.vs/SingleValueControl/FileContentIndex/183f0462-9a38-445c-b146-33531f960632.vsidx b/.vs/SingleValueControl/FileContentIndex/183f0462-9a38-445c-b146-33531f960632.vsidx new file mode 100644 index 0000000..31ed6b6 Binary files /dev/null and b/.vs/SingleValueControl/FileContentIndex/183f0462-9a38-445c-b146-33531f960632.vsidx differ diff --git a/.vs/SingleValueControl/FileContentIndex/7cccf02b-a945-4352-8345-b6c15d2b9a1b.vsidx b/.vs/SingleValueControl/FileContentIndex/7cccf02b-a945-4352-8345-b6c15d2b9a1b.vsidx new file mode 100644 index 0000000..ed1ebba Binary files /dev/null and b/.vs/SingleValueControl/FileContentIndex/7cccf02b-a945-4352-8345-b6c15d2b9a1b.vsidx differ diff --git a/.vs/SingleValueControl/FileContentIndex/af7dbefe-e102-4ae7-8cbc-dc21da7d0f4d.vsidx b/.vs/SingleValueControl/FileContentIndex/af7dbefe-e102-4ae7-8cbc-dc21da7d0f4d.vsidx new file mode 100644 index 0000000..6910735 Binary files /dev/null and b/.vs/SingleValueControl/FileContentIndex/af7dbefe-e102-4ae7-8cbc-dc21da7d0f4d.vsidx differ diff --git a/.vs/SingleValueControl/FileContentIndex/e9355643-b25f-46cc-8fae-602faee4eff1.vsidx b/.vs/SingleValueControl/FileContentIndex/e9355643-b25f-46cc-8fae-602faee4eff1.vsidx new file mode 100644 index 0000000..f7aa641 Binary files /dev/null and b/.vs/SingleValueControl/FileContentIndex/e9355643-b25f-46cc-8fae-602faee4eff1.vsidx differ diff --git a/.vs/SingleValueControl/FileContentIndex/read.lock b/.vs/SingleValueControl/FileContentIndex/read.lock new file mode 100644 index 0000000..e69de29 diff --git a/.vs/SingleValueControl/v17/.suo b/.vs/SingleValueControl/v17/.suo new file mode 100644 index 0000000..ca8f3b8 Binary files /dev/null and b/.vs/SingleValueControl/v17/.suo differ diff --git a/Daten/Pfeil_links.png b/Daten/Pfeil_links.png new file mode 100644 index 0000000..c8aa72b Binary files /dev/null and b/Daten/Pfeil_links.png differ diff --git a/Daten/Pfeil_oben.png b/Daten/Pfeil_oben.png new file mode 100644 index 0000000..b256203 Binary files /dev/null and b/Daten/Pfeil_oben.png differ diff --git a/Daten/Pfeil_rechts.png b/Daten/Pfeil_rechts.png new file mode 100644 index 0000000..0881380 Binary files /dev/null and b/Daten/Pfeil_rechts.png differ diff --git a/Daten/Pfeil_unten.png b/Daten/Pfeil_unten.png new file mode 100644 index 0000000..10ec1a8 Binary files /dev/null and b/Daten/Pfeil_unten.png differ diff --git a/Daten/Test.xml b/Daten/Test.xml new file mode 100644 index 0000000..4bcec67 --- /dev/null +++ b/Daten/Test.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Daten/Test.xml_unverschlüsselt b/Daten/Test.xml_unverschlüsselt new file mode 100644 index 0000000..d39df50 --- /dev/null +++ b/Daten/Test.xml_unverschlüsselt @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Daten/_Test.xml b/Daten/_Test.xml new file mode 100644 index 0000000..d7ac234 --- /dev/null +++ b/Daten/_Test.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/HE-Test_Dll/App.config b/HE-Test_Dll/App.config new file mode 100644 index 0000000..d0f8440 --- /dev/null +++ b/HE-Test_Dll/App.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/HE-Test_Dll/Form1.Designer.cs b/HE-Test_Dll/Form1.Designer.cs new file mode 100644 index 0000000..d915c69 --- /dev/null +++ b/HE-Test_Dll/Form1.Designer.cs @@ -0,0 +1,129 @@ +namespace HE_Test_Dll1 +{ + partial class Form1 + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Windows Form-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + this.groupBoxProgramInfo = new System.Windows.Forms.GroupBox(); + this.labelProgramInfo = new System.Windows.Forms.Label(); + this.groupBoxDLLInfo = new System.Windows.Forms.GroupBox(); + this.labelDLLInfo = new System.Windows.Forms.Label(); + this.singleValueControl = new Eugen.ESystem.Windows.Forms.SingleValueControl(); + this.groupBoxProgramInfo.SuspendLayout(); + this.groupBoxDLLInfo.SuspendLayout(); + this.SuspendLayout(); + // + // groupBoxProgramInfo + // + this.groupBoxProgramInfo.Controls.Add(this.labelProgramInfo); + this.groupBoxProgramInfo.Location = new System.Drawing.Point(12, 372); + this.groupBoxProgramInfo.Name = "groupBoxProgramInfo"; + this.groupBoxProgramInfo.Size = new System.Drawing.Size(385, 66); + this.groupBoxProgramInfo.TabIndex = 11; + this.groupBoxProgramInfo.TabStop = false; + this.groupBoxProgramInfo.Text = "Programm Information"; + // + // labelProgramInfo + // + this.labelProgramInfo.AutoSize = true; + this.labelProgramInfo.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.labelProgramInfo.Location = new System.Drawing.Point(7, 20); + this.labelProgramInfo.Name = "labelProgramInfo"; + this.labelProgramInfo.Size = new System.Drawing.Size(16, 13); + this.labelProgramInfo.TabIndex = 0; + this.labelProgramInfo.Text = "..."; + // + // groupBoxDLLInfo + // + this.groupBoxDLLInfo.Controls.Add(this.labelDLLInfo); + this.groupBoxDLLInfo.Location = new System.Drawing.Point(403, 372); + this.groupBoxDLLInfo.Name = "groupBoxDLLInfo"; + this.groupBoxDLLInfo.Size = new System.Drawing.Size(385, 66); + this.groupBoxDLLInfo.TabIndex = 12; + this.groupBoxDLLInfo.TabStop = false; + this.groupBoxDLLInfo.Text = "DLL Information"; + // + // labelDLLInfo + // + this.labelDLLInfo.AutoSize = true; + this.labelDLLInfo.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.labelDLLInfo.Location = new System.Drawing.Point(7, 20); + this.labelDLLInfo.Name = "labelDLLInfo"; + this.labelDLLInfo.Size = new System.Drawing.Size(16, 13); + this.labelDLLInfo.TabIndex = 0; + this.labelDLLInfo.Text = "..."; + // + // singleValueControl + // + this.singleValueControl.AlwaysEncrypted = false; + this.singleValueControl.CheckBoxDefaultText = "Default\r\nValue"; + this.singleValueControl.CheckBoxEncryptValueText = "Encrypt\r\nvalues"; + this.singleValueControl.Group = null; + this.singleValueControl.GroupName = "Group"; + this.singleValueControl.InitialDirectory = "C:\\"; + this.singleValueControl.Key = null; + this.singleValueControl.KeyName = "Key"; + this.singleValueControl.Location = new System.Drawing.Point(12, 12); + this.singleValueControl.MaximumSize = new System.Drawing.Size(800, 227); + this.singleValueControl.MinimumSize = new System.Drawing.Size(316, 227); + this.singleValueControl.Name = "singleValueControl"; + this.singleValueControl.Password = null; + this.singleValueControl.Size = new System.Drawing.Size(316, 227); + this.singleValueControl.TabIndex = 14; + this.singleValueControl.TableHeaderName = "All values"; + this.singleValueControl.Topic = "Topic"; + this.singleValueControl.ValueControlName = "Value control"; + this.singleValueControl.XMLfileName = null; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.singleValueControl); + this.Controls.Add(this.groupBoxProgramInfo); + this.Controls.Add(this.groupBoxDLLInfo); + this.Name = "Form1"; + this.Text = "Test_InfoBox"; + this.Load += new System.EventHandler(this.Form1_Load); + this.groupBoxProgramInfo.ResumeLayout(false); + this.groupBoxProgramInfo.PerformLayout(); + this.groupBoxDLLInfo.ResumeLayout(false); + this.groupBoxDLLInfo.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.GroupBox groupBoxProgramInfo; + private System.Windows.Forms.Label labelProgramInfo; + private System.Windows.Forms.GroupBox groupBoxDLLInfo; + private System.Windows.Forms.Label labelDLLInfo; + private Eugen.ESystem.Windows.Forms.SingleValueControl singleValueControl; + } +} + diff --git a/HE-Test_Dll/Form1.cs b/HE-Test_Dll/Form1.cs new file mode 100644 index 0000000..dca578b --- /dev/null +++ b/HE-Test_Dll/Form1.cs @@ -0,0 +1,140 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +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.Windows.Forms; + +namespace HE_Test_Dll1 +{ + public partial class Form1 : Form + { + #region Version und Copyright + // Key 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 = System.Reflection.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 = ((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, Key und Copyright setzen + ProgramName = programName; + ProgramVersion = programVersion; + Copyright = copyright; + } + #endregion + + public Form1() + { + SetProgramInfo(); + InitializeComponent(); + } + + private void Form1_Load(object sender, EventArgs e) + { + labelProgramInfo.Text = String.Concat(ProgramName, "\r\n", ProgramVersion, "\r\n", Copyright); // Zeigt die Programm-Information an + + labelDLLInfo.Text = String.Concat(SingleValueControl.DllName, "\r\n", SingleValueControl.DllVersion, "\r\n", SingleValueControl.Copyright); // Zeigt die DLL-Information an + + ExecuteControl(); + } + + private void ExecuteControl() + { + singleValueControl.Password = "Test"; + singleValueControl.InitialDirectory = @"C:\Temp\Test"; + singleValueControl.XMLfileName = @"H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\Daten\Test.xml"; + singleValueControl.ValueControlName = "My XML Control"; + singleValueControl.Topic = "NX-Portal"; + singleValueControl.GroupName = "MyGroup"; + //singleValueControl.Group = "NX"; //Belegt die Gruppe vor. Darf kein Leerzeichen enthalten + singleValueControl.KeyName = "MyKey"; + //singleValueControl.Key = "Version"; //Belegt die Gruppe vor. Darf kein Leerzeichen enthalten + singleValueControl.TableHeaderName = "MyValues"; + singleValueControl.CheckBoxEncryptValueText = "Encrypt\r\nvalues"; + //singleValueControl.AlwaysEncrypted = true; //Alle Werte werden immer Verschlüsselt + singleValueControl.SetDialogWidth(600); //Der Dialog kann zwischen 316 und 800 breit sein + singleValueControl.SetBasicValues(); //Die übergebenen Werte anzeigen + } + } +} diff --git a/HE-Test_Dll/Form1.resx b/HE-Test_Dll/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/HE-Test_Dll/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/HE-Test_Dll/HE-Test_SingleValueControl.csproj b/HE-Test_Dll/HE-Test_SingleValueControl.csproj new file mode 100644 index 0000000..ce4e485 --- /dev/null +++ b/HE-Test_Dll/HE-Test_SingleValueControl.csproj @@ -0,0 +1,101 @@ + + + + + Debug + AnyCPU + {2B71D20F-009D-4089-8C69-98DCCFADF932} + WinExe + HE_Test_Dll1 + HE-Test_Dll + v4.7.2 + 512 + true + false + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + + False + ..\..\..\_DLL\Cryption.git\Cryption\bin\Debug\hecryption.dll + + + ..\SingleValueControl\bin\Debug\hesvalcon.dll + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + {65C7F0F6-B8CA-4C1D-9C68-ED98FC2D31A1} + SingleValueControl + + + + \ No newline at end of file diff --git a/HE-Test_Dll/Program.cs b/HE-Test_Dll/Program.cs new file mode 100644 index 0000000..da5f698 --- /dev/null +++ b/HE-Test_Dll/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace HE_Test_Dll1 +{ + internal static class Program + { + /// + /// Der Haupteinstiegspunkt für die Anwendung. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/HE-Test_Dll/Properties/AssemblyInfo.cs b/HE-Test_Dll/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..ff579f9 --- /dev/null +++ b/HE-Test_Dll/Properties/AssemblyInfo.cs @@ -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("HE_Test_Dll")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("HE_Test_Dll")] +[assembly: AssemblyCopyright("Copyright © 2022 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("2b71d20f-009d-4089-8c69-98dccfadf932")] + +// 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, +// übernehmen, indem Sie "*" eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.*")] +//[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/HE-Test_Dll/Properties/Resources.Designer.cs b/HE-Test_Dll/Properties/Resources.Designer.cs new file mode 100644 index 0000000..7ffff91 --- /dev/null +++ b/HE-Test_Dll/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace HE_Test_Dll1.Properties { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -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 /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.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() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HE_Test_Dll1.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/HE-Test_Dll/Properties/Resources.resx b/HE-Test_Dll/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/HE-Test_Dll/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/HE-Test_Dll/Properties/Settings.Designer.cs b/HE-Test_Dll/Properties/Settings.Designer.cs new file mode 100644 index 0000000..e2b6fa7 --- /dev/null +++ b/HE-Test_Dll/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace HE_Test_Dll1.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.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; + } + } + } +} diff --git a/HE-Test_Dll/Properties/Settings.settings b/HE-Test_Dll/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/HE-Test_Dll/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/HE-Test_Dll/bin/Debug/HE-Test_Dll.exe b/HE-Test_Dll/bin/Debug/HE-Test_Dll.exe new file mode 100644 index 0000000..2537b06 Binary files /dev/null and b/HE-Test_Dll/bin/Debug/HE-Test_Dll.exe differ diff --git a/HE-Test_Dll/bin/Debug/HE-Test_Dll.exe.config b/HE-Test_Dll/bin/Debug/HE-Test_Dll.exe.config new file mode 100644 index 0000000..d0f8440 --- /dev/null +++ b/HE-Test_Dll/bin/Debug/HE-Test_Dll.exe.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/HE-Test_Dll/bin/Debug/HE-Test_Dll.pdb b/HE-Test_Dll/bin/Debug/HE-Test_Dll.pdb new file mode 100644 index 0000000..7d43a52 Binary files /dev/null and b/HE-Test_Dll/bin/Debug/HE-Test_Dll.pdb differ diff --git a/HE-Test_Dll/bin/Debug/de/hesvalcon.resources.dll b/HE-Test_Dll/bin/Debug/de/hesvalcon.resources.dll new file mode 100644 index 0000000..802de70 Binary files /dev/null and b/HE-Test_Dll/bin/Debug/de/hesvalcon.resources.dll differ diff --git a/HE-Test_Dll/bin/Debug/en/hesvalcon.resources.dll b/HE-Test_Dll/bin/Debug/en/hesvalcon.resources.dll new file mode 100644 index 0000000..0842fb2 Binary files /dev/null and b/HE-Test_Dll/bin/Debug/en/hesvalcon.resources.dll differ diff --git a/HE-Test_Dll/bin/Debug/hecryption.dll b/HE-Test_Dll/bin/Debug/hecryption.dll new file mode 100644 index 0000000..faed5dd Binary files /dev/null and b/HE-Test_Dll/bin/Debug/hecryption.dll differ diff --git a/HE-Test_Dll/bin/Debug/hecryption.pdb b/HE-Test_Dll/bin/Debug/hecryption.pdb new file mode 100644 index 0000000..7f8d97f Binary files /dev/null and b/HE-Test_Dll/bin/Debug/hecryption.pdb differ diff --git a/HE-Test_Dll/bin/Debug/hesvalcon.dll b/HE-Test_Dll/bin/Debug/hesvalcon.dll new file mode 100644 index 0000000..c2ca11b Binary files /dev/null and b/HE-Test_Dll/bin/Debug/hesvalcon.dll differ diff --git a/HE-Test_Dll/bin/Debug/hesvalcon.pdb b/HE-Test_Dll/bin/Debug/hesvalcon.pdb new file mode 100644 index 0000000..ea1528d Binary files /dev/null and b/HE-Test_Dll/bin/Debug/hesvalcon.pdb differ diff --git a/HE-Test_Dll/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/HE-Test_Dll/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/HE-Test_Dll/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/HE-Test_Dll/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/HE-Test_Dll/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..44f7234 Binary files /dev/null and b/HE-Test_Dll/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/HE-Test_Dll/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/HE-Test_Dll/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..fccd687 Binary files /dev/null and b/HE-Test_Dll/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/HE-Test_Dll/obj/Debug/HE-Test_Dll.exe b/HE-Test_Dll/obj/Debug/HE-Test_Dll.exe new file mode 100644 index 0000000..2537b06 Binary files /dev/null and b/HE-Test_Dll/obj/Debug/HE-Test_Dll.exe differ diff --git a/HE-Test_Dll/obj/Debug/HE-Test_Dll.pdb b/HE-Test_Dll/obj/Debug/HE-Test_Dll.pdb new file mode 100644 index 0000000..7d43a52 Binary files /dev/null and b/HE-Test_Dll/obj/Debug/HE-Test_Dll.pdb differ diff --git a/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.AssemblyReference.cache b/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.AssemblyReference.cache new file mode 100644 index 0000000..48860a2 Binary files /dev/null and b/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.AssemblyReference.cache differ diff --git a/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.CopyComplete b/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.CoreCompileInputs.cache b/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..dbe90de --- /dev/null +++ b/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +f2bf9de8a0eea837e018fb036012e0fa833ac8a8 diff --git a/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.FileListAbsolute.txt b/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..dee49ce --- /dev/null +++ b/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.FileListAbsolute.txt @@ -0,0 +1,18 @@ +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_SingleValueControl.csproj.AssemblyReference.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_SingleValueControl.csproj.SuggestedBindingRedirects.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\obj\Debug\HE_Test_Dll1.Form1.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\obj\Debug\HE_Test_Dll1.Properties.Resources.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_SingleValueControl.csproj.GenerateResource.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_SingleValueControl.csproj.CoreCompileInputs.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\bin\Debug\HE-Test_Dll.exe.config +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\bin\Debug\HE-Test_Dll.exe +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\bin\Debug\HE-Test_Dll.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\bin\Debug\hecryption.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\bin\Debug\hecryption.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_SingleValueControl.csproj.CopyComplete +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_Dll.exe +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_Dll.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\bin\Debug\hesvalcon.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\bin\Debug\de\hesvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\bin\Debug\en\hesvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\HE-Test_Dll\bin\Debug\hesvalcon.dll diff --git a/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.GenerateResource.cache b/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.GenerateResource.cache new file mode 100644 index 0000000..0ad608d Binary files /dev/null and b/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.GenerateResource.cache differ diff --git a/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.SuggestedBindingRedirects.cache b/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.SuggestedBindingRedirects.cache new file mode 100644 index 0000000..e69de29 diff --git a/HE-Test_Dll/obj/Debug/HE_Test_Dll1.Form1.resources b/HE-Test_Dll/obj/Debug/HE_Test_Dll1.Form1.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/HE-Test_Dll/obj/Debug/HE_Test_Dll1.Form1.resources differ diff --git a/HE-Test_Dll/obj/Debug/HE_Test_Dll1.Properties.Resources.resources b/HE-Test_Dll/obj/Debug/HE_Test_Dll1.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/HE-Test_Dll/obj/Debug/HE_Test_Dll1.Properties.Resources.resources differ diff --git a/HE-Test_Dll/obj/Debug/TempPE/Properties.AppResources.Designer.cs.dll b/HE-Test_Dll/obj/Debug/TempPE/Properties.AppResources.Designer.cs.dll new file mode 100644 index 0000000..923eb09 Binary files /dev/null and b/HE-Test_Dll/obj/Debug/TempPE/Properties.AppResources.Designer.cs.dll differ diff --git a/HE-Test_Dll/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/HE-Test_Dll/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll new file mode 100644 index 0000000..70d4576 Binary files /dev/null and b/HE-Test_Dll/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/HE-Test_Dll/obj/Debug/_IsIncrementalBuild b/HE-Test_Dll/obj/Debug/_IsIncrementalBuild new file mode 100644 index 0000000..e5f828c --- /dev/null +++ b/HE-Test_Dll/obj/Debug/_IsIncrementalBuild @@ -0,0 +1 @@ +obj\Debug\\_IsIncrementalBuild diff --git a/SingleValueControl.sln b/SingleValueControl.sln new file mode 100644 index 0000000..fffc950 --- /dev/null +++ b/SingleValueControl.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32901.215 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SingleValueControl", "SingleValueControl\SingleValueControl.csproj", "{65C7F0F6-B8CA-4C1D-9C68-ED98FC2D31A1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HE-SingleValueControl", "HE-Test_Dll\HE-Test_SingleValueControl.csproj", "{2B71D20F-009D-4089-8C69-98DCCFADF932}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {65C7F0F6-B8CA-4C1D-9C68-ED98FC2D31A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {65C7F0F6-B8CA-4C1D-9C68-ED98FC2D31A1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {65C7F0F6-B8CA-4C1D-9C68-ED98FC2D31A1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {65C7F0F6-B8CA-4C1D-9C68-ED98FC2D31A1}.Release|Any CPU.Build.0 = Release|Any CPU + {2B71D20F-009D-4089-8C69-98DCCFADF932}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2B71D20F-009D-4089-8C69-98DCCFADF932}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2B71D20F-009D-4089-8C69-98DCCFADF932}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2B71D20F-009D-4089-8C69-98DCCFADF932}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {59AAF131-8BF2-4032-93D1-76882EA9D29A} + EndGlobalSection +EndGlobal diff --git a/SingleValueControl/LoadXML.cs b/SingleValueControl/LoadXML.cs new file mode 100644 index 0000000..fd8b631 --- /dev/null +++ b/SingleValueControl/LoadXML.cs @@ -0,0 +1,170 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Xml; +using System.Xml.Linq; +using System.Xml.XPath; + +namespace Eugen.ESystem.Windows.Forms +{ + internal class LoadXML + { + public string FileName { get; set; } + public string Topic { get; set; } //z.B. "NX-Portal" + public string Group { get; set; } //z.B. "NX" + public string Key { get; set; } //z.B. "Key" + public string[] Values { get; set; } //z.B. "NX 1953" + public int Standard { get; set; } //z.B. "2" + + public void Load() + { + if (File.Exists(FileName)) + { + // Das Dokument in eine neue XElement-Instanz laden + XElement rootElement = XElement.Load(FileName); + + // Auflistung für die Gruppe erzeugen + List groups = new List(); + + //Alle groups-Elemente einlesen und durchgehen + //var personElements = rootElement.Elements(Group); + var groupElements = rootElement.Elements(); + + if (String.IsNullOrEmpty(Group)) + { + string[] temp = new string[5]; + + List lkeys = new List(); + List lvalues = new List(); + List lstandard = new List(); + + foreach (var groupElement in groupElements) + { + temp = groupElement.ToString().Split(' '); + + //Wenn Leerzeichen im Wert sind, dann werden mehr als 6 Elemente belegt. + //In diesem Fall die Teilelemente wieder zu einem Element zusammenführen. + if (temp.Length > 6) + { + int count = temp.Length - 6; + + for (int i = 1; i < count + 1; i++) + { + temp[2] += " " + temp[2 + i]; //Die Teilelemente zusammensetzen + } + + var numbersList = temp.ToList(); //Array in eine List umwandeln + for (int i = 0; i < count; i++) + { + numbersList.Remove(numbersList[3]); //Die nicht mehr gültigen Teilelemente löschen + } + + temp = numbersList.ToArray(); //List in ein Array zurückwandeln + } + + Group = ExtractGroup(temp); + Key = ExtractKey(temp); + lvalues.Add(ExtractValue(temp)); + lstandard.Add(ExtractStandard(temp)); + } + + string[] values = new string[lvalues.Count]; + int standard = 0; + + for (int i = 0; i < lvalues.Count; i++) + { + values[i] = lvalues[i]; + + if (lstandard[i] == "yes") + { + standard = i + 1; + } + } + + Values = values; + Standard = standard; + } + else + { + foreach (var groupElement in groupElements) + { + //Neue Gruppe erzeugen und in der Auflistung ablegen + Topics group = new Topics(); + groups.Add(group); + + //Das Attribut id einlesen + XAttribute idAttribute = groupElement.Attribute("Id"); + if (idAttribute != null) + { + group.Id = idAttribute.Value; + } + + //Key-Element suchen und speichern + XAttribute keyAttribut = groupElement.Attribute(Key); + if (keyAttribut != null) + { + group.Key = keyAttribut.Value; + } + + //Standard-Element suchen und speichern + XAttribute standardAttribut = groupElement.Attribute("Standard"); + if (standardAttribut != null) + { + group.Standard = standardAttribut.Value; + } + } + + DataPreperation(groups); + } + } + } + + private string ExtractGroup(string[] temp) + { + return temp[0].Remove(0, 1); + } + + private string ExtractKey(string[] temp) + { + return temp[2].Remove(temp[2].IndexOf("=")); + } + + private string ExtractValue(string[] temp) + { + return temp[2].Remove(0, temp[2].IndexOf("=") + 1).Replace("\"", ""); + } + + private string ExtractStandard(string[] temp) + { + return temp[3].Remove(0, temp[3].IndexOf("=") + 1).Replace("\"", ""); + } + + private void DataPreperation(List groups) + { + string[] values = new string[groups.Count]; + + for (int i = 0; i < groups.Count; i++) + { + values[i] = groups[i].Key; + + if (groups[i].Standard == "yes") + { + Standard = i + 1; + } + } + + Values = values; + } + } + + class Topics + { + public string Id; + public string Key; + public string Standard; + } +} diff --git a/SingleValueControl/LoadXML.cs_old b/SingleValueControl/LoadXML.cs_old new file mode 100644 index 0000000..968ec2b --- /dev/null +++ b/SingleValueControl/LoadXML.cs_old @@ -0,0 +1,92 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml; +using System.Xml.Linq; +using System.Xml.XPath; + +namespace Eugen.ESystem.Windows.Forms +{ + internal class LoadXML + { + public string FileName { get; set; } + public string Topic { get; set; } //z.B. "NX-Portal" + public string Group { get; set; } //z.B. "NX" + public string Key { get; set; } //z.B. "Version" + public string[] Values { get; set; } //z.B. "NX 1953" + public string Standard { get; set; } //z.B. "yes" + + public void Load() + { + // Das Dokument in eine neue XElement-Instanz laden + XElement rootElement = XElement.Load(@"C:\Temp\Test\Test.xml"); + + // Auflistung für die Gruppe erzeugen + List groups = new List(); + + //Alle groups-Elemente einlesen und durchgehen + //var personElements = rootElement.Elements(Group); + var groupElements = rootElement.Elements(); + foreach (var groupElement in groupElements) + { + //Neue Gruppe erzeugen und in der Auflistung ablegen + Topics group = new Topics(); + groups.Add(group); + + //Das Attribut id einlesen + XAttribute idAttribute = groupElement.Attribute("Id"); + if (idAttribute != null) + { + group.Id = idAttribute.Value; + } + + //Key-Element suchen und speichern + XAttribute keyAttribut = groupElement.Attribute(Key); + if (keyAttribut != null) + { + group.Version = keyAttribut.Value; + } + + //Standard-Element suchen und speichern + XAttribute standardAttribut = groupElement.Attribute("Standard"); + if (standardAttribut != null) + { + group.Standard = standardAttribut.Value; + } + } + } + + public void LoadData() + { + //XElement zum Lesen erzeugen + XElement personsXML = XElement.Load(FileName); + //XDocument personsXML = XDocument.Load(FileName); + + //Alle Aliens abfragen + var persons = + from person in personsXML.Descendants("person") + where person.Element("type").Value == "Alien" + select new + { + Id = (int)person.Attribute("id"), + FirstName = person.Element("firstname").Value, + LastName = person.Element("lastname").Value + }; + + //Die abgefragten Personen durchgehen und derern Daten ausgeben + foreach (var person in persons) + { + //TODO: + } + } + } + + class Topics + { + public string Id; + public string Version; + public string Standard; + } +} diff --git a/SingleValueControl/Properties/AppResources.Designer.cs b/SingleValueControl/Properties/AppResources.Designer.cs new file mode 100644 index 0000000..117ed95 --- /dev/null +++ b/SingleValueControl/Properties/AppResources.Designer.cs @@ -0,0 +1,145 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace Eugen.ESystem.Windows.Forms.Properties { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -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 /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class AppResources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal AppResources() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Eugen.ESystem.Windows.Forms.Properties.AppResources", typeof(AppResources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die xml files (*.xml)|*.xml|All files (*.*)|*.* ähnelt. + /// + internal static string dlgFilter { + get { + return ResourceManager.GetString("dlgFilter", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Open XML file ähnelt. + /// + internal static string dlgOpenTitle { + get { + return ResourceManager.GetString("dlgOpenTitle", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Save XML file ähnelt. + /// + internal static string dlgSaveTitle { + get { + return ResourceManager.GetString("dlgSaveTitle", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Error ähnelt. + /// + internal static string msgBoxCapt001 { + get { + return ResourceManager.GetString("msgBoxCapt001", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Question ähnelt. + /// + internal static string msgBoxCapt002 { + get { + return ResourceManager.GetString("msgBoxCapt002", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Information ähnelt. + /// + internal static string msgBoxCapt003 { + get { + return ResourceManager.GetString("msgBoxCapt003", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die File not found! ähnelt. + /// + internal static string msgBoxTxt001 { + get { + return ResourceManager.GetString("msgBoxTxt001", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die The table is not empty. + ///Should the values be overridden? ähnelt. + /// + internal static string msgBoxTxt002 { + get { + return ResourceManager.GetString("msgBoxTxt002", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die The file was saved successfully. ähnelt. + /// + internal static string msgBoxTxt003 { + get { + return ResourceManager.GetString("msgBoxTxt003", resourceCulture); + } + } + } +} diff --git a/SingleValueControl/Properties/AppResources.de.resx b/SingleValueControl/Properties/AppResources.de.resx new file mode 100644 index 0000000..3aa3307 --- /dev/null +++ b/SingleValueControl/Properties/AppResources.de.resx @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + xml Datei (*.xml)|*.xml|Alle Dateien (*.*)|*.* + + + Öffne XML Datei + + + Speichere XML Datei + + + Fehler + + + Frage + + + Information + + + Datei wurde nicht gefunden! + + + Die Tabelle ist nicht leer. +Sollen die Werte überschieben werden? + + + Die Datei wurde erfolgreich gespeichert. + + \ No newline at end of file diff --git a/SingleValueControl/Properties/AppResources.en.resx b/SingleValueControl/Properties/AppResources.en.resx new file mode 100644 index 0000000..339a493 --- /dev/null +++ b/SingleValueControl/Properties/AppResources.en.resx @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + xml files (*.xml)|*.xml|All files (*.*)|*.* + + + Open XML file + + + Save XML file + + + Error + + + Question + + + Information + + + File not found! + + + The table is not empty. +Should the values be overridden? + + + The file was saved successfully. + + \ No newline at end of file diff --git a/SingleValueControl/Properties/AppResources.resx b/SingleValueControl/Properties/AppResources.resx new file mode 100644 index 0000000..339a493 --- /dev/null +++ b/SingleValueControl/Properties/AppResources.resx @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + xml files (*.xml)|*.xml|All files (*.*)|*.* + + + Open XML file + + + Save XML file + + + Error + + + Question + + + Information + + + File not found! + + + The table is not empty. +Should the values be overridden? + + + The file was saved successfully. + + \ No newline at end of file diff --git a/SingleValueControl/Properties/AssemblyInfo.cs b/SingleValueControl/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..aa09e38 --- /dev/null +++ b/SingleValueControl/Properties/AssemblyInfo.cs @@ -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("Test_ValueControl")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Test_ValueControl")] +[assembly: AssemblyCopyright("Copyright © 2022 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("65c7f0f6-b8ca-4c1d-9c68-ed98fc2d31a1")] + +// 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")] diff --git a/SingleValueControl/Properties/Resources.Designer.cs b/SingleValueControl/Properties/Resources.Designer.cs new file mode 100644 index 0000000..18e0a39 --- /dev/null +++ b/SingleValueControl/Properties/Resources.Designer.cs @@ -0,0 +1,83 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace Eugen.ESystem.Windows.Forms.Properties { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -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 /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.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() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Eugen.ESystem.Windows.Forms.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Pfeil_oben { + get { + object obj = ResourceManager.GetObject("Pfeil_oben", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Pfeil_unten { + get { + object obj = ResourceManager.GetObject("Pfeil_unten", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/SingleValueControl/Properties/Resources.resx b/SingleValueControl/Properties/Resources.resx new file mode 100644 index 0000000..b0fcd2c --- /dev/null +++ b/SingleValueControl/Properties/Resources.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\Pfeil_oben.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Pfeil_unten.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/SingleValueControl/Resources/Pfeil_oben.png b/SingleValueControl/Resources/Pfeil_oben.png new file mode 100644 index 0000000..b256203 Binary files /dev/null and b/SingleValueControl/Resources/Pfeil_oben.png differ diff --git a/SingleValueControl/Resources/Pfeil_unten.png b/SingleValueControl/Resources/Pfeil_unten.png new file mode 100644 index 0000000..10ec1a8 Binary files /dev/null and b/SingleValueControl/Resources/Pfeil_unten.png differ diff --git a/SingleValueControl/SaveXML.cs b/SingleValueControl/SaveXML.cs new file mode 100644 index 0000000..4164584 --- /dev/null +++ b/SingleValueControl/SaveXML.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml; +using System.Xml.Linq; +using System.Windows.Forms; +using AppRes = Eugen.ESystem.Windows.Forms.Properties.AppResources; + + +namespace Eugen.ESystem.Windows.Forms +{ + internal class SaveXML + { + public string FileName { get; set; } + public string Topic = ""; //z.B. "NX-Portal" + public string Group { get; set; } //z.B. "NX" + public string GroupStandard { get; set; } //z.B. "Standardversion" + public string Key { get; set; } //z.B. "Key" + public string[] Values { get; set; } //z.B. "NX 1953" + public int Standard { get; set; } //z.B. "2" + + public void Save() + { + //Namensraum definieren + XNamespace ns = "https://www.engelglobal.com/de/at/index.html"; + + //Wurzelelement erzeugen + XElement rootElement = new XElement(ns + Topic); + + //Namensraum als Attribut angeben + rootElement.Add(new XAttribute("xmlns", ns)); + + //Der Wert + for (int id = 0; id < Values.Length; id++) + { + XElement groupElement = new XElement(ns + Group); + groupElement.Add(new XAttribute("Id", id + 1)); + groupElement.Add(new XAttribute(Key, Values[id])); + if (Standard == id + 1) + { + groupElement.Add(new XAttribute("Standard", "yes")); + } + else + { + groupElement.Add(new XAttribute("Standard", "no")); + } + + rootElement.Add(groupElement); + } + + //XElement standardElement = new XElement(ns + GroupStandard); + //standardElement = new XElement(ns + GroupStandard); + //standardElement.Add(new XAttribute("Standard", Standard)); + //rootElement.Add(standardElement); + + rootElement.Save(FileName); + + MessageBox.Show(AppRes.msgBoxTxt003, AppRes.msgBoxCapt003, MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } +} diff --git a/SingleValueControl/SingleValueControl.Designer.cs b/SingleValueControl/SingleValueControl.Designer.cs new file mode 100644 index 0000000..2b5f4b2 --- /dev/null +++ b/SingleValueControl/SingleValueControl.Designer.cs @@ -0,0 +1,200 @@ +namespace Eugen.ESystem.Windows.Forms +{ + partial class SingleValueControl + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Komponenten-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SingleValueControl)); + this.groupBoxValueControl = new System.Windows.Forms.GroupBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.checkBoxEncryptValues = new System.Windows.Forms.CheckBox(); + this.checkBoxDefaultValue = new System.Windows.Forms.CheckBox(); + this.buttonDown = new System.Windows.Forms.Button(); + this.buttonUp = new System.Windows.Forms.Button(); + this.buttonSave = new System.Windows.Forms.Button(); + this.buttonLoad = new System.Windows.Forms.Button(); + this.dataGridViewValues = new System.Windows.Forms.DataGridView(); + this.ColumnValue = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.textBoxKey = new System.Windows.Forms.TextBox(); + this.labelKey = new System.Windows.Forms.Label(); + this.textBoxGroup = new System.Windows.Forms.TextBox(); + this.labelGroup = new System.Windows.Forms.Label(); + this.openFileDialog = new System.Windows.Forms.OpenFileDialog(); + this.saveFileDialog = new System.Windows.Forms.SaveFileDialog(); + this.groupBoxValueControl.SuspendLayout(); + this.panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridViewValues)).BeginInit(); + this.SuspendLayout(); + // + // groupBoxValueControl + // + resources.ApplyResources(this.groupBoxValueControl, "groupBoxValueControl"); + this.groupBoxValueControl.Controls.Add(this.panel1); + this.groupBoxValueControl.Controls.Add(this.buttonDown); + this.groupBoxValueControl.Controls.Add(this.buttonUp); + this.groupBoxValueControl.Controls.Add(this.buttonSave); + this.groupBoxValueControl.Controls.Add(this.buttonLoad); + this.groupBoxValueControl.Controls.Add(this.dataGridViewValues); + this.groupBoxValueControl.Controls.Add(this.textBoxKey); + this.groupBoxValueControl.Controls.Add(this.labelKey); + this.groupBoxValueControl.Controls.Add(this.textBoxGroup); + this.groupBoxValueControl.Controls.Add(this.labelGroup); + this.groupBoxValueControl.Name = "groupBoxValueControl"; + this.groupBoxValueControl.TabStop = false; + // + // panel1 + // + resources.ApplyResources(this.panel1, "panel1"); + this.panel1.Controls.Add(this.checkBoxEncryptValues); + this.panel1.Controls.Add(this.checkBoxDefaultValue); + this.panel1.Name = "panel1"; + // + // checkBoxEncryptValues + // + resources.ApplyResources(this.checkBoxEncryptValues, "checkBoxEncryptValues"); + this.checkBoxEncryptValues.Name = "checkBoxEncryptValues"; + this.checkBoxEncryptValues.UseVisualStyleBackColor = true; + // + // checkBoxDefaultValue + // + resources.ApplyResources(this.checkBoxDefaultValue, "checkBoxDefaultValue"); + this.checkBoxDefaultValue.Name = "checkBoxDefaultValue"; + this.checkBoxDefaultValue.UseVisualStyleBackColor = true; + this.checkBoxDefaultValue.CheckedChanged += new System.EventHandler(this.checkBoxDefaultValue_CheckedChanged); + // + // buttonDown + // + resources.ApplyResources(this.buttonDown, "buttonDown"); + this.buttonDown.BackgroundImage = global::Eugen.ESystem.Windows.Forms.Properties.Resources.Pfeil_unten; + this.buttonDown.Name = "buttonDown"; + this.buttonDown.UseVisualStyleBackColor = true; + this.buttonDown.Click += new System.EventHandler(this.buttonDown_Click); + // + // buttonUp + // + resources.ApplyResources(this.buttonUp, "buttonUp"); + this.buttonUp.BackgroundImage = global::Eugen.ESystem.Windows.Forms.Properties.Resources.Pfeil_oben; + this.buttonUp.Name = "buttonUp"; + this.buttonUp.UseVisualStyleBackColor = true; + this.buttonUp.Click += new System.EventHandler(this.buttonUp_Click); + // + // buttonSave + // + resources.ApplyResources(this.buttonSave, "buttonSave"); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.UseVisualStyleBackColor = true; + this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click); + // + // buttonLoad + // + resources.ApplyResources(this.buttonLoad, "buttonLoad"); + this.buttonLoad.Name = "buttonLoad"; + this.buttonLoad.UseVisualStyleBackColor = true; + this.buttonLoad.Click += new System.EventHandler(this.buttonLoad_Click); + // + // dataGridViewValues + // + this.dataGridViewValues.AllowUserToResizeColumns = false; + resources.ApplyResources(this.dataGridViewValues, "dataGridViewValues"); + this.dataGridViewValues.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridViewValues.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.ColumnValue}); + this.dataGridViewValues.Name = "dataGridViewValues"; + this.dataGridViewValues.RowEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridViewValues_RowEnter); + this.dataGridViewValues.RowsAdded += new System.Windows.Forms.DataGridViewRowsAddedEventHandler(this.dataGridViewValues_RowsAdded); + this.dataGridViewValues.RowsRemoved += new System.Windows.Forms.DataGridViewRowsRemovedEventHandler(this.dataGridViewValues_RowsRemoved); + this.dataGridViewValues.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridViewValues_KeyDown); + // + // ColumnValue + // + this.ColumnValue.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + resources.ApplyResources(this.ColumnValue, "ColumnValue"); + this.ColumnValue.Name = "ColumnValue"; + this.ColumnValue.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic; + // + // textBoxKey + // + resources.ApplyResources(this.textBoxKey, "textBoxKey"); + this.textBoxKey.Name = "textBoxKey"; + this.textBoxKey.TextChanged += new System.EventHandler(this.textBoxKey_TextChanged); + // + // labelKey + // + resources.ApplyResources(this.labelKey, "labelKey"); + this.labelKey.Name = "labelKey"; + // + // textBoxGroup + // + resources.ApplyResources(this.textBoxGroup, "textBoxGroup"); + this.textBoxGroup.Name = "textBoxGroup"; + this.textBoxGroup.TextChanged += new System.EventHandler(this.textBoxGroup_TextChanged); + // + // labelGroup + // + resources.ApplyResources(this.labelGroup, "labelGroup"); + this.labelGroup.Name = "labelGroup"; + // + // openFileDialog + // + this.openFileDialog.FileName = "openFileDialog"; + resources.ApplyResources(this.openFileDialog, "openFileDialog"); + // + // SingleValueControl + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBoxValueControl); + this.Name = "SingleValueControl"; + this.groupBoxValueControl.ResumeLayout(false); + this.groupBoxValueControl.PerformLayout(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridViewValues)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBoxValueControl; + private System.Windows.Forms.Button buttonSave; + private System.Windows.Forms.Button buttonLoad; + private System.Windows.Forms.CheckBox checkBoxEncryptValues; + private System.Windows.Forms.DataGridView dataGridViewValues; + private System.Windows.Forms.TextBox textBoxKey; + private System.Windows.Forms.Label labelKey; + private System.Windows.Forms.TextBox textBoxGroup; + private System.Windows.Forms.Label labelGroup; + private System.Windows.Forms.Button buttonDown; + private System.Windows.Forms.Button buttonUp; + private System.Windows.Forms.OpenFileDialog openFileDialog; + private System.Windows.Forms.SaveFileDialog saveFileDialog; + private System.Windows.Forms.CheckBox checkBoxDefaultValue; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.DataGridViewTextBoxColumn ColumnValue; + } +} diff --git a/SingleValueControl/SingleValueControl.cs b/SingleValueControl/SingleValueControl.cs new file mode 100644 index 0000000..60089b1 --- /dev/null +++ b/SingleValueControl/SingleValueControl.cs @@ -0,0 +1,640 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.IO; +using System.Reflection; +using AppRes = Eugen.ESystem.Windows.Forms.Properties.AppResources; +using System.Xml.Linq; + +namespace Eugen.ESystem.Windows.Forms +{ + public partial class SingleValueControl : UserControl + { + #region Version und Copyright + // Key und Copyright + static string dllName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen + static string dllVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); + static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); + static 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); + } + 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 ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace(startYear, String.Concat(startYear, "-", currentYear)); + } + } + #endregion + + #region DLL-Info + /// + /// Contains the name of the dll file. + /// + public static string DllName { private set; get; } + + /// + /// Contains the version of the dll file. + /// + public static string DllVersion { private set; get; } + + /// + /// Contains the copyright notice. + /// + public static string Copyright { private set; get; } + + /// + /// Contains the name-, version- and copyright-information of the dll file. + /// + public static string[] DllInfo { private set; get; } + + private static void SetDllInfo() + { + //Name, Key und Copyright setzen + DllName = dllName; + DllVersion = dllVersion; + Copyright = copyright; + } + #endregion + + static SingleValueControl() + { + SetDllInfo(); //Name, Key und Copyright der DLL setzen + } + + /// + /// Creates a control with which the values in an XML file can be edited + /// + public SingleValueControl() + { + InitializeComponent(); + InitialDirectory = @"C:\"; + Topic = "Topic"; + StandardValue = 0; + } + + #region Public values + /// + /// The password used for encryption. An empty value disables the Encrypt values switch + /// + public string Password + { + get { return password; } + set + { + password = value; + checkBoxEncryptValues.Enabled = !String.IsNullOrEmpty(Password); + } + } + + /// + /// Defines or read the initial directory + /// + public string InitialDirectory { set; get; } + + /// + /// XML file name. Must be specified mandatory + /// + public string XMLfileName { set; get; } + + /// + /// Adjusts the labeling of the values control. An empty value forces the default labeling + /// + public string ValueControlName + { + get { return groupBoxValueControl.Text; } + set + { + groupBoxValueControl.Text = value; + groupBoxValueControl.Refresh(); + } + } + + /// + /// Defines the Topic. An empty value forces the default labeling + /// + public string Topic { set; get; } + + /// + /// Adjusts the labeling of the group designation. An empty value forces the default labeling + /// + public string GroupName + { + get { return labelGroup.Text; } + set { labelGroup.Text = value; } + } + + /// + /// Adjusts the name of the group attribute used in the XML file. Required by the Load function + /// + public string Group { set; get; } + + /// + /// Adjusts the labeling of the key designation. An empty value forces the default labeling + /// + public string KeyName + { + get { return labelKey.Text; } + set { labelKey.Text = value; } + } + + /// + /// Adjusts the name of the key attribute used in the XML file. Required by the Load function + /// + public string Key { set; get; } + + /// + /// Adjusts the labeling of the table header designation. An empty value forces the default labeling + /// + public string TableHeaderName + { + get { return dataGridViewValues.Columns[0].HeaderText; } + set { dataGridViewValues.Columns[0].HeaderText = value; } + } + + /// + /// Adjusts the labeling of the encrypt value checkBox. An empty value forces the default labeling + /// + public string CheckBoxEncryptValueText + { + get { return checkBoxEncryptValues.Text; } + set + { + checkBoxEncryptValues.Text = value; + checkBoxEncryptValues.Enabled = !String.IsNullOrEmpty(Password); + } + } + + /// + /// Controls whether values are always encrypted. An empty value forces the default value (false) + /// + public bool AlwaysEncrypted + { + get { return alwaysEncrypted; } + set + { + alwaysEncrypted = value; + checkBoxEncryptValues.Enabled = !alwaysEncrypted; + checkBoxEncryptValues.Checked = alwaysEncrypted; + } + } + + /// + /// Adjusts the labeling of the default checkBox. An empty value forces the default labeling + /// + public string CheckBoxDefaultText + { + get { return checkBoxDefaultValue.Text; } + set + { + checkBoxDefaultValue.Text = value; + } + } + #endregion + + #region Private values + private string password; + private bool alwaysEncrypted = false; + private bool standardValueSet = false; + private int selectedRow = 0; + private int rowIndexColored = 0; + private int StandardValue { get; set; } + #endregion + + private void textBoxGroup_TextChanged(object sender, EventArgs e) + { + Group = textBoxGroup.Text; + + buttonSave.Enabled = (!String.IsNullOrEmpty(textBoxGroup.Text) & !String.IsNullOrEmpty(textBoxKey.Text)); + } + + private void textBoxKey_TextChanged(object sender, EventArgs e) + { + Key = textBoxKey.Text; + + buttonSave.Enabled = (!String.IsNullOrEmpty(textBoxGroup.Text) & !String.IsNullOrEmpty(textBoxKey.Text)); + } + + private void buttonUp_Click(object sender, EventArgs e) + { + if (dataGridViewValues.SelectedCells.Count > 0) + { + int index = dataGridViewValues.SelectedCells[0].OwningRow.Index; + + if (index > 0) + { + int col = dataGridViewValues.SelectedCells[0].OwningColumn.Index; + + DataGridViewRowCollection rows = dataGridViewValues.Rows; + DataGridViewRow row = rows[index]; + + rows.Remove(row); + rows.Insert(index - 1, row); + + dataGridViewValues.ClearSelection(); + + dataGridViewValues.Rows[index - 1].Cells[col].Selected = true; + } + } + } + + private void buttonDown_Click(object sender, EventArgs e) + { + if (dataGridViewValues.SelectedCells.Count > 0) + { + int index = dataGridViewValues.SelectedCells[0].OwningRow.Index; + + if (index < dataGridViewValues.Rows.Count - 2) + { + int col = dataGridViewValues.SelectedCells[0].OwningColumn.Index; + + DataGridViewRowCollection rows = dataGridViewValues.Rows; + DataGridViewRow row = rows[index]; + + rows.Remove(row); + rows.Insert(index + 1, row); + + dataGridViewValues.ClearSelection(); + + dataGridViewValues.Rows[index + 1].Cells[col].Selected = true; + } + } + } + + private void buttonLoad_Click(object sender, EventArgs e) + { + if (String.IsNullOrEmpty(XMLfileName)) + { + openFileDialog.Title = AppRes.dlgOpenTitle; + openFileDialog.InitialDirectory = InitialDirectory; + openFileDialog.FileName = ""; + openFileDialog.Filter = AppRes.dlgFilter; //"xml files (*.xml)|*.xml|All files (*.*)|*.*" + openFileDialog.FilterIndex = 1; + openFileDialog.RestoreDirectory = true; + + if (openFileDialog.ShowDialog() == DialogResult.OK) + { + XMLfileName = openFileDialog.FileName; + + LoadXML(); + } + } + else + { + if (File.Exists(XMLfileName)) + { + LoadXML(); + } + else + { + MessageBox.Show(AppRes.msgBoxTxt001, AppRes.msgBoxCapt001, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + } + } + + if (StandardValue != 0) + { + dataGridViewValues.Rows[StandardValue - 1].DefaultCellStyle.ForeColor = Color.LightSeaGreen; //Standardwert noch einmal markiere, weil die Markierung manchmal zurückgesetzt wird + } + + } + + private void buttonSave_Click(object sender, EventArgs e) + { + if (String.IsNullOrEmpty(XMLfileName)) + { + saveFileDialog.Title = AppRes.dlgSaveTitle; + saveFileDialog.InitialDirectory = InitialDirectory; + saveFileDialog.Filter = AppRes.dlgFilter; //"xml files (*.xml)|*.xml|All files (*.*)|*.*" + saveFileDialog.FilterIndex = 1; + saveFileDialog.RestoreDirectory = true; + + if (saveFileDialog.ShowDialog() == DialogResult.OK) + { + SaveXML(); + } + } + else + { + SaveXML(); + } + } + + private void dataGridViewValues_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) + { + if (dataGridViewValues.Rows.Count != 0) + { + checkBoxDefaultValue.Enabled = true; //Standardwert freischalten, sobald es einen Wert gibt + } + } + + private void dataGridViewValues_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Delete) + { + selectedRow = dataGridViewValues.SelectedCells[0].RowIndex + 1; //Wenn die Zeile gelöscht wird, dann die Zeilennummer merken + } + } + + private void dataGridViewValues_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e) + { + if (dataGridViewValues.Rows.Count <=1) + { + checkBoxDefaultValue.Enabled = false; + } + + //Wenn die gelöschte Zeile den Standardwert enthielt, dann die WErte zurücksetzten, weil es keinen Standardwert mehr gibt + if (selectedRow == rowIndexColored) + { + StandardValue = 0; //Es gibt keine ausgewählte Standardzeile + standardValueSet = false; //es gibt keinen Standardwert + + rowIndexColored = 0; //Es gibt keine umgefärbte Zeile + } + } + + private void checkBoxDefaultValue_CheckedChanged(object sender, EventArgs e) + { + if (checkBoxDefaultValue.Checked) + { + StandardValue = dataGridViewValues.SelectedCells[0].RowIndex + 1; //Zeile die als Standard ausgewählt wurde + standardValueSet = true; //Es gibt einen Standardwert + + if (rowIndexColored != 0) + { + dataGridViewValues.Rows[rowIndexColored - 1].DefaultCellStyle.ForeColor = Color.Empty; //Wenn schon eine Zelle umgefärbt war, dann diese zurücksetzten + } + dataGridViewValues.Rows[dataGridViewValues.SelectedCells[0].RowIndex].DefaultCellStyle.ForeColor = Color.LightSeaGreen; + + rowIndexColored = dataGridViewValues.SelectedCells[0].RowIndex + 1; //Die Zeile merken die umgefärbt wurde + } + else + { + if (standardValueSet & StandardValue == dataGridViewValues.SelectedCells[0].RowIndex + 1) + { + StandardValue = 0; //Es gibt keine ausgewählte Standardzeile + standardValueSet = false; //es gibt keinen Standardwert + dataGridViewValues.Rows[rowIndexColored - 1].DefaultCellStyle.ForeColor = Color.Empty; //Die ausgewählte Zelle umfärben + + rowIndexColored = 0; //Es gibt keine umgefärbte Zeile + } + } + } + + private void dataGridViewValues_RowEnter(object sender, DataGridViewCellEventArgs e) + { + SetStandard(); + } + + public void SetBasicValues() + { + if (!String.IsNullOrEmpty(Group)) + { + textBoxGroup.Text = Group; + } + + if (!String.IsNullOrEmpty(Key)) + { + textBoxKey.Text = Key; + } + + if (File.Exists(XMLfileName)) + { + if (!String.IsNullOrEmpty(Group) && !String.IsNullOrEmpty(Key)) + { + LoadXML(); + } + } + } + + private void SetStandard() + { + try + { + if (StandardValue == dataGridViewValues.SelectedCells[0].RowIndex + 1) + { + checkBoxDefaultValue.Checked = true; //Wenn die ausgewählte Zeile den Standardwert enthält, dann die CheckBox anwählen + dataGridViewValues.Rows[dataGridViewValues.SelectedCells[0].RowIndex].DefaultCellStyle.ForeColor = Color.LightSeaGreen; + } + else + { + checkBoxDefaultValue.Checked = false; //Wenn die ausgewählte Zeile keinen Standardwert enthält, dann die CheckBox abwählen + dataGridViewValues.Rows[rowIndexColored + 1].DefaultCellStyle.ForeColor = Color.Empty; + } + } + catch (Exception) + { + //Nur die falsche Reihe ausgewählt, z.B. die Kopfzeile + } + } + + private void LoadXML() + { + checkBoxEncryptValues.Checked = false; + + var loadXML = new LoadXML(); + loadXML.FileName = XMLfileName; + loadXML.Topic = Topic; + loadXML.Key = Key; + loadXML.Group = Group; + //loadXML.LoadAllValues = LoadXML.LoadAll.No; + + //Wenn es schon Einträge in der Liste gibt, dann diese leeren + if (dataGridViewValues.RowCount != 1) + { + DialogResult result = MessageBox.Show(AppRes.msgBoxTxt002, AppRes.msgBoxCapt002, MessageBoxButtons.YesNo, MessageBoxIcon.Question); + + if (result == DialogResult.No) + { + return; + } + + //Wenn es schon Werte gibt, dann diese löschen + dataGridViewValues.Rows.Clear(); + } + + loadXML.Load(); + string[] values = new string[loadXML.Values.Length]; + for (int i = 0; i < loadXML.Values.Length; i++) + { + values[i] = loadXML.Values[i]; + } + + for (int i = 0; i < values.Length; i++) + { + if (values[i].StartsWith("$$$$")) + { + values[i] = Decrypt(values[i], Password); + checkBoxEncryptValues.Checked = true; //Wenn ein verschlüsseltes Element gefunden wurde, dann setzen + } + + dataGridViewValues.Rows.Add(values[i]); //Werte in die Tabelle schreiben + + if (i == loadXML.Standard - 1) + { + StandardValue = loadXML.Standard; //Standardwert setzen + dataGridViewValues.Rows[i].DefaultCellStyle.ForeColor = Color.LightSeaGreen; + } + } + + dataGridViewValues.Refresh(); + + textBoxKey.Text = loadXML.Key; //Key setzen + textBoxGroup.Text = loadXML.Group; //Gruppe setzen + SetStandard(); + } + + private void SaveXML() + { + if (!Directory.Exists(Path.GetDirectoryName(XMLfileName))) + { + Directory.CreateDirectory(Path.GetDirectoryName(XMLfileName)); //Wenn das Verzeichnis nicht existiert, dann erzeugen + } + + int dgvLength = dataGridViewValues.RowCount - 1; + string value = ""; + string[] values = new string[dgvLength]; + + for (int i = 0; i < dgvLength; i++) + { + if (checkBoxEncryptValues.Checked) + { + value = Encrypt(dataGridViewValues[0, i].Value.ToString(), Password); //Verschlüsselt + } + else + { + value = dataGridViewValues[0, i].Value.ToString(); //Unverschlüsselt + } + + values[i] = value; + } + + //Speichern + var saveXML = new SaveXML(); + + saveXML.FileName = XMLfileName; + //saveXML.MultiGroupFile = SaveXML.multigroupFile.No; //'No' muss nicht zwingend angegeben werden, ist der Standardwert + saveXML.Topic = "NX-Portal"; //z.B. "NX-Portal" + saveXML.Group = textBoxGroup.Text; //z.B. "NX" + //saveXML.GroupStandard = String.Concat(Group, "-", textBoxKey.Text); //z.B. "NX-Key" + saveXML.Key = textBoxKey.Text; //z.B. "Key" + saveXML.Values = values; //z.B. "NX 1953" + saveXML.Standard = StandardValue; //z.B. "2" + + saveXML.Save(); + } + + private string Encrypt(string clearText, string password) + { + var crypt = new Cryption(); + return String.Concat("$$$$", crypt.EncryptString(clearText, password)); + } + + private string Decrypt(string encryptedText, string password) + { + var crypt = new Cryption(); + return crypt.DecryptString(encryptedText.Replace("$$$$", ""), password); + } + + /// + /// Sets a customer width of the user control + /// + /// The width. Min=316, Max=800 + public void SetDialogWidth(int width) + { + if (width >= this.MinimumSize.Width && width <= this.MaximumSize.Width) + { + this.Width = width; + } + } + + /// + /// Gets the values stored in the XML file + /// + /// An string array + public string[] GetValues() + { + checkBoxEncryptValues.Checked = false; + + var loadXML = new LoadXML(); + loadXML.FileName = XMLfileName; + loadXML.Topic = Topic; + loadXML.Key = Key; + loadXML.Group = Group; + loadXML.Load(); + + if (loadXML.Values == null) + { + return null; + } + else + { + string[] values = new string[loadXML.Values.Length]; + + for (int i = 0; i < loadXML.Values.Length; i++) + { + values[i] = loadXML.Values[i]; + } + + for (int i = 0; i < values.Length; i++) + { + if (values[i].StartsWith("$$$$")) + { + values[i] = Decrypt(values[i], Password); + } + } + + return values; + } + } + } +} diff --git a/SingleValueControl/SingleValueControl.csproj b/SingleValueControl/SingleValueControl.csproj new file mode 100644 index 0000000..936103b --- /dev/null +++ b/SingleValueControl/SingleValueControl.csproj @@ -0,0 +1,97 @@ + + + + + Debug + AnyCPU + {65C7F0F6-B8CA-4C1D-9C68-ED98FC2D31A1} + Library + Eugen.ESystem.Windows.Forms + hesvalcon + v4.7.2 + 512 + false + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + false + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + false + + + + ..\..\..\_DLL\Cryption.git\Cryption\bin\Debug\hecryption.dll + + + + + + + + + + + + + + + + True + True + AppResources.resx + + + True + True + Resources.resx + + + + UserControl + + + SingleValueControl.cs + + + + + + + + + ResXFileCodeGenerator + AppResources.Designer.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + + + SingleValueControl.cs + + + SingleValueControl.cs + + + + + + + + + + \ No newline at end of file diff --git a/SingleValueControl/SingleValueControl.de.resx b/SingleValueControl/SingleValueControl.de.resx new file mode 100644 index 0000000..2e1251c --- /dev/null +++ b/SingleValueControl/SingleValueControl.de.resx @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Speichern + + + Laden + + + + 76, 30 + + + Werte ver- +schlüsseln + + + 52, 13 + + + Schlüssel + + + 42, 13 + + + Gruppe + + + Werte Steuerung + + + Alle Werte + + \ No newline at end of file diff --git a/SingleValueControl/SingleValueControl.resx b/SingleValueControl/SingleValueControl.resx new file mode 100644 index 0000000..76fc628 --- /dev/null +++ b/SingleValueControl/SingleValueControl.resx @@ -0,0 +1,560 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + + Top, Bottom, Left, Right + + + Top, Right + + + + True + + + False + + + NoControl + + + + 0, 0 + + + 62, 30 + + + 6 + + + Encrypt +values + + + checkBoxEncryptValues + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 0 + + + True + + + False + + + NoControl + + + 0, 36 + + + 60, 30 + + + 11 + + + Default +Value + + + checkBoxDefaultValue + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 1 + + + 235, 125 + + + 75, 67 + + + 12 + + + panel1 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 0 + + + Top, Right + + + Zoom + + + NoControl + + + 235, 198 + + + 75, 23 + + + 10 + + + buttonDown + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 1 + + + Top, Right + + + Zoom + + + NoControl + + + 235, 96 + + + 75, 23 + + + 9 + + + buttonUp + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 2 + + + Top, Right + + + False + + + NoControl + + + 235, 43 + + + 75, 23 + + + 8 + + + Save + + + buttonSave + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 3 + + + Top, Right + + + NoControl + + + 235, 17 + + + 75, 23 + + + 7 + + + Load + + + buttonLoad + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 4 + + + Top, Bottom, Left, Right + + + True + + + All values + + + 177 + + + 6, 71 + + + 223, 150 + + + 4 + + + dataGridViewValues + + + System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 5 + + + Top, Left, Right + + + 110, 45 + + + 119, 20 + + + 3 + + + textBoxKey + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 6 + + + True + + + NoControl + + + 6, 48 + + + 25, 13 + + + 2 + + + Key + + + labelKey + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 7 + + + Top, Left, Right + + + 110, 19 + + + 120, 20 + + + 1 + + + textBoxGroup + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 8 + + + True + + + NoControl + + + 6, 22 + + + 36, 13 + + + 0 + + + Group + + + labelGroup + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 9 + + + NoControl + + + 0, 0 + + + 316, 227 + + + 0 + + + Value control + + + groupBoxValueControl + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + 17, 17 + + + Load XML file + + + 150, 17 + + + True + + + 6, 13 + + + 800, 227 + + + 316, 227 + + + 316, 227 + + + ColumnValue + + + System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + openFileDialog + + + System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + saveFileDialog + + + System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + SingleValueControl + + + System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/SingleValueControl/bin/Debug/de/hesvalcon.resources.dll b/SingleValueControl/bin/Debug/de/hesvalcon.resources.dll new file mode 100644 index 0000000..802de70 Binary files /dev/null and b/SingleValueControl/bin/Debug/de/hesvalcon.resources.dll differ diff --git a/SingleValueControl/bin/Debug/en/hesvalcon.resources.dll b/SingleValueControl/bin/Debug/en/hesvalcon.resources.dll new file mode 100644 index 0000000..0842fb2 Binary files /dev/null and b/SingleValueControl/bin/Debug/en/hesvalcon.resources.dll differ diff --git a/SingleValueControl/bin/Debug/hecryption.dll b/SingleValueControl/bin/Debug/hecryption.dll new file mode 100644 index 0000000..faed5dd Binary files /dev/null and b/SingleValueControl/bin/Debug/hecryption.dll differ diff --git a/SingleValueControl/bin/Debug/hecryption.pdb b/SingleValueControl/bin/Debug/hecryption.pdb new file mode 100644 index 0000000..7f8d97f Binary files /dev/null and b/SingleValueControl/bin/Debug/hecryption.pdb differ diff --git a/SingleValueControl/bin/Debug/hesvalcon.dll b/SingleValueControl/bin/Debug/hesvalcon.dll new file mode 100644 index 0000000..c2ca11b Binary files /dev/null and b/SingleValueControl/bin/Debug/hesvalcon.dll differ diff --git a/SingleValueControl/bin/Debug/hesvalcon.pdb b/SingleValueControl/bin/Debug/hesvalcon.pdb new file mode 100644 index 0000000..ea1528d Binary files /dev/null and b/SingleValueControl/bin/Debug/hesvalcon.pdb differ diff --git a/SingleValueControl/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/SingleValueControl/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/SingleValueControl/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/SingleValueControl/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/SingleValueControl/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..83e6107 Binary files /dev/null and b/SingleValueControl/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/SingleValueControl/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SingleValueControl/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..1ae2a9a Binary files /dev/null and b/SingleValueControl/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.de.resources b/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.de.resources new file mode 100644 index 0000000..fc44146 Binary files /dev/null and b/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.de.resources differ diff --git a/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.en.resources b/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.en.resources new file mode 100644 index 0000000..9bb473c Binary files /dev/null and b/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.en.resources differ diff --git a/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.resources b/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.resources new file mode 100644 index 0000000..9bb473c Binary files /dev/null and b/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.resources differ diff --git a/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.Resources.resources b/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.Resources.resources new file mode 100644 index 0000000..583c69e Binary files /dev/null and b/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.Resources.resources differ diff --git a/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.SingleValueControl.de.resources b/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.SingleValueControl.de.resources new file mode 100644 index 0000000..cb53357 Binary files /dev/null and b/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.SingleValueControl.de.resources differ diff --git a/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.SingleValueControl.resources b/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.SingleValueControl.resources new file mode 100644 index 0000000..c31cc84 Binary files /dev/null and b/SingleValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.SingleValueControl.resources differ diff --git a/SingleValueControl/obj/Debug/SingleValueControl.csproj.AssemblyReference.cache b/SingleValueControl/obj/Debug/SingleValueControl.csproj.AssemblyReference.cache new file mode 100644 index 0000000..642a4eb Binary files /dev/null and b/SingleValueControl/obj/Debug/SingleValueControl.csproj.AssemblyReference.cache differ diff --git a/SingleValueControl/obj/Debug/SingleValueControl.csproj.CopyComplete b/SingleValueControl/obj/Debug/SingleValueControl.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/SingleValueControl/obj/Debug/SingleValueControl.csproj.CoreCompileInputs.cache b/SingleValueControl/obj/Debug/SingleValueControl.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..efc2015 --- /dev/null +++ b/SingleValueControl/obj/Debug/SingleValueControl.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +d7182e7066f22143a2c1787d86bc55c044ad9df2 diff --git a/SingleValueControl/obj/Debug/SingleValueControl.csproj.FileListAbsolute.txt b/SingleValueControl/obj/Debug/SingleValueControl.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..6ed9302 --- /dev/null +++ b/SingleValueControl/obj/Debug/SingleValueControl.csproj.FileListAbsolute.txt @@ -0,0 +1,20 @@ +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\bin\Debug\hesvalcon.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\bin\Debug\hesvalcon.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\bin\Debug\de\hesvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\bin\Debug\en\hesvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\bin\Debug\hecryption.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\bin\Debug\hecryption.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\SingleValueControl.csproj.AssemblyReference.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\Eugen.ESystem.Windows.Forms.Properties.AppResources.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\Eugen.ESystem.Windows.Forms.Properties.Resources.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\Eugen.ESystem.Windows.Forms.SingleValueControl.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\Eugen.ESystem.Windows.Forms.Properties.AppResources.de.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\Eugen.ESystem.Windows.Forms.Properties.AppResources.en.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\Eugen.ESystem.Windows.Forms.SingleValueControl.de.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\SingleValueControl.csproj.GenerateResource.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\SingleValueControl.csproj.CoreCompileInputs.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\de\hesvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\en\hesvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\SingleValueControl.csproj.CopyComplete +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\hesvalcon.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\SingleValueControl.git\SingleValueControl\obj\Debug\hesvalcon.pdb diff --git a/SingleValueControl/obj/Debug/SingleValueControl.csproj.GenerateResource.cache b/SingleValueControl/obj/Debug/SingleValueControl.csproj.GenerateResource.cache new file mode 100644 index 0000000..7491d7b Binary files /dev/null and b/SingleValueControl/obj/Debug/SingleValueControl.csproj.GenerateResource.cache differ diff --git a/SingleValueControl/obj/Debug/TempPE/Properties.AppResources.Designer.cs.dll b/SingleValueControl/obj/Debug/TempPE/Properties.AppResources.Designer.cs.dll new file mode 100644 index 0000000..a3f8b69 Binary files /dev/null and b/SingleValueControl/obj/Debug/TempPE/Properties.AppResources.Designer.cs.dll differ diff --git a/SingleValueControl/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/SingleValueControl/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll new file mode 100644 index 0000000..f844a70 Binary files /dev/null and b/SingleValueControl/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/SingleValueControl/obj/Debug/_IsIncrementalBuild b/SingleValueControl/obj/Debug/_IsIncrementalBuild new file mode 100644 index 0000000..e5f828c --- /dev/null +++ b/SingleValueControl/obj/Debug/_IsIncrementalBuild @@ -0,0 +1 @@ +obj\Debug\\_IsIncrementalBuild diff --git a/SingleValueControl/obj/Debug/de/hesvalcon.resources.dll b/SingleValueControl/obj/Debug/de/hesvalcon.resources.dll new file mode 100644 index 0000000..802de70 Binary files /dev/null and b/SingleValueControl/obj/Debug/de/hesvalcon.resources.dll differ diff --git a/SingleValueControl/obj/Debug/en/hesvalcon.resources.dll b/SingleValueControl/obj/Debug/en/hesvalcon.resources.dll new file mode 100644 index 0000000..0842fb2 Binary files /dev/null and b/SingleValueControl/obj/Debug/en/hesvalcon.resources.dll differ diff --git a/SingleValueControl/obj/Debug/hesvalcon.dll b/SingleValueControl/obj/Debug/hesvalcon.dll new file mode 100644 index 0000000..c2ca11b Binary files /dev/null and b/SingleValueControl/obj/Debug/hesvalcon.dll differ diff --git a/SingleValueControl/obj/Debug/hesvalcon.pdb b/SingleValueControl/obj/Debug/hesvalcon.pdb new file mode 100644 index 0000000..ea1528d Binary files /dev/null and b/SingleValueControl/obj/Debug/hesvalcon.pdb differ