commit 3781d720ec002178b808a12bdba18ca486b31c43 Author: Eugen Höglinger Date: Tue Oct 25 12:04:53 2022 +0200 Initialized - User Control zum Bearbeiten von Wertepaaren - Daten können als XML Datei gespeichert werden - Daten können von XML Datei gelesen werden diff --git a/.vs/DuoValueControl/FileContentIndex/110eec67-286c-4897-ad92-7479e33d648b.vsidx b/.vs/DuoValueControl/FileContentIndex/110eec67-286c-4897-ad92-7479e33d648b.vsidx new file mode 100644 index 0000000..00afb51 Binary files /dev/null and b/.vs/DuoValueControl/FileContentIndex/110eec67-286c-4897-ad92-7479e33d648b.vsidx differ diff --git a/.vs/DuoValueControl/FileContentIndex/7f4dafbb-600b-48f7-aa33-8b9d1b189c9c.vsidx b/.vs/DuoValueControl/FileContentIndex/7f4dafbb-600b-48f7-aa33-8b9d1b189c9c.vsidx new file mode 100644 index 0000000..9addcb3 Binary files /dev/null and b/.vs/DuoValueControl/FileContentIndex/7f4dafbb-600b-48f7-aa33-8b9d1b189c9c.vsidx differ diff --git a/.vs/DuoValueControl/FileContentIndex/c1129b92-afa9-4830-b1c2-355d36ff7dd2.vsidx b/.vs/DuoValueControl/FileContentIndex/c1129b92-afa9-4830-b1c2-355d36ff7dd2.vsidx new file mode 100644 index 0000000..b9790c2 Binary files /dev/null and b/.vs/DuoValueControl/FileContentIndex/c1129b92-afa9-4830-b1c2-355d36ff7dd2.vsidx differ diff --git a/.vs/DuoValueControl/FileContentIndex/d7e326f4-675b-49cd-b8eb-5548021560a3.vsidx b/.vs/DuoValueControl/FileContentIndex/d7e326f4-675b-49cd-b8eb-5548021560a3.vsidx new file mode 100644 index 0000000..2e69ce2 Binary files /dev/null and b/.vs/DuoValueControl/FileContentIndex/d7e326f4-675b-49cd-b8eb-5548021560a3.vsidx differ diff --git a/.vs/DuoValueControl/FileContentIndex/read.lock b/.vs/DuoValueControl/FileContentIndex/read.lock new file mode 100644 index 0000000..e69de29 diff --git a/.vs/DuoValueControl/v17/.suo b/.vs/DuoValueControl/v17/.suo new file mode 100644 index 0000000..ab56061 Binary files /dev/null and b/.vs/DuoValueControl/v17/.suo differ diff --git a/.vs/SingleValueControl/FileContentIndex/3be0bc25-6be9-4919-aa5e-762590ff11a0.vsidx b/.vs/SingleValueControl/FileContentIndex/3be0bc25-6be9-4919-aa5e-762590ff11a0.vsidx new file mode 100644 index 0000000..dd949fc Binary files /dev/null and b/.vs/SingleValueControl/FileContentIndex/3be0bc25-6be9-4919-aa5e-762590ff11a0.vsidx differ diff --git a/.vs/SingleValueControl/FileContentIndex/449be932-535d-4ed9-8c22-1c8536dc52ca.vsidx b/.vs/SingleValueControl/FileContentIndex/449be932-535d-4ed9-8c22-1c8536dc52ca.vsidx new file mode 100644 index 0000000..ac6caef Binary files /dev/null and b/.vs/SingleValueControl/FileContentIndex/449be932-535d-4ed9-8c22-1c8536dc52ca.vsidx differ diff --git a/.vs/SingleValueControl/FileContentIndex/97f4f242-4c79-426c-a898-19aa9b7fda36.vsidx b/.vs/SingleValueControl/FileContentIndex/97f4f242-4c79-426c-a898-19aa9b7fda36.vsidx new file mode 100644 index 0000000..7295e46 Binary files /dev/null and b/.vs/SingleValueControl/FileContentIndex/97f4f242-4c79-426c-a898-19aa9b7fda36.vsidx differ diff --git a/.vs/SingleValueControl/FileContentIndex/d2785594-159d-4a90-b3ad-6dfcfdd54255.vsidx b/.vs/SingleValueControl/FileContentIndex/d2785594-159d-4a90-b3ad-6dfcfdd54255.vsidx new file mode 100644 index 0000000..b81bc04 Binary files /dev/null and b/.vs/SingleValueControl/FileContentIndex/d2785594-159d-4a90-b3ad-6dfcfdd54255.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..737ea4c 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/Test1.xml b/Daten/Test1.xml new file mode 100644 index 0000000..4d7b4c8 --- /dev/null +++ b/Daten/Test1.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/DuoValueControl.sln b/DuoValueControl.sln new file mode 100644 index 0000000..a016c41 --- /dev/null +++ b/DuoValueControl.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}") = "DuoValueControl", "DuoValueControl\DuoValueControl.csproj", "{65C7F0F6-B8CA-4C1D-9C68-ED98FC2D31A1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HE-DuoValueControl", "HE-Test_Dll\HE-Test_DuoValueControl.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/DuoValueControl/DuoValueControl.Designer.cs b/DuoValueControl/DuoValueControl.Designer.cs new file mode 100644 index 0000000..fe04cab --- /dev/null +++ b/DuoValueControl/DuoValueControl.Designer.cs @@ -0,0 +1,178 @@ +namespace Eugen.ESystem.Windows.Forms +{ + partial class DuoValueControl + { + /// + /// 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(DuoValueControl)); + this.groupBoxValueControl = new System.Windows.Forms.GroupBox(); + 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.checkBoxEncryptValues = new System.Windows.Forms.CheckBox(); + this.dataGridViewValues = new System.Windows.Forms.DataGridView(); + 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.ColumnName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.ColumnValue = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.panel1 = new System.Windows.Forms.Panel(); + this.groupBoxValueControl.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridViewValues)).BeginInit(); + this.panel1.SuspendLayout(); + 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.textBoxGroup); + this.groupBoxValueControl.Controls.Add(this.labelGroup); + this.groupBoxValueControl.Name = "groupBoxValueControl"; + this.groupBoxValueControl.TabStop = false; + // + // 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); + // + // checkBoxEncryptValues + // + resources.ApplyResources(this.checkBoxEncryptValues, "checkBoxEncryptValues"); + this.checkBoxEncryptValues.Name = "checkBoxEncryptValues"; + this.checkBoxEncryptValues.UseVisualStyleBackColor = true; + // + // dataGridViewValues + // + resources.ApplyResources(this.dataGridViewValues, "dataGridViewValues"); + this.dataGridViewValues.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridViewValues.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.ColumnName, + this.ColumnValue}); + this.dataGridViewValues.Name = "dataGridViewValues"; + this.dataGridViewValues.RowsRemoved += new System.Windows.Forms.DataGridViewRowsRemovedEventHandler(this.dataGridViewValues_RowsRemoved); + this.dataGridViewValues.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridViewValues_KeyDown); + // + // 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"); + // + // ColumnName + // + resources.ApplyResources(this.ColumnName, "ColumnName"); + this.ColumnName.Name = "ColumnName"; + this.ColumnName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic; + // + // ColumnValue + // + this.ColumnValue.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + resources.ApplyResources(this.ColumnValue, "ColumnValue"); + this.ColumnValue.Name = "ColumnValue"; + // + // panel1 + // + resources.ApplyResources(this.panel1, "panel1"); + this.panel1.Controls.Add(this.checkBoxEncryptValues); + this.panel1.Name = "panel1"; + // + // DuoValueControl + // + resources.ApplyResources(this, "$this"); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBoxValueControl); + this.Name = "DuoValueControl"; + this.groupBoxValueControl.ResumeLayout(false); + this.groupBoxValueControl.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridViewValues)).EndInit(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + 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 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.DataGridViewTextBoxColumn ColumnName; + private System.Windows.Forms.DataGridViewTextBoxColumn ColumnValue; + private System.Windows.Forms.Panel panel1; + } +} diff --git a/DuoValueControl/DuoValueControl.cs b/DuoValueControl/DuoValueControl.cs new file mode 100644 index 0000000..3201308 --- /dev/null +++ b/DuoValueControl/DuoValueControl.cs @@ -0,0 +1,467 @@ +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 DuoValueControl : UserControl + { + #region Version und Copyright + // Keys 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, Keys und Copyright setzen + DllName = dllName; + DllVersion = dllVersion; + Copyright = copyright; + } + #endregion + + static DuoValueControl() + { + SetDllInfo(); //Name, Keys und Copyright der DLL setzen + } + + /// + /// Creates a control with which the values in an XML file can be edited + /// + public DuoValueControl() + { + 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 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 for the key. An empty value forces the default labeling + /// + public string TableKeyName + { + get { return dataGridViewValues.Columns[0].HeaderText; } + set { dataGridViewValues.Columns[0].HeaderText = value; } + } + + /// + /// Adjusts the labeling of the table header designation for the value. An empty value forces the default labeling + /// + public string TableValueName + { + get { return dataGridViewValues.Columns[1].HeaderText; } + set { dataGridViewValues.Columns[1].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; + } + } + #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)); + } + + 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); + } + } + } + + 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_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) + { + //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 + } + } + + public void SetBasicValues() + { + if (!String.IsNullOrEmpty(Group)) + { + textBoxGroup.Text = Group; + } + } + + private void LoadXML() + { + checkBoxEncryptValues.Checked = false; + + var loadXML = new LoadXML(); + loadXML.FileName = XMLfileName; + loadXML.Load(); + string[] values = new string[loadXML.Values.Length]; + values = loadXML.Values; + + 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(loadXML.Keys[i], values[i]); + } + + dataGridViewValues.Refresh(); + + textBoxGroup.Text = loadXML.Group; //Gruppe setzen + } + + 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[] keys = new string[dgvLength]; + string value = ""; + string[] values = new string[dgvLength]; + + for (int i = 0; i < dgvLength; i++) + { + if (checkBoxEncryptValues.Checked) + { + value = Encrypt(dataGridViewValues[1, i].Value.ToString(), Password); //Verschlüsselt + } + else + { + value = dataGridViewValues[1, i].Value.ToString(); //Unverschlüsselt + } + + keys[i] = dataGridViewValues[0, i].Value.ToString(); ; + values[i] = value; + } + + //Speichern + var saveXML = new SaveXML(); + + saveXML.FileName = XMLfileName; + saveXML.Topic = "NX-Portal"; //z.B. "NX-Portal" + saveXML.Group = textBoxGroup.Text; //z.B. "NX 1953" + saveXML.Keys = keys; //z.B. "UGII_ENV" + saveXML.Values = values; //z.B. "M:\ug\NX1953_NXTC\global\00_DEFAULTS\UGII\ugii_env.dat" + + 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); + } + + public void SetDialogWidth(int width) + { + if (width >= this.MinimumSize.Width && width <= this.MaximumSize.Width) + { + this.Width = width; + + int dif = width - 316; + + if (dif > 0) + { + dataGridViewValues.Columns[0].Width += dif / 2; + } + } + } + } +} diff --git a/DuoValueControl/DuoValueControl.csproj b/DuoValueControl/DuoValueControl.csproj new file mode 100644 index 0000000..1a542a3 --- /dev/null +++ b/DuoValueControl/DuoValueControl.csproj @@ -0,0 +1,97 @@ + + + + + Debug + AnyCPU + {65C7F0F6-B8CA-4C1D-9C68-ED98FC2D31A1} + Library + Eugen.ESystem.Windows.Forms + hedvalcon + 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 + + + DuoValueControl.cs + + + + + + + + + ResXFileCodeGenerator + AppResources.Designer.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + + + DuoValueControl.cs + + + DuoValueControl.cs + + + + + + + + + + \ No newline at end of file diff --git a/DuoValueControl/DuoValueControl.de.resx b/DuoValueControl/DuoValueControl.de.resx new file mode 100644 index 0000000..2e1251c --- /dev/null +++ b/DuoValueControl/DuoValueControl.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/DuoValueControl/DuoValueControl.resx b/DuoValueControl/DuoValueControl.resx new file mode 100644 index 0000000..55447e0 --- /dev/null +++ b/DuoValueControl/DuoValueControl.resx @@ -0,0 +1,490 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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, 17 + + + 62, 30 + + + 6 + + + Encrypt +values + + + checkBoxEncryptValues + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel1 + + + 0 + + + 235, 125 + + + 75, 66 + + + 11 + + + panel1 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 0 + + + Top, Right + + + Zoom + + + NoControl + + + 235, 197 + + + 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 + + + Variable Name + + + 90 + + + 90 + + + True + + + Variable Value + + + 90 + + + 6, 45 + + + 223, 176 + + + 4 + + + dataGridViewValues + + + System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 5 + + + Top, Left, Right + + + 70, 19 + + + 159, 20 + + + 1 + + + textBoxGroup + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBoxValueControl + + + 6 + + + 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 + + + 7 + + + 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 + + + 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 + + + ColumnName + + + System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ColumnValue + + + System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + DuoValueControl + + + 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/DuoValueControl/LoadXML.cs b/DuoValueControl/LoadXML.cs new file mode 100644 index 0000000..db55549 --- /dev/null +++ b/DuoValueControl/LoadXML.cs @@ -0,0 +1,82 @@ +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 1953" + public string[] Keys { get; set; } //z.B. "UGII_ENV" + public string[] Values { get; set; } //z.B. "M:\ug\NX1953_NXTC\global\00_DEFAULTS\UGII\ugii_env.dat" + + public void Load() + { + // 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(); + + int i = 0; + string[] temp = new string[5]; + List lkeys = new List(); + List lvalues = new List(); + + foreach (var groupElement in groupElements) + { + temp = groupElement.ToString().Split(' '); + + Group = ExtractGroup(temp); + lkeys.Add(ExtractKey(temp)); + lvalues.Add(ExtractValue(temp)); + + i++; + } + + string[] keys = new string[lkeys.Count]; + string[] values = new string[lvalues.Count]; + + for (int j = 0; j < lkeys.Count; j++) + { + keys[j] = lkeys[j]; + values[j] = lvalues[j]; + } + + Keys = keys; + Values = values; + } + + private string ExtractGroup(string[] temp) + { + return temp[0].Remove(0, 1); + } + + private string ExtractKey(string[] temp) + { + return temp[1].Remove(temp[1].IndexOf("=")); + } + + private string ExtractValue(string[] temp) + { + return temp[1].Remove(0, temp[1].IndexOf("=") + 1).Replace("\"", ""); + } + } + + class Topics + { + public string Key; + public string Value; + } +} diff --git a/DuoValueControl/LoadXML.cs_old b/DuoValueControl/LoadXML.cs_old new file mode 100644 index 0000000..968ec2b --- /dev/null +++ b/DuoValueControl/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/DuoValueControl/Properties/AppResources.Designer.cs b/DuoValueControl/Properties/AppResources.Designer.cs new file mode 100644 index 0000000..c67ec92 --- /dev/null +++ b/DuoValueControl/Properties/AppResources.Designer.cs @@ -0,0 +1,108 @@ +//------------------------------------------------------------------------------ +// +// 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 File not found! ähnelt. + /// + internal static string msgBoxTxt001 { + get { + return ResourceManager.GetString("msgBoxTxt001", resourceCulture); + } + } + } +} diff --git a/DuoValueControl/Properties/AppResources.de.resx b/DuoValueControl/Properties/AppResources.de.resx new file mode 100644 index 0000000..542c7e5 --- /dev/null +++ b/DuoValueControl/Properties/AppResources.de.resx @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Datei wurde nicht gefunden! + + \ No newline at end of file diff --git a/DuoValueControl/Properties/AppResources.en.resx b/DuoValueControl/Properties/AppResources.en.resx new file mode 100644 index 0000000..b326915 --- /dev/null +++ b/DuoValueControl/Properties/AppResources.en.resx @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + File not found! + + \ No newline at end of file diff --git a/DuoValueControl/Properties/AppResources.resx b/DuoValueControl/Properties/AppResources.resx new file mode 100644 index 0000000..b326915 --- /dev/null +++ b/DuoValueControl/Properties/AppResources.resx @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + File not found! + + \ No newline at end of file diff --git a/DuoValueControl/Properties/AssemblyInfo.cs b/DuoValueControl/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..aa09e38 --- /dev/null +++ b/DuoValueControl/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/DuoValueControl/Properties/Resources.Designer.cs b/DuoValueControl/Properties/Resources.Designer.cs new file mode 100644 index 0000000..18e0a39 --- /dev/null +++ b/DuoValueControl/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/DuoValueControl/Properties/Resources.resx b/DuoValueControl/Properties/Resources.resx new file mode 100644 index 0000000..b0fcd2c --- /dev/null +++ b/DuoValueControl/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/DuoValueControl/Resources/Pfeil_oben.png b/DuoValueControl/Resources/Pfeil_oben.png new file mode 100644 index 0000000..b256203 Binary files /dev/null and b/DuoValueControl/Resources/Pfeil_oben.png differ diff --git a/DuoValueControl/Resources/Pfeil_unten.png b/DuoValueControl/Resources/Pfeil_unten.png new file mode 100644 index 0000000..10ec1a8 Binary files /dev/null and b/DuoValueControl/Resources/Pfeil_unten.png differ diff --git a/DuoValueControl/SaveXML.cs b/DuoValueControl/SaveXML.cs new file mode 100644 index 0000000..35e7d43 --- /dev/null +++ b/DuoValueControl/SaveXML.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml; +using System.Xml.Linq; + + +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 1953" + public string[] Keys { get; set; } //z.B. "UGII_ENV" + public string[] Values { get; set; } //z.B. "M:\ug\NX1953_NXTC\global\00_DEFAULTS\UGII\ugii_env.dat" + + 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 i = 0; i < Values.Length; i++) + { + XElement groupElement = new XElement(ns + Group.Replace(" ", "_")); + groupElement.Add(new XAttribute(Keys[i], Values[i])); + + rootElement.Add(groupElement); + } + + rootElement.Save(FileName); + } + } +} diff --git a/DuoValueControl/bin/Debug/de/hedvalcon.resources.dll b/DuoValueControl/bin/Debug/de/hedvalcon.resources.dll new file mode 100644 index 0000000..9a96b06 Binary files /dev/null and b/DuoValueControl/bin/Debug/de/hedvalcon.resources.dll differ diff --git a/DuoValueControl/bin/Debug/en/hedvalcon.resources.dll b/DuoValueControl/bin/Debug/en/hedvalcon.resources.dll new file mode 100644 index 0000000..d504ba3 Binary files /dev/null and b/DuoValueControl/bin/Debug/en/hedvalcon.resources.dll differ diff --git a/DuoValueControl/bin/Debug/hecryption.dll b/DuoValueControl/bin/Debug/hecryption.dll new file mode 100644 index 0000000..faed5dd Binary files /dev/null and b/DuoValueControl/bin/Debug/hecryption.dll differ diff --git a/DuoValueControl/bin/Debug/hecryption.pdb b/DuoValueControl/bin/Debug/hecryption.pdb new file mode 100644 index 0000000..7f8d97f Binary files /dev/null and b/DuoValueControl/bin/Debug/hecryption.pdb differ diff --git a/DuoValueControl/bin/Debug/hedvalcon.dll b/DuoValueControl/bin/Debug/hedvalcon.dll new file mode 100644 index 0000000..e72eaee Binary files /dev/null and b/DuoValueControl/bin/Debug/hedvalcon.dll differ diff --git a/DuoValueControl/bin/Debug/hedvalcon.pdb b/DuoValueControl/bin/Debug/hedvalcon.pdb new file mode 100644 index 0000000..9d90ffe Binary files /dev/null and b/DuoValueControl/bin/Debug/hedvalcon.pdb differ diff --git a/DuoValueControl/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs b/DuoValueControl/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs new file mode 100644 index 0000000..3871b18 --- /dev/null +++ b/DuoValueControl/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/DuoValueControl/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/DuoValueControl/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..83e6107 Binary files /dev/null and b/DuoValueControl/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/DuoValueControl/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/DuoValueControl/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..480fa5b Binary files /dev/null and b/DuoValueControl/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/DuoValueControl/obj/Debug/DuoValueControl.csproj.AssemblyReference.cache b/DuoValueControl/obj/Debug/DuoValueControl.csproj.AssemblyReference.cache new file mode 100644 index 0000000..642a4eb Binary files /dev/null and b/DuoValueControl/obj/Debug/DuoValueControl.csproj.AssemblyReference.cache differ diff --git a/DuoValueControl/obj/Debug/DuoValueControl.csproj.CopyComplete b/DuoValueControl/obj/Debug/DuoValueControl.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/DuoValueControl/obj/Debug/DuoValueControl.csproj.CoreCompileInputs.cache b/DuoValueControl/obj/Debug/DuoValueControl.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..0f3aa96 --- /dev/null +++ b/DuoValueControl/obj/Debug/DuoValueControl.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +f98637f81ad1c128053642123ded72839831deee diff --git a/DuoValueControl/obj/Debug/DuoValueControl.csproj.FileListAbsolute.txt b/DuoValueControl/obj/Debug/DuoValueControl.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..fcf0cdd --- /dev/null +++ b/DuoValueControl/obj/Debug/DuoValueControl.csproj.FileListAbsolute.txt @@ -0,0 +1,20 @@ +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\DuoValueControl.csproj.AssemblyReference.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\Eugen.ESystem.Windows.Forms.Properties.AppResources.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\Eugen.ESystem.Windows.Forms.Properties.Resources.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\Eugen.ESystem.Windows.Forms.DuoValueControl.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\Eugen.ESystem.Windows.Forms.Properties.AppResources.de.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\Eugen.ESystem.Windows.Forms.Properties.AppResources.en.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\Eugen.ESystem.Windows.Forms.DuoValueControl.de.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\DuoValueControl.csproj.GenerateResource.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\DuoValueControl.csproj.CoreCompileInputs.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\bin\Debug\hedvalcon.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\bin\Debug\hedvalcon.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\bin\Debug\de\hedvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\bin\Debug\en\hedvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\bin\Debug\hecryption.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\bin\Debug\hecryption.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\de\hedvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\en\hedvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\DuoValueControl.csproj.CopyComplete +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\hedvalcon.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\DuoValueControl\obj\Debug\hedvalcon.pdb diff --git a/DuoValueControl/obj/Debug/DuoValueControl.csproj.GenerateResource.cache b/DuoValueControl/obj/Debug/DuoValueControl.csproj.GenerateResource.cache new file mode 100644 index 0000000..3a53c82 Binary files /dev/null and b/DuoValueControl/obj/Debug/DuoValueControl.csproj.GenerateResource.cache differ diff --git a/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.DuoValueControl.de.resources b/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.DuoValueControl.de.resources new file mode 100644 index 0000000..cb53357 Binary files /dev/null and b/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.DuoValueControl.de.resources differ diff --git a/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.DuoValueControl.resources b/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.DuoValueControl.resources new file mode 100644 index 0000000..6be0009 Binary files /dev/null and b/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.DuoValueControl.resources differ diff --git a/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.de.resources b/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.de.resources new file mode 100644 index 0000000..43b39a2 Binary files /dev/null and b/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.de.resources differ diff --git a/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.en.resources b/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.en.resources new file mode 100644 index 0000000..f06fe37 Binary files /dev/null and b/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.en.resources differ diff --git a/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.resources b/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.resources new file mode 100644 index 0000000..f06fe37 Binary files /dev/null and b/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.AppResources.resources differ diff --git a/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.Resources.resources b/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.Resources.resources new file mode 100644 index 0000000..583c69e Binary files /dev/null and b/DuoValueControl/obj/Debug/Eugen.ESystem.Windows.Forms.Properties.Resources.resources differ diff --git a/DuoValueControl/obj/Debug/TempPE/Properties.AppResources.Designer.cs.dll b/DuoValueControl/obj/Debug/TempPE/Properties.AppResources.Designer.cs.dll new file mode 100644 index 0000000..bd57d5b Binary files /dev/null and b/DuoValueControl/obj/Debug/TempPE/Properties.AppResources.Designer.cs.dll differ diff --git a/DuoValueControl/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/DuoValueControl/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll new file mode 100644 index 0000000..99e6035 Binary files /dev/null and b/DuoValueControl/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/DuoValueControl/obj/Debug/_IsIncrementalBuild b/DuoValueControl/obj/Debug/_IsIncrementalBuild new file mode 100644 index 0000000..e5f828c --- /dev/null +++ b/DuoValueControl/obj/Debug/_IsIncrementalBuild @@ -0,0 +1 @@ +obj\Debug\\_IsIncrementalBuild diff --git a/DuoValueControl/obj/Debug/de/hedvalcon.resources.dll b/DuoValueControl/obj/Debug/de/hedvalcon.resources.dll new file mode 100644 index 0000000..9a96b06 Binary files /dev/null and b/DuoValueControl/obj/Debug/de/hedvalcon.resources.dll differ diff --git a/DuoValueControl/obj/Debug/en/hedvalcon.resources.dll b/DuoValueControl/obj/Debug/en/hedvalcon.resources.dll new file mode 100644 index 0000000..d504ba3 Binary files /dev/null and b/DuoValueControl/obj/Debug/en/hedvalcon.resources.dll differ diff --git a/DuoValueControl/obj/Debug/hedvalcon.dll b/DuoValueControl/obj/Debug/hedvalcon.dll new file mode 100644 index 0000000..e72eaee Binary files /dev/null and b/DuoValueControl/obj/Debug/hedvalcon.dll differ diff --git a/DuoValueControl/obj/Debug/hedvalcon.pdb b/DuoValueControl/obj/Debug/hedvalcon.pdb new file mode 100644 index 0000000..9d90ffe Binary files /dev/null and b/DuoValueControl/obj/Debug/hedvalcon.pdb differ 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..8f88120 --- /dev/null +++ b/HE-Test_Dll/Form1.Designer.cs @@ -0,0 +1,128 @@ +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.duoValueControl = new Eugen.ESystem.Windows.Forms.DuoValueControl(); + 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 = "..."; + // + // duoValueControl + // + this.duoValueControl.AlwaysEncrypted = false; + this.duoValueControl.CheckBoxEncryptValueText = "Encrypt\r\nvalues"; + this.duoValueControl.Group = null; + this.duoValueControl.GroupName = "Group"; + this.duoValueControl.InitialDirectory = "C:\\\\"; + this.duoValueControl.Key = null; + this.duoValueControl.Location = new System.Drawing.Point(12, 12); + this.duoValueControl.MaximumSize = new System.Drawing.Size(800, 227); + this.duoValueControl.MinimumSize = new System.Drawing.Size(316, 227); + this.duoValueControl.Name = "duoValueControl"; + this.duoValueControl.Password = null; + this.duoValueControl.Size = new System.Drawing.Size(316, 227); + this.duoValueControl.TabIndex = 13; + this.duoValueControl.TableKeyName = "Variable Name"; + this.duoValueControl.TableValueName = "Variable Value"; + this.duoValueControl.Topic = "Topic"; + this.duoValueControl.ValueControlName = "Value control"; + this.duoValueControl.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.duoValueControl); + 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.DuoValueControl duoValueControl; + } +} + diff --git a/HE-Test_Dll/Form1.cs b/HE-Test_Dll/Form1.cs new file mode 100644 index 0000000..a25ce42 --- /dev/null +++ b/HE-Test_Dll/Form1.cs @@ -0,0 +1,139 @@ +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 + // Keys 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, Keys 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(DuoValueControl.DllName, "\r\n", DuoValueControl.DllVersion, "\r\n", DuoValueControl.Copyright); // Zeigt die DLL-Information an + + ExecuteControl(); + } + + private void ExecuteControl() + { + duoValueControl.Password = "Test"; + duoValueControl.InitialDirectory = @"C:\Temp\Test"; + duoValueControl.XMLfileName = @"H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\Daten\Test1.xml"; + duoValueControl.ValueControlName = "My XML Control"; + duoValueControl.Topic = "NX-Portal"; + duoValueControl.GroupName = "MyGroup"; + //duoValueControl.Group = "NX_1953"; //Belegt die Gruppe vor. Darf kein Leerzeichen enthalten + duoValueControl.TableKeyName = "MyVarName"; + duoValueControl.TableValueName = "MyValue"; + duoValueControl.CheckBoxEncryptValueText = "Encrypt\r\nvalues"; + //duoValueControl.AlwaysEncrypted = true; //Alle Werte werden immer Verschlüsselt + duoValueControl.SetDialogWidth(600); //Der Dialog kann zwischen 316 und 800 breit sein + duoValueControl.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_DuoValueControl.csproj b/HE-Test_Dll/HE-Test_DuoValueControl.csproj new file mode 100644 index 0000000..23c9fa5 --- /dev/null +++ b/HE-Test_Dll/HE-Test_DuoValueControl.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} + DuoValueControl + + + + \ 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..68147cf 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..152f4dd 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/hedvalcon.resources.dll b/HE-Test_Dll/bin/Debug/de/hedvalcon.resources.dll new file mode 100644 index 0000000..9a96b06 Binary files /dev/null and b/HE-Test_Dll/bin/Debug/de/hedvalcon.resources.dll 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..408f232 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/hedvalcon.resources.dll b/HE-Test_Dll/bin/Debug/en/hedvalcon.resources.dll new file mode 100644 index 0000000..d504ba3 Binary files /dev/null and b/HE-Test_Dll/bin/Debug/en/hedvalcon.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..256f165 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/hedvalcon.dll b/HE-Test_Dll/bin/Debug/hedvalcon.dll new file mode 100644 index 0000000..e72eaee Binary files /dev/null and b/HE-Test_Dll/bin/Debug/hedvalcon.dll differ diff --git a/HE-Test_Dll/bin/Debug/hedvalcon.pdb b/HE-Test_Dll/bin/Debug/hedvalcon.pdb new file mode 100644 index 0000000..9d90ffe Binary files /dev/null and b/HE-Test_Dll/bin/Debug/hedvalcon.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..39a0f1b 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..0735269 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..7604506 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..b13af66 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..68147cf 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..152f4dd 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_DuoValueControl.csproj.AssemblyReference.cache b/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.AssemblyReference.cache new file mode 100644 index 0000000..e940689 Binary files /dev/null and b/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.AssemblyReference.cache differ diff --git a/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.CopyComplete b/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.CoreCompileInputs.cache b/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..97fc83f --- /dev/null +++ b/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +aef70869c9536eba15a5416988d0281bba5bf5c2 diff --git a/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.FileListAbsolute.txt b/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..4a1479c --- /dev/null +++ b/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.FileListAbsolute.txt @@ -0,0 +1,21 @@ +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_DuoValueControl.csproj.AssemblyReference.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_DuoValueControl.csproj.SuggestedBindingRedirects.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\obj\Debug\HE_Test_Dll1.Form1.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\obj\Debug\HE_Test_Dll1.Properties.Resources.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_DuoValueControl.csproj.GenerateResource.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_DuoValueControl.csproj.CoreCompileInputs.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_Dll.exe +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_Dll.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\bin\Debug\HE-Test_Dll.exe.config +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\bin\Debug\HE-Test_Dll.exe +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\bin\Debug\HE-Test_Dll.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\bin\Debug\hecryption.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\bin\Debug\hedvalcon.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\bin\Debug\hedvalcon.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\bin\Debug\hecryption.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\bin\Debug\hesvalcon.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\bin\Debug\de\hedvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\bin\Debug\en\hedvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\bin\Debug\de\hesvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\bin\Debug\en\hesvalcon.resources.dll +H:\Programmieren\Git-WorkRepository\VisualStudio\_USER CONTROL\DuoValueControl.git\HE-Test_Dll\obj\Debug\HE-Test_DuoValueControl.csproj.CopyComplete diff --git a/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.GenerateResource.cache b/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.GenerateResource.cache new file mode 100644 index 0000000..b417364 Binary files /dev/null and b/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.GenerateResource.cache differ diff --git a/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.SuggestedBindingRedirects.cache b/HE-Test_Dll/obj/Debug/HE-Test_DuoValueControl.csproj.SuggestedBindingRedirects.cache new file mode 100644 index 0000000..e69de29 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..5939dc8 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..7ab481b --- /dev/null +++ b/HE-Test_Dll/obj/Debug/HE-Test_SingleValueControl.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +4283c068b5d28fef85faed753be2aea3c5ae85fd 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..a0482f4 --- /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.dll +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 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..3cf036f 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.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