From 6a8932b1d4c8709f2820bc5ccf78dcc931133ba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eugen=20H=C3=B6glinger?= Date: Tue, 1 Jun 2021 10:57:59 +0200 Subject: [PATCH] =?UTF-8?q?=C3=84nderung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Umschalten der Ansicht zwischen internen und allen DLLs neu dazu - Export Methode an die neue Ansicht angepasst - 'FixLineLenght' komplett überarbeitet - Trennzeichen für neue Zeile ' ' und '\' - Leichtere lesbarkeit von langen Datei-Pfaden - Keine führenden Leerzeichen mehr am Zeilenanfang - Zeilenumbrüche im Text werden erkannt und bleiben erhalten - Leerzeilen werden berücksichtigt --- AboutBox/AboutBox.Designer.cs | 22 +++++ AboutBox/AboutBox.cs | 144 +++++++++++++++++++++++------ AboutBox/AboutBox.de.resx | 6 ++ AboutBox/AboutBox.en.resx | 6 ++ AboutBox/AboutBox.resx | 88 ++++++++++++++++-- AboutBox/FixLineLenght.cs | 96 ++++++++++++++----- AboutBox/Language.Designer.cs | 9 ++ AboutBox/Language.de.resx | 5 +- AboutBox/Language.en.resx | 3 + AboutBox/Language.resx | 5 +- Test_AboutBox/Test_AboutBox.csproj | 10 +- 11 files changed, 327 insertions(+), 67 deletions(-) diff --git a/AboutBox/AboutBox.Designer.cs b/AboutBox/AboutBox.Designer.cs index 9516c08..dca5740 100644 --- a/AboutBox/AboutBox.Designer.cs +++ b/AboutBox/AboutBox.Designer.cs @@ -39,6 +39,8 @@ this.buttonClose = new System.Windows.Forms.Button(); this.saveFileDialog = new System.Windows.Forms.SaveFileDialog(); this.buttonDllInfo = new System.Windows.Forms.Button(); + this.radioButtonAll = new System.Windows.Forms.RadioButton(); + this.radioButtonInternal = new System.Windows.Forms.RadioButton(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit(); this.SuspendLayout(); // @@ -99,10 +101,28 @@ this.buttonDllInfo.UseVisualStyleBackColor = true; this.buttonDllInfo.Click += new System.EventHandler(this.buttonDllInfo_Click); // + // radioButtonAll + // + resources.ApplyResources(this.radioButtonAll, "radioButtonAll"); + this.radioButtonAll.Checked = true; + this.radioButtonAll.Name = "radioButtonAll"; + this.radioButtonAll.TabStop = true; + this.radioButtonAll.UseVisualStyleBackColor = true; + this.radioButtonAll.CheckedChanged += new System.EventHandler(this.radioButtonAll_CheckedChanged); + // + // radioButtonInternal + // + resources.ApplyResources(this.radioButtonInternal, "radioButtonInternal"); + this.radioButtonInternal.Name = "radioButtonInternal"; + this.radioButtonInternal.UseVisualStyleBackColor = true; + this.radioButtonInternal.CheckedChanged += new System.EventHandler(this.radioButtonInternal_CheckedChanged); + // // AboutBox // resources.ApplyResources(this, "$this"); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.radioButtonInternal); + this.Controls.Add(this.radioButtonAll); this.Controls.Add(this.buttonDllInfo); this.Controls.Add(this.buttonClose); this.Controls.Add(this.buttonExport); @@ -136,5 +156,7 @@ private System.Windows.Forms.Button buttonClose; private System.Windows.Forms.SaveFileDialog saveFileDialog; private System.Windows.Forms.Button buttonDllInfo; + private System.Windows.Forms.RadioButton radioButtonAll; + private System.Windows.Forms.RadioButton radioButtonInternal; } } \ No newline at end of file diff --git a/AboutBox/AboutBox.cs b/AboutBox/AboutBox.cs index eeb164a..e21aea1 100644 --- a/AboutBox/AboutBox.cs +++ b/AboutBox/AboutBox.cs @@ -2,11 +2,13 @@ using System.Collections.Generic; using System.ComponentModel; using System.Data; +using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Reflection; using System.Resources; +using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; @@ -281,6 +283,14 @@ namespace Eugen.ESystem.Windows.Forms if (DllInfoSelected) { buttonDllInfo.Enabled = true; + buttonDllInfo.Visible = true; + radioButtonAll.Enabled = false; + radioButtonAll.Visible = false; + radioButtonInternal.Enabled = false; + radioButtonInternal.Visible = false; + + textBox.WordWrap = true; + textBox.ScrollBars = ScrollBars.Vertical; labelDisclaimer.Text = Language.disclaimerHeader001; textBox.Text = Language.disclaimer; @@ -297,14 +307,29 @@ namespace Eugen.ESystem.Windows.Forms //DLL-Informationen anzeigen DllInfoSelected = true; buttonDllInfo.Enabled = false; + buttonDllInfo.Visible = false; + radioButtonAll.Enabled = true; + radioButtonAll.Visible = true; + radioButtonInternal.Enabled = true; + radioButtonInternal.Visible = true; + + textBox.WordWrap = false; + textBox.ScrollBars = ScrollBars.Both; labelDisclaimer.Text = Language.dllInfo001; textBox.Text = ""; + + textBox.Text = CreateDllInfo(); + } - if (GetAllDllNames() != null) - { - textBox.Text = CreateDllInfo(GetAllDllNames()); - } + private void radioButtonAll_CheckedChanged(object sender, EventArgs e) + { + textBox.Text = CreateDllInfo(); + } + + private void radioButtonInternal_CheckedChanged(object sender, EventArgs e) + { + textBox.Text = CreateDllInfo(); } private void buttonExport_Click(object sender, EventArgs e) @@ -379,7 +404,15 @@ namespace Eugen.ESystem.Windows.Forms { DateTime today = DateTime.Now; - return String.Concat(Language.dllInfo001, "\r\n", today.ToString("yyyy-MM-dd - HH:mm:ss"), "\r\n--------------------------------------------------------------------------------\r\n", FixLineLenght.Format(textBox.Text, 80)); //Gibt den ganzen Text zurück + if (radioButtonAll.Checked) + { + return String.Concat(Language.dllInfo002, "\r\n", today.ToString("yyyy-MM-dd - HH:mm:ss"), "\r\n--------------------------------------------------------------------------------\r\n", FixLineLenght.Format(textBox.Text, 80)); //Gibt den ganzen Text zurück + } + else + { + return String.Concat(Language.dllInfo001, "\r\n", today.ToString("yyyy-MM-dd - HH:mm:ss"), "\r\n--------------------------------------------------------------------------------\r\n", FixLineLenght.Format(textBox.Text, 80)); //Gibt den ganzen Text zurück + } + } else { @@ -396,11 +429,51 @@ namespace Eugen.ESystem.Windows.Forms private List GetAllDllNames() { - List dllNames = new List(); + List dlls = new List(); - if (dllNames != null) + if (dlls != null) { - dllNames.Clear(); + dlls.Clear(); + } + + dlls = GetGlobalDllNames(); + if (GetInternalDllNames() != null) + { + dlls.AddRange(GetInternalDllNames()); + } + + dlls.Sort(); + + return dlls; + } + + private List GetGlobalDllNames() + { + List dlls = new List(); + + if (dlls != null) + { + dlls.Clear(); + } + + foreach (ProcessModule module in Process.GetCurrentProcess().Modules) + { + dlls.Add(module.ModuleName + Environment.NewLine + module.FileVersionInfo.ProductVersion + Environment.NewLine + module.FileName); + } + + dlls.Sort(); + + return dlls; + } + + private List GetInternalDllNames() + { + List dlls = new List(); + string dllVersion = ""; + + if (dlls != null) + { + dlls.Clear(); } DirectoryInfo ParentDirectory = new DirectoryInfo(Application.StartupPath); @@ -408,34 +481,45 @@ namespace Eugen.ESystem.Windows.Forms { if (fi.Extension.ToLower() == ".dll") { - dllNames.Add(fi.FullName); - } - } - - return dllNames; - } + Assembly assembly = Assembly.LoadFrom(fi.FullName.Remove(0, fi.FullName.LastIndexOf("\\") + 1)); - private string CreateDllInfo(List dllNames) - { - string dllInfos = ""; - string dllName = ""; - string dllVersion = ""; - - if (dllNames != null) - { - foreach (var name in dllNames) - { - Assembly assembly = Assembly.LoadFrom(name); - - dllName = String.Concat(assembly.ToString().Remove(assembly.ToString().IndexOf(",")), ".dll"); dllVersion = assembly.ToString().Remove(0, assembly.ToString().IndexOf("Version=") + 8); dllVersion = dllVersion.Remove(dllVersion.IndexOf(",")); - dllInfos = String.Concat(dllInfos, dllName, "\r\n", dllVersion, "\r\n\r\n"); + dlls.Add(String.Concat(fi.FullName.Remove(0, fi.FullName.LastIndexOf("\\") + 1), Environment.NewLine, dllVersion, Environment.NewLine, fi.FullName)); } } - - return dllInfos.Remove(dllInfos.LastIndexOf("\r\n\r\n")); + + dlls.Sort(); + + return dlls; + } + + private string CreateDllInfo() + { + string dllInfo = ""; + + if (radioButtonAll.Checked) + { + foreach (var item in GetAllDllNames()) + { + dllInfo = String.Concat(dllInfo, item, Environment.NewLine, Environment.NewLine); + } + } + else + { + foreach (var item in GetInternalDllNames()) + { + dllInfo = String.Concat(dllInfo, item, Environment.NewLine, Environment.NewLine); + } + } + + while (dllInfo.EndsWith("\n") || dllInfo.EndsWith("\r")) + { + dllInfo = dllInfo.Remove(dllInfo.Length - 1); + } + + return dllInfo; } private void SetWindow(int width, int hight) diff --git a/AboutBox/AboutBox.de.resx b/AboutBox/AboutBox.de.resx index 821b956..34d1955 100644 --- a/AboutBox/AboutBox.de.resx +++ b/AboutBox/AboutBox.de.resx @@ -190,4 +190,10 @@ DIE SOFTWARE WIRD ZUR VERFÜGUNG GESTELLT, WIE SIE IST, OHNE JEGLICHE HAFTUNG IRGENDEINER ART. BIS ZUM MAXIMAL, IN DIESEM FALL GESETZLICH ERLAUBTEN, LEHNT DER AUTOR WEITERHIN JEDE HAFTUNG AB, EINGESCHLOSSEN JEDE GARANTIE UNTER KAUFLEUTEN, DIE GARANTIE FÜR DEN EINSATZ ZU BESTIMMTEN ZWECKEN UND NICHTEINSETZBARKEIT. DIE GESAMTE GEFAHR, DIE AUS DEM GEBRAUCH ODER DER LEISTUNG VON DEM PRODUKT UND DEN UNTERLAGEN HERAUS ENTSTEHT, BLEIBT BEI DEM BENUTZER DIESER SOFTWARE. SOWEIT GESETZLICH ZULÄSSIG, IST DER AUTOR IN KEINEM FALL HAFTBAR FÜR IRGENDWELCHE FOLGE-, ZUFÄLLIGEN, INDIREKTEN ODER ANDEREN SCHÄDEN WELCHER ART AUCH IMMER (EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF SCHÄDEN AUS ENTGANGENEN GEWINN, GESCHÄFTSUNTERBRECHUNG, VERLUST VON GESCHÄFTLICHEN INFORMATIONEN ODER VERMÖGENSSCHÄDEN), DIE AUS DER VERWENDUNG ODER DER UNMÖGLICHKEIT DER VERWENDUNG DES SOFTWAREPRODUKTS RESULTIEREN, SELBST WENN DER AUTOR AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WORDEN IST. + + Alle anzeigen + + + Nur interne anzeigen + \ No newline at end of file diff --git a/AboutBox/AboutBox.en.resx b/AboutBox/AboutBox.en.resx index 4049863..0028dab 100644 --- a/AboutBox/AboutBox.en.resx +++ b/AboutBox/AboutBox.en.resx @@ -196,4 +196,10 @@ THE SOFTWARE IS PROVIDED AS IS, WITHOUT ANY LIABILITY OF ANY KIND. UP TO THE MAXIMUM, IN THIS CASE PERMITTED BY LAW, THE AUTHOR CONTINUES TO DISCLAIM ALL LIABILITY, INCLUDING ANY WARRANTY AMONG MERCHANTS, THE WARRANTY FOR USE FOR SPECIFIC PURPOSES AND NON-USABILITY. THE ENTIRE RISK ARISING FROM THE USE OR PERFORMANCE OF THE PRODUCT AND THE DOCUMENTATION REMAINS WITH THE USER OF THIS SOFTWARE. TO THE FULLEST EXTENT PERMITTED BY LAW, THE AUTHOR SHALL IN NO EVENT BE LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, INDIRECT OR OTHER DAMAGES WHATSOEVER (INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR LOSS OF PROFITS) ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE PRODUCT, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + Show all + + + Show only internal + \ No newline at end of file diff --git a/AboutBox/AboutBox.resx b/AboutBox/AboutBox.resx index 3bb4c80..a3c4261 100644 --- a/AboutBox/AboutBox.resx +++ b/AboutBox/AboutBox.resx @@ -189,7 +189,7 @@ $this - 8 + 10 True @@ -219,7 +219,7 @@ $this - 7 + 9 True @@ -250,7 +250,7 @@ $this - 6 + 8 True @@ -281,7 +281,7 @@ $this - 5 + 7 True @@ -308,7 +308,7 @@ $this - 4 + 6 @@ -342,7 +342,7 @@ $this - 3 + 5 Bottom, Left @@ -369,7 +369,7 @@ $this - 2 + 4 Bottom, Right @@ -396,7 +396,7 @@ $this - 1 + 3 17, 17 @@ -432,6 +432,78 @@ $this + 2 + + + Bottom + + + True + + + False + + + 123, 344 + + + 88, 17 + + + 9 + + + Alle anzeigen + + + False + + + radioButtonAll + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + + + Bottom + + + True + + + False + + + 247, 344 + + + 123, 17 + + + 10 + + + Nur interne anzeigen + + + False + + + radioButtonInternal + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + 0 diff --git a/AboutBox/FixLineLenght.cs b/AboutBox/FixLineLenght.cs index 3713a79..28f4b6f 100644 --- a/AboutBox/FixLineLenght.cs +++ b/AboutBox/FixLineLenght.cs @@ -23,42 +23,96 @@ namespace Eugen.ESystem.Windows.Forms /// public static string Format(string text, int lineLenght) { - int pos = 0; + int ratedLenght = 0; int spacePos = 0; + int currentPos = 0; string character = ""; - string temp = ""; - string result = ""; + string resultText = ""; - while (text.Length > 0) + if (text.Length <= lineLenght) { - if (text.Length <= lineLenght) + resultText = text; + } + else + { + while (text.Length > 0) { - result = String.Concat(result, text); - text = ""; - } - else - { - while (pos <= lineLenght) + while (ratedLenght < lineLenght) { - character = text.Remove(0, pos).Remove(1); - - if (character == " ") + if (currentPos < text.Length) { - spacePos = pos + 1; + character = text.Substring(currentPos, 1); + } + else + { + break; } - pos++; + if (character == "\n" || character == "\r") + { + currentPos++; + ratedLenght = 0; + } + + if (character == " " || character == "\\") + { + spacePos = currentPos; + } + + currentPos++; + ratedLenght++; } - temp = text.Remove(spacePos - 1); - text = text.Remove(0, spacePos); - result = String.Concat(result, temp, "\r\n"); - pos = 0; + if (spacePos == 0) + { + spacePos = currentPos; + } + + if (text.Length <= lineLenght || text.Length == spacePos) + { + resultText = resultText + text; + text = ""; + } + else + { + resultText = resultText + text.Remove(spacePos) + Environment.NewLine; + + text = text.Remove(0, spacePos); + + if (text.StartsWith(" ")) + { + text = text.Remove(0, 1); + } + } + + ratedLenght = 0; + currentPos = 0; spacePos = 0; } } - return result; + resultText = CorrectLastLine(resultText, lineLenght); + + return resultText; + } + + private static string CorrectLastLine(string text, int lineLenght) + { + string tempMid = ""; + string tempEnd = ""; + + tempEnd = text.Remove(0, text.LastIndexOf(Environment.NewLine) + 2); + tempMid = text.Remove(text.LastIndexOf(Environment.NewLine)); + tempMid = tempMid.Remove(0, tempMid.LastIndexOf(Environment.NewLine) + 2); + + if ((tempMid.Length + tempEnd.Length) <= lineLenght) + { + return text.Remove(text.LastIndexOf(Environment.NewLine), 2); + } + else + { + return text; + } } } } diff --git a/AboutBox/Language.Designer.cs b/AboutBox/Language.Designer.cs index 6d6b34a..d09b555 100644 --- a/AboutBox/Language.Designer.cs +++ b/AboutBox/Language.Designer.cs @@ -96,6 +96,15 @@ namespace Eugen.ESystem.Windows.Forms { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Auflistung aller im Programm verwendeten DLLs: ähnelt. + /// + internal static string dllInfo002 { + get { + return ResourceManager.GetString("dllInfo002", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Datei konnte nicht gespeichert werden. ähnelt. /// diff --git a/AboutBox/Language.de.resx b/AboutBox/Language.de.resx index 8c210ea..17dfb54 100644 --- a/AboutBox/Language.de.resx +++ b/AboutBox/Language.de.resx @@ -121,7 +121,7 @@ Text-Datei (*.txt)|*.txt|Alle Dateien (*.*)|*.* - DIE SOFTWARE WIRD ZUR VERFÜGUNG GESTELLT, WIE SIE IST, OHNE JEGLICHE HAFTUNG IRGENDEINER ART. BIS ZUM MAXIMAL, IN DIESEM FALL GESETZLICH ERLAUBTEN, LEHNT DER AUTOR WEITERHIN JEDE HAFTUNG AB, EINGESCHLOSSEN JEDE GARANTIE UNTER KAUFLEUTEN, DIE GARANTIE FÜR DEN EINSATZ ZU BESTIMMTEN ZWECKEN UND NICHTEINSETZBARKEIT. DIE GESAMTE GEFAHR, DIE AUS DEM GEBRAUCH ODER DER LEISTUNG VON DEM PRODUKT UND DEN UNTERLAGEN HERAUS ENTSTEHT, BLEIBT BEI DEM BENUTZER DIESER SOFTWARE. SOWEIT GESETZLICH ZULÄSSIG, IST DER AUTOR IN KEINEM FALL HAFTBAR FÜR IRGENDWELCHE FOLGE-, ZUFÄLLIGEN, INDIREKTEN ODER ANDEREN SCHÄDEN WELCHER ART AUCH IMMER (EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF SCHÄDEN AUS ENTGANGENEN GEWINN, GESCHÄFTSUNTERBRECHUNG, VERLUST VON GESCHÄFTLICHEN INFORMATIONEN ODER VERMÖGENSSCHÄDEN), DIE AUS DER VERWENDUNG ODER DER UNMÖGLICHKEIT DER VERWENDUNG DES SOFTWAREPRODUKTS RESULTIEREN, SELBST WENN DER AUTOR AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WORDEN IST. + DIE SOFTWARE WIRD ZUR VERFÜGUNG GESTELLT, WIE SIE IST, OHNE JEGLICHE HAFTUNG IRGENDEINER ART. BIS ZUM MAXIMAL, IN DIESEM FALL GESETZLICH ERLAUBTEN, LEHNT DER AUTOR WEITERHIN JEDE HAFTUNG AB, EINGESCHLOSSEN JEDE GARANTIE UNTER KAUFLEUTEN, DIE GARANTIE FÜR DEN EINSATZ ZU BESTIMMTEN ZWECKEN UND NICHTEINSETZBARKEIT. DIE GESAMTE GEFAHR, DIE AUS DEM GEBRAUCH ODER DER LEISTUNG VON DEM PRODUKT UND DEN UNTERLAGEN HERAUS ENTSTEHT, BLEIBT BEI DEM BENUTZER DIESER SOFTWARE. SOWEIT GESETZLICH ZULÄSSIG, IST DER AUTOR IN KEINEM FALL HAFTBAR FÜR IRGENDWELCHE FOLGE-, ZUFÄLLIGEN, INDIREKTEN ODER ANDEREN SCHÄDEN WELCHER ART AUCH IMMER (EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF SCHÄDEN AUS ENTGANGENEN GEWINN, GESCHÄFTSUNTERBRECHUNG, VERLUST VON GESCHÄFTLICHEN INFORMATIONEN ODER VERMÖGENSSCHÄDEN), DIE AUS DER VERWENDUNG ODER DER UNMÖGLICHKEIT DER VERWENDUNG DES SOFTWAREPRODUKTS RESULTIEREN, SELBST WENN DER AUTOR AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WORDEN IST. Verzichtserklärung @@ -129,6 +129,9 @@ Auflistung aller im Programm verwendeten eigenen DLLs: + + Auflistung aller im Programm verwendeten DLLs: + Datei konnte nicht gespeichert werden. diff --git a/AboutBox/Language.en.resx b/AboutBox/Language.en.resx index 953b750..2f68b78 100644 --- a/AboutBox/Language.en.resx +++ b/AboutBox/Language.en.resx @@ -129,6 +129,9 @@ Listing of all custom DLLs used in the program: + + Listing of all DLLs used in the program: + File could not be saved. diff --git a/AboutBox/Language.resx b/AboutBox/Language.resx index 7160580..97ce96f 100644 --- a/AboutBox/Language.resx +++ b/AboutBox/Language.resx @@ -121,7 +121,7 @@ Text-Datei (*.txt)|*.txt|Alle Dateien (*.*)|*.* - DIE SOFTWARE WIRD ZUR VERFÜGUNG GESTELLT, WIE SIE IST, OHNE JEGLICHE HAFTUNG IRGENDEINER ART. BIS ZUM MAXIMAL, IN DIESEM FALL GESETZLICH ERLAUBTEN, LEHNT DER AUTOR WEITERHIN JEDE HAFTUNG AB, EINGESCHLOSSEN JEDE GARANTIE UNTER KAUFLEUTEN, DIE GARANTIE FÜR DEN EINSATZ ZU BESTIMMTEN ZWECKEN UND NICHTEINSETZBARKEIT. DIE GESAMTE GEFAHR, DIE AUS DEM GEBRAUCH ODER DER LEISTUNG VON DEM PRODUKT UND DEN UNTERLAGEN HERAUS ENTSTEHT, BLEIBT BEI DEM BENUTZER DIESER SOFTWARE. SOWEIT GESETZLICH ZULÄSSIG, IST DER AUTOR IN KEINEM FALL HAFTBAR FÜR IRGENDWELCHE FOLGE-, ZUFÄLLIGEN, INDIREKTEN ODER ANDEREN SCHÄDEN WELCHER ART AUCH IMMER (EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF SCHÄDEN AUS ENTGANGENEN GEWINN, GESCHÄFTSUNTERBRECHUNG, VERLUST VON GESCHÄFTLICHEN INFORMATIONEN ODER VERMÖGENSSCHÄDEN), DIE AUS DER VERWENDUNG ODER DER UNMÖGLICHKEIT DER VERWENDUNG DES SOFTWAREPRODUKTS RESULTIEREN, SELBST WENN DER AUTOR AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WORDEN IST. + DIE SOFTWARE WIRD ZUR VERFÜGUNG GESTELLT, WIE SIE IST, OHNE JEGLICHE HAFTUNG IRGENDEINER ART. BIS ZUM MAXIMAL, IN DIESEM FALL GESETZLICH ERLAUBTEN, LEHNT DER AUTOR WEITERHIN JEDE HAFTUNG AB, EINGESCHLOSSEN JEDE GARANTIE UNTER KAUFLEUTEN, DIE GARANTIE FÜR DEN EINSATZ ZU BESTIMMTEN ZWECKEN UND NICHTEINSETZBARKEIT. DIE GESAMTE GEFAHR, DIE AUS DEM GEBRAUCH ODER DER LEISTUNG VON DEM PRODUKT UND DEN UNTERLAGEN HERAUS ENTSTEHT, BLEIBT BEI DEM BENUTZER DIESER SOFTWARE. SOWEIT GESETZLICH ZULÄSSIG, IST DER AUTOR IN KEINEM FALL HAFTBAR FÜR IRGENDWELCHE FOLGE-, ZUFÄLLIGEN, INDIREKTEN ODER ANDEREN SCHÄDEN WELCHER ART AUCH IMMER (EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF SCHÄDEN AUS ENTGANGENEN GEWINN, GESCHÄFTSUNTERBRECHUNG, VERLUST VON GESCHÄFTLICHEN INFORMATIONEN ODER VERMÖGENSSCHÄDEN), DIE AUS DER VERWENDUNG ODER DER UNMÖGLICHKEIT DER VERWENDUNG DES SOFTWAREPRODUKTS RESULTIEREN, SELBST WENN DER AUTOR AUF DIE MÖGLICHKEIT SOLCHER SCHÄDEN HINGEWIESEN WORDEN IST. Verzichtserklärung @@ -129,6 +129,9 @@ Auflistung aller im Programm verwendeten DLLs: + + Auflistung aller im Programm verwendeten DLLs: + Datei konnte nicht gespeichert werden. diff --git a/Test_AboutBox/Test_AboutBox.csproj b/Test_AboutBox/Test_AboutBox.csproj index 48e13f9..43388ba 100644 --- a/Test_AboutBox/Test_AboutBox.csproj +++ b/Test_AboutBox/Test_AboutBox.csproj @@ -34,6 +34,10 @@ + + False + ..\AboutBox\bin\Debug\heabox.dll + @@ -60,11 +64,5 @@ Form1.cs - - - {32f8cf98-005d-4f81-8381-cc2b8fc7a4d8} - AboutBox - - \ No newline at end of file