Compare commits

..

10 Commits

Author SHA1 Message Date
Eugen Höglinger
d8059750ca Änderung
- Kommentare korrigiert
2024-06-17 11:54:49 +02:00
Eugen Höglinger
0149b71907 Änderung
- Ist die Log-Zeile länger als 80 Zeichen, dann wird sie umgebrochen
2024-06-14 14:55:57 +02:00
Eugen Höglinger
1ff67e8926 Neue Funktionen
- Funktion zum Schreiben eines Standard Headers. Enthält:
  - Programm Namen
  - Programm Version
  - Copyright
  - Tag, Datum und Zeit des Aufrufes
- Funktion zum Schreiben eines Anwenderdefierten Headers. Übergabe als:
  - String
  - String array
- Funktion zum Einfügen des Tages, Datums und der Zeit
- Funktion zum Einfügen einer Trennlinie
2024-06-12 10:27:15 +02:00
Hoeglinger Eugen
06d626e50e Änderung
- Kommentar korrigiert
2022-06-09 17:18:27 +02:00
Hoeglinger Eugen
692cef160e Neu dazu
- Funktion die das anzeigen des Log Levels vor einer Zeile ermöglicht
2022-06-09 11:11:56 +02:00
Hoeglinger Eugen
240a90c863 Änderung
- Komplett überarbeitet
2022-04-28 16:54:42 +02:00
Hoeglinger Eugen
7861b7861e Änderung
- DeleteLogFile löscht jetzt auch automatisch benannte Logdateien
- DeleteLogFile löscht jetzt auch Logdateien ohne Fileextension
2022-04-27 18:03:56 +02:00
Hoeglinger Eugen
8971cdd73c Neu dazu
- Funktion zum Ausgeben der Logdatei
2022-04-20 17:06:38 +02:00
Hoeglinger Eugen
b7b1d9ee44 Änderung
- Verwendetes .NET Framework auf 4.7.2 angehoben

Neu dazu

- Funktion zum löschen einer Logdatei
2022-04-15 13:57:11 +02:00
c6da990e8b Änderung
- Das Schreiben eines Headers wurde entfernt
- Schreiben einer Logzeile ohne Zeit neu dazu
   -  Ersetz das Schreiben eines Headers
   -  Funktioniert jederzeit
- Millisekunden werden immer auf drei Stellen formatiert
- Message-Text korrigiert
2021-09-15 15:25:15 +02:00
73 changed files with 2320 additions and 2035 deletions

Binary file not shown.

BIN
.vs/LogWriter.git/v17/.suo Normal file

Binary file not shown.

View File

@ -0,0 +1,86 @@
{
"Version": 1,
"WorkspaceRootPath": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{9414648E-B3A3-4279-B2E1-F54E35326E93}|Test_LogWriter\\Test_LogWriter.csproj|C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\test_logwriter\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9414648E-B3A3-4279-B2E1-F54E35326E93}|Test_LogWriter\\Test_LogWriter.csproj|solutionrelative:test_logwriter\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{E95B9315-E0B9-4DB0-BA06-CAEA7269E922}|LogWriter\\LogWriter.csproj|c:\\cad\\git-workrepository\\visualstudio\\_dll\\logwriter.git\\logwriter\\logwriter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{E95B9315-E0B9-4DB0-BA06-CAEA7269E922}|LogWriter\\LogWriter.csproj|solutionrelative:logwriter\\logwriter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{9414648E-B3A3-4279-B2E1-F54E35326E93}|Test_LogWriter\\Test_LogWriter.csproj|C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\test_logwriter\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{9414648E-B3A3-4279-B2E1-F54E35326E93}|Test_LogWriter\\Test_LogWriter.csproj|solutionrelative:test_logwriter\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
}
],
"DocumentGroupContainers": [
{
"Orientation": 0,
"VerticalTabListWidth": 256,
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 4,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:128:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:129:0:{1fc202d4-d401-403c-9834-5b218574bb67}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{e506b91c-c606-466a-90a9-123d1d1e12b3}"
},
{
"$type": "Bookmark",
"Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Form1.cs",
"DocumentMoniker": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\Test_LogWriter\\Form1.cs",
"RelativeDocumentMoniker": "Test_LogWriter\\Form1.cs",
"ToolTip": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\Test_LogWriter\\Form1.cs",
"RelativeToolTip": "Test_LogWriter\\Form1.cs",
"ViewState": "AQIAAHgAAAAAAAAAAAAowJwAAABkAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-06-11T12:34:35.414Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "Form1.cs [Entwurf]",
"DocumentMoniker": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\Test_LogWriter\\Form1.cs",
"RelativeDocumentMoniker": "Test_LogWriter\\Form1.cs",
"ToolTip": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\Test_LogWriter\\Form1.cs [Entwurf]",
"RelativeToolTip": "Test_LogWriter\\Form1.cs [Entwurf]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-06-11T12:34:35.436Z",
"EditorCaption": " [Entwurf]"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "LogWriter.cs",
"DocumentMoniker": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\LogWriter\\LogWriter.cs",
"RelativeDocumentMoniker": "LogWriter\\LogWriter.cs",
"ToolTip": "C:\\CAD\\Git-WorkRepository\\VisualStudio\\_DLL\\LogWriter.git\\LogWriter\\LogWriter.cs",
"RelativeToolTip": "LogWriter\\LogWriter.cs",
"ViewState": "AQIAANICAAAAAAAAAAAAACADAAAIAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-06-11T12:34:36.369Z",
"EditorCaption": ""
}
]
}
]
}
]
}

View File

@ -1,31 +1,31 @@
 
Microsoft Visual Studio Solution File, Format Version 12.00 Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16 # Visual Studio Version 17
VisualStudioVersion = 16.0.31613.86 VisualStudioVersion = 17.1.32421.90
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LogWriter", "LogWriter\LogWriter.csproj", "{9AB1C683-4535-4F92-A3D1-4AF8BC1C8B9E}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LogWriter", "LogWriter\LogWriter.csproj", "{E95B9315-E0B9-4DB0-BA06-CAEA7269E922}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_LogWriter", "Test_LogWriter\Test_LogWriter.csproj", "{052D2936-B3E0-4348-991E-00FEC44CA3F1}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test_LogWriter", "Test_LogWriter\Test_LogWriter.csproj", "{9414648E-B3A3-4279-B2E1-F54E35326E93}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU Release|Any CPU = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9AB1C683-4535-4F92-A3D1-4AF8BC1C8B9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E95B9315-E0B9-4DB0-BA06-CAEA7269E922}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9AB1C683-4535-4F92-A3D1-4AF8BC1C8B9E}.Debug|Any CPU.Build.0 = Debug|Any CPU {E95B9315-E0B9-4DB0-BA06-CAEA7269E922}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9AB1C683-4535-4F92-A3D1-4AF8BC1C8B9E}.Release|Any CPU.ActiveCfg = Release|Any CPU {E95B9315-E0B9-4DB0-BA06-CAEA7269E922}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9AB1C683-4535-4F92-A3D1-4AF8BC1C8B9E}.Release|Any CPU.Build.0 = Release|Any CPU {E95B9315-E0B9-4DB0-BA06-CAEA7269E922}.Release|Any CPU.Build.0 = Release|Any CPU
{052D2936-B3E0-4348-991E-00FEC44CA3F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9414648E-B3A3-4279-B2E1-F54E35326E93}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{052D2936-B3E0-4348-991E-00FEC44CA3F1}.Debug|Any CPU.Build.0 = Debug|Any CPU {9414648E-B3A3-4279-B2E1-F54E35326E93}.Debug|Any CPU.Build.0 = Debug|Any CPU
{052D2936-B3E0-4348-991E-00FEC44CA3F1}.Release|Any CPU.ActiveCfg = Release|Any CPU {9414648E-B3A3-4279-B2E1-F54E35326E93}.Release|Any CPU.ActiveCfg = Release|Any CPU
{052D2936-B3E0-4348-991E-00FEC44CA3F1}.Release|Any CPU.Build.0 = Release|Any CPU {9414648E-B3A3-4279-B2E1-F54E35326E93}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9030B3E2-EE94-4D2F-8FB1-2A39DF357BBA} SolutionGuid = {8884E98F-BF3E-4D03-B17D-433AEE46045E}
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

View File

@ -1,81 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Eugen.ESystem.IO {
using System;
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// 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", "16.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() {
}
/// <summary>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("LogWriter.AppResources", typeof(AppResources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die The directory specifyed in Path was not found ähnelt.
/// </summary>
internal static string msg001 {
get {
return ResourceManager.GetString("msg001", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die FileFormat has the wrong format. ähnelt.
/// </summary>
internal static string msg002 {
get {
return ResourceManager.GetString("msg002", resourceCulture);
}
}
}
}

View File

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="msg001" xml:space="preserve">
<value>Das in Pfad angegebene Verzeichnis wurde nicht gefunden</value>
</data>
<data name="msg002" xml:space="preserve">
<value>FileFormat hat das falsche Format.</value>
</data>
</root>

View File

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="msg001" xml:space="preserve">
<value>The directory specifyed in Path was not found.</value>
</data>
<data name="msg002" xml:space="preserve">
<value>FileFormat has the wrong format.</value>
</data>
</root>

View File

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="msg001" xml:space="preserve">
<value>The directory specifyed in Path was not found</value>
</data>
<data name="msg002" xml:space="preserve">
<value>FileFormat has the wrong format.</value>
</data>
</root>

View File

@ -0,0 +1,270 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace Eugen.ESystem.Text
{
public class FormattingLongStrings
{
#region Version und Copyright
// Version 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();
//Assembly Datum und Zeit
static DateTime value = AssemblyDateTime();
static string date = value.ToShortDateString();
static string time = value.ToLongTimeString();
private static DateTime AssemblyDateTime()
{
var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision));
//Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
return buildDateTime;
}
private static string CurrentYear()
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
private static string StartYear()
{
string startYear = "";
if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
{
startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
while (startYear.StartsWith(" "))
{
startYear = startYear.Remove(0, 1);
}
if (startYear.Contains("-"))
{
startYear = startYear.Remove(startYear.IndexOf("-"));
}
else
{
startYear = startYear.Remove(startYear.IndexOf(" "));
}
return startYear;
}
else
{
DateTime dtn = DateTime.Now;
return dtn.Year.ToString();
}
}
private static string GenerateCopyright()
{
string startYear = StartYear();
string currentYear = CurrentYear();
if (startYear == currentYear)
{
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
else
{
string temp = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
string start = temp.Remove(temp.IndexOf(startYear) - 1);
string end = (temp.Remove(0, temp.IndexOf(" by")));
return String.Concat(start, " ", startYear, "-", currentYear, end);
}
}
#endregion
#region DLL-Info
/// <summary>
/// Contains the name of the dll file.
/// </summary>
public static string DllName { private set; get; }
/// <summary>
/// Contains the version of the dll file.
/// </summary>
public static string DllVersion { private set; get; }
/// <summary>
/// Contains the copyright notice.
/// </summary>
public static string Copyright { private set; get; }
/// <summary>
/// Contains the name-, version- and copyright-information of the dll file.
/// </summary>
public static string[] DllInfo { private set; get; }
private static void SetDllInfo()
{
//Name, Version und Copyright setzen
DllName = dllName;
DllVersion = dllVersion;
Copyright = copyright;
string[] dllInfo = new string[3];
dllInfo[0] = dllName;
dllInfo[1] = dllVersion;
dllInfo[2] = copyright;
DllInfo = dllInfo;
}
protected string ProgramName { private set; get; }
protected string ProgramVersion { private set; get; }
protected string ProgramCopyright { private set; get; }
#endregion
static FormattingLongStrings()
{
SetDllInfo();
}
//public FormattingLongStrings()
//{
// SetDllInfo();
//}
/// <summary>
/// Defines the length type
/// </summary>
public enum LengthType
{
LineLength,
IndentLength
}
/// <summary>
/// Splits a longer text into sections with a defined maximum length for each section
/// </summary>
/// <param name="text">Text to be edited</param>
/// <param name="lengthFirstLine">Length of the first line in characters</param>
/// <param name="lengthSubsequentLines">Length of the following line or the indentation in characters</param>
/// <param name="lengthType">Defines whether the line length or the indentation is measured</param>
/// <returns>Returns a string array with individual lines</returns>
public static string[] FormattingString(string text, int lengthFirstLine, int lengthSubsequentLines, LengthType lengthType)
{
// If the text line is longer than the desired first line length, then split it, otherwise it is already ok
if (text.Length > lengthFirstLine)
{
lengthSubsequentLines = LengthSubsequentLines(lengthFirstLine, lengthSubsequentLines, lengthType); // The text length of the other lines is calculated
int indentLength = lengthFirstLine - lengthSubsequentLines; ;
List<string> lines = new List<string>();
lines.Add(CreateLine(text, lengthFirstLine)); // Create the first line in the length of the first line
text = ShortenStringByAlreadyUsed(text, lines[0]); // The text already used is removed from the text
text = RemoveLeadingSpaces(text); // If the text line begins with a space, remove it
string tempText = "";
// If the text line is longer than the desired line length, then split it
while (text.Length > lengthSubsequentLines)
{
tempText = CreateLine(text, lengthSubsequentLines);
// Generate the other lines with the corresponding length
if (lengthType == LengthType.LineLength)
{
lines.Add(tempText); // If the line length of the additional lines
}
else
{
// Line length is the length of the first line minus the length of the indentation
// Spaces in the number of indents are placed in front of the text
lines.Add(tempText.PadLeft(indentLength + tempText.Length, ' '));
}
text = ShortenStringByAlreadyUsed(text, tempText); // The text already used is removed from the text
text = RemoveLeadingSpaces(text); // If the text line begins with a space, remove it
}
// If the text still contains characters, then edit
if (text.Length > 0)
{
if (lengthType == LengthType.LineLength)
{
lines.Add(text); // If the line type is 'Line length' then add
}
else
{
lines.Add(text.PadLeft(indentLength + text.Length, ' ')); // Otherwise, precede with a space and then add
}
}
return lines.ToArray();
}
else
{
string[] value = {text}; // If the text is shorter than the line length, then use it
return value;
}
}
private static int LengthSubsequentLines(int lengthFirstLine, int lengthSubsequentLines, LengthType lengthType)
{
// Returns the length of the subsequent lines, depending on the line type
if (lengthType == LengthType.LineLength)
{
return lengthSubsequentLines; // Line length
}
else
{
return lengthFirstLine - lengthSubsequentLines; // Line length with indentation
}
}
private static string CreateLine(string text, int lineLength)
{
// Returns a text section of the specified length
string tempLine = text.Remove(lineLength);
string tempRemainingLine = text.Remove(0, lineLength);
// If the next part begins with a space, the line ends with a whole word
if (tempRemainingLine.StartsWith(" "))
{
return tempLine; // Then use the line as it is
}
else
{
if (tempLine.Contains(" "))
{
return tempLine.Remove(tempLine.LastIndexOf(" ")); // Otherwise shorten the line up to the last space
}
else
{
return tempLine; // Then use the line as it is
}
}
}
private static string ShortenStringByAlreadyUsed(string text, string usedCharacters)
{
// Remove the piece of text used from the entire text
return text.Replace(usedCharacters, "");
}
private static string RemoveLeadingSpaces(string text)
{
// If the text line begins with a space, remove the space
while (text.StartsWith(" "))
{
text = text.Remove(0, 1);
}
return text;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,69 +1,48 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{9AB1C683-4535-4F92-A3D1-4AF8BC1C8B9E}</ProjectGuid> <ProjectGuid>{E95B9315-E0B9-4DB0-BA06-CAEA7269E922}</ProjectGuid>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LogWriter</RootNamespace> <RootNamespace>LogWriter</RootNamespace>
<AssemblyName>helogwri</AssemblyName> <AssemblyName>helogwri</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<Deterministic>false</Deterministic> <Deterministic>false</Deterministic>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath> <OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
<Optimize>true</Optimize> <Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath> <OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="heshowtf">
<Reference Include="System.Core" /> <HintPath>..\..\ShowTextFile.git\ShowTextFile\bin\Debug\heshowtf.dll</HintPath>
<Reference Include="System.Xml.Linq" /> </Reference>
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="System.Core" />
<Reference Include="System.Data" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="System.Net.Http" /> </ItemGroup>
<Reference Include="System.Xml" /> <ItemGroup>
</ItemGroup> <Compile Include="FormattingLongStrings.cs" />
<ItemGroup> <Compile Include="LogWriter.cs" />
<Compile Include="AppResources.Designer.cs"> <Compile Include="Properties\AssemblyInfo.cs" />
<AutoGen>True</AutoGen> </ItemGroup>
<DesignTime>True</DesignTime> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<DependentUpon>AppResources.resx</DependentUpon>
</Compile>
<Compile Include="LogWriter.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="AppResources.de.resx">
<CustomToolNamespace>Eugen.ESystem.IO</CustomToolNamespace>
</EmbeddedResource>
<EmbeddedResource Include="AppResources.en.resx">
<CustomToolNamespace>Eugen.ESystem.IO</CustomToolNamespace>
</EmbeddedResource>
<EmbeddedResource Include="AppResources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>AppResources.Designer.cs</LastGenOutput>
<CustomToolNamespace>Eugen.ESystem.IO</CustomToolNamespace>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>

View File

@ -1,36 +1,36 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden // Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind. // die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("LogWriter")] [assembly: AssemblyTitle("LogWriter")]
[assembly: AssemblyDescription("Schreibt eine Logdatei")] [assembly: AssemblyDescription("Writes a log file")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("LogWriter")] [assembly: AssemblyProduct("LogWriter")]
[assembly: AssemblyCopyright("Copyright © 2021 by Eugen Höglinger")] [assembly: AssemblyCopyright("Copyright © 2021 by Eugen Höglinger")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly // 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 // 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. // COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)] [assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird // Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("9ab1c683-4535-4f92-a3d1-4af8bc1c8b9e")] [assembly: Guid("e95b9315-e0b9-4db0-ba06-caea7269e922")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: // Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
// //
// Hauptversion // Hauptversion
// Nebenversion // Nebenversion
// Buildnummer // Buildnummer
// Revision // Revision
// //
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, // Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben: // indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.1.*")]
//[assembly: AssemblyFileVersion("1.0.0.0")] //Wenn auskommentiert, dann gleich wie AssemblyVersion! //[assembly: AssemblyFileVersion("1.0.0.0")] //Wenn auskommentiert, dann gleich wie AssemblyVersion!

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

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

View File

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

View File

@ -1 +1 @@
a9e9b7e70c786bcdc5613b5c4ffe419197602a83 4c670e3294eecc743f9ea4d797951847f22f5cb8e82909513a5e79cc343002b8

View File

@ -1,13 +1,18 @@
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.CoreCompileInputs.cache H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\helogwri.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\helogwri.dll H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\helogwri.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\helogwri.pdb H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\heshowtf.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\helogwri.dll H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\heshowtf.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\helogwri.pdb H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.AssemblyReference.cache
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.AppResources.resources H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.CoreCompileInputs.cache
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.AppResources.de.resources H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.CopyComplete
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.AppResources.en.resources H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\helogwri.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.GenerateResource.cache H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\helogwri.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\de\helogwri.resources.dll C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\helogwri.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\en\helogwri.resources.dll C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\helogwri.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\de\helogwri.resources.dll C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\heshowtf.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\en\helogwri.resources.dll C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\bin\Debug\heshowtf.pdb
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.AssemblyReference.cache
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.CoreCompileInputs.cache
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\LogWriter.csproj.Up2Date
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\helogwri.dll
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\LogWriter\obj\Debug\helogwri.pdb

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,87 @@
@echo off
:SELECTIONMENU
cls
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º º
echo º Programmkomprimierung in eine einzelene EXE mit .NETZ º
echo º º
echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo º Version 1.0 º
echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo º Dieses Script erzeugt aus der Programm '.exe' und allen da- º
echo º zugehoerenden '.dll's, eine gemeinsame, komprimierte Pro- º
echo º gramm '.exe' mit eingebetteten '.dll's in einem Unterver- º
echo º zeichnis im Verzeichnis der Programm .exe. Die dazugehoer- º
echo º igen Hilfe-Dateien werden ebenfals in dieses Unterverzeich- º
echo º nis kopiert. Das Unterverzeichnis kann dann unmittelbar an º
echo º seinen Bestimmungsort kopiert werden und ist dadurch an º
echo º diesem Ort sofort einsetzbar und funktionsfaehig. º
echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo º º
echo º [S] Prozess starten º
echo º [C] Script abbrechen º
echo º º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
set asw=0
set /p asw=">>> Bitte eine Auswahl treffen: "
if %asw%==s goto START
if %asw%==S goto START
if %asw%==c goto CANCEL
if %asw%==C goto CANCEL
goto SELECTIONMENU
:START
echo.
echo.
echo --- Starte den Koprimierungsprozess
echo.
echo.
rem --- Argumente --- Anfang ---
rem --- Die Argumente mit den entsprechenden Werten belegen ---
rem --- NETZ ... Der Programmname und der kompletter Pfad der netz.exe
rem --- FOLDER ... Der Pfad zur Programm .exe
rem --- NAME ... Ist gleich dem Programnamen ohne '.exe'
rem --- EXE ... Der Programmname und der komplette Pfad der '.exe' die komprimiert werden soll
rem --- DLL ... Die durch Leerzeichen getrennt Liste der im Programm verwendeten '.dll'
rem --- HELP ... Die durch Leerzeichen getrennt Liste der verwendeten Hilfedateien. Gibt es keine Hilfe-Dateien, dann bleibt der Platz nach dem 'Ist Gleich'-Zeichen leer
set NETZ=H:\Programmieren\Netz\netz.exe
set FOLDER=H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug
set NAME=LogWriter
set EXE=%FOLDER%\Test_LogWriter.exe
rem set DLL=%FOLDER%\myDLL1.dll %FOLDER%\MyDLL2.dll
rem set HELP=%FOLDER%\Hilfe.chm %FOLDER%\Help.chm
rem --- Argumente --- Ende ---
rem --- Prozess ausfuehren ---
%NETZ% -s -z %EXE% %DLL%
rem --- Hilfe-Dateien kopieren ---
if not defined HELP goto NEXT
set DESTINATION=%FOLDER%\%NAME%.exe.netz
for %%A in (%HELP%) do xcopy %%A %DESTINATION% /D /Y
:NEXT
echo.
echo.
echo --- Der Komprimierungsprozess wurde ausgefuehrt.
echo.
goto END
:CANCEL
echo.
echo.
echo Das Script wird auf Ihren Wunsch hin abgebrochen!
echo.
goto END
:END
pause

View File

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

View File

@ -1,171 +1,183 @@
 namespace Test_LogWriter
namespace Test_LogWriter {
{ partial class Form1
partial class Form1 {
{ /// <summary>
/// <summary> /// Erforderliche Designervariable.
/// Erforderliche Designervariable. /// </summary>
/// </summary> private System.ComponentModel.IContainer components = null;
private System.ComponentModel.IContainer components = null;
/// <summary>
/// <summary> /// Verwendete Ressourcen bereinigen.
/// Verwendete Ressourcen bereinigen. /// </summary>
/// </summary> /// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param>
/// <param name="disposing">True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False.</param> protected override void Dispose(bool disposing)
protected override void Dispose(bool disposing) {
{ if (disposing && (components != null))
if (disposing && (components != null)) {
{ components.Dispose();
components.Dispose(); }
} base.Dispose(disposing);
base.Dispose(disposing); }
}
#region Vom Windows Form-Designer generierter Code
#region Vom Windows Form-Designer generierter Code
/// <summary>
/// <summary> /// Erforderliche Methode für die Designerunterstützung.
/// Erforderliche Methode für die Designerunterstützung. /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. /// </summary>
/// </summary> private void InitializeComponent()
private void InitializeComponent() {
{ this.buttonRunProgram = new System.Windows.Forms.Button();
this.buttonRunProgram = new System.Windows.Forms.Button(); this.groupBoxProgramInfo = new System.Windows.Forms.GroupBox();
this.groupBoxProgramInfo = new System.Windows.Forms.GroupBox(); this.labelProgramInfo = new System.Windows.Forms.Label();
this.labelProgramInfo = new System.Windows.Forms.Label(); this.groupBoxDLLInfo = new System.Windows.Forms.GroupBox();
this.groupBoxDLLInfo = new System.Windows.Forms.GroupBox(); this.labelDLLInfo = new System.Windows.Forms.Label();
this.labelDLLInfo = new System.Windows.Forms.Label(); this.buttonShowLog3 = new System.Windows.Forms.Button();
this.labelResult = new System.Windows.Forms.Label(); this.buttonShowLog2 = new System.Windows.Forms.Button();
this.buttonShowLog1 = new System.Windows.Forms.Button(); this.buttonShowLog1 = new System.Windows.Forms.Button();
this.buttonShowLog2 = new System.Windows.Forms.Button(); this.labelResult = new System.Windows.Forms.Label();
this.buttonShowLog3 = new System.Windows.Forms.Button(); this.buttonShowLog4 = new System.Windows.Forms.Button();
this.groupBoxProgramInfo.SuspendLayout(); this.groupBoxProgramInfo.SuspendLayout();
this.groupBoxDLLInfo.SuspendLayout(); this.groupBoxDLLInfo.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// buttonRunProgram // buttonRunProgram
// //
this.buttonRunProgram.Location = new System.Drawing.Point(12, 287); this.buttonRunProgram.Location = new System.Drawing.Point(12, 287);
this.buttonRunProgram.Name = "buttonRunProgram"; this.buttonRunProgram.Name = "buttonRunProgram";
this.buttonRunProgram.Size = new System.Drawing.Size(776, 23); this.buttonRunProgram.Size = new System.Drawing.Size(776, 23);
this.buttonRunProgram.TabIndex = 0; this.buttonRunProgram.TabIndex = 0;
this.buttonRunProgram.Text = "Programm ausführen"; this.buttonRunProgram.Text = "Programm ausführen";
this.buttonRunProgram.UseVisualStyleBackColor = true; this.buttonRunProgram.UseVisualStyleBackColor = true;
this.buttonRunProgram.Click += new System.EventHandler(this.buttonRunProgram_Click); this.buttonRunProgram.Click += new System.EventHandler(this.buttonRunProgram_Click);
// //
// groupBoxProgramInfo // groupBoxProgramInfo
// //
this.groupBoxProgramInfo.Controls.Add(this.labelProgramInfo); this.groupBoxProgramInfo.Controls.Add(this.labelProgramInfo);
this.groupBoxProgramInfo.Location = new System.Drawing.Point(12, 372); this.groupBoxProgramInfo.Location = new System.Drawing.Point(12, 372);
this.groupBoxProgramInfo.Name = "groupBoxProgramInfo"; this.groupBoxProgramInfo.Name = "groupBoxProgramInfo";
this.groupBoxProgramInfo.Size = new System.Drawing.Size(385, 66); this.groupBoxProgramInfo.Size = new System.Drawing.Size(385, 66);
this.groupBoxProgramInfo.TabIndex = 11; this.groupBoxProgramInfo.TabIndex = 11;
this.groupBoxProgramInfo.TabStop = false; this.groupBoxProgramInfo.TabStop = false;
this.groupBoxProgramInfo.Text = "Programm Information"; this.groupBoxProgramInfo.Text = "Programm Information";
// //
// labelProgramInfo // labelProgramInfo
// //
this.labelProgramInfo.AutoSize = true; this.labelProgramInfo.AutoSize = true;
this.labelProgramInfo.ImeMode = System.Windows.Forms.ImeMode.NoControl; this.labelProgramInfo.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.labelProgramInfo.Location = new System.Drawing.Point(7, 20); this.labelProgramInfo.Location = new System.Drawing.Point(7, 20);
this.labelProgramInfo.Name = "labelProgramInfo"; this.labelProgramInfo.Name = "labelProgramInfo";
this.labelProgramInfo.Size = new System.Drawing.Size(16, 13); this.labelProgramInfo.Size = new System.Drawing.Size(16, 13);
this.labelProgramInfo.TabIndex = 0; this.labelProgramInfo.TabIndex = 0;
this.labelProgramInfo.Text = "..."; this.labelProgramInfo.Text = "...";
// //
// groupBoxDLLInfo // groupBoxDLLInfo
// //
this.groupBoxDLLInfo.Controls.Add(this.labelDLLInfo); this.groupBoxDLLInfo.Controls.Add(this.labelDLLInfo);
this.groupBoxDLLInfo.Location = new System.Drawing.Point(403, 372); this.groupBoxDLLInfo.Location = new System.Drawing.Point(403, 372);
this.groupBoxDLLInfo.Name = "groupBoxDLLInfo"; this.groupBoxDLLInfo.Name = "groupBoxDLLInfo";
this.groupBoxDLLInfo.Size = new System.Drawing.Size(385, 66); this.groupBoxDLLInfo.Size = new System.Drawing.Size(385, 66);
this.groupBoxDLLInfo.TabIndex = 12; this.groupBoxDLLInfo.TabIndex = 12;
this.groupBoxDLLInfo.TabStop = false; this.groupBoxDLLInfo.TabStop = false;
this.groupBoxDLLInfo.Text = "DLL Information"; this.groupBoxDLLInfo.Text = "DLL Information";
// //
// labelDLLInfo // labelDLLInfo
// //
this.labelDLLInfo.AutoSize = true; this.labelDLLInfo.AutoSize = true;
this.labelDLLInfo.ImeMode = System.Windows.Forms.ImeMode.NoControl; this.labelDLLInfo.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.labelDLLInfo.Location = new System.Drawing.Point(7, 20); this.labelDLLInfo.Location = new System.Drawing.Point(7, 20);
this.labelDLLInfo.Name = "labelDLLInfo"; this.labelDLLInfo.Name = "labelDLLInfo";
this.labelDLLInfo.Size = new System.Drawing.Size(16, 13); this.labelDLLInfo.Size = new System.Drawing.Size(16, 13);
this.labelDLLInfo.TabIndex = 0; this.labelDLLInfo.TabIndex = 0;
this.labelDLLInfo.Text = "..."; this.labelDLLInfo.Text = "...";
// //
// labelResult // buttonShowLog3
// //
this.labelResult.AutoSize = true; this.buttonShowLog3.Location = new System.Drawing.Point(421, 254);
this.labelResult.Location = new System.Drawing.Point(13, 13); this.buttonShowLog3.Name = "buttonShowLog3";
this.labelResult.Name = "labelResult"; this.buttonShowLog3.Size = new System.Drawing.Size(160, 23);
this.labelResult.Size = new System.Drawing.Size(16, 13); this.buttonShowLog3.TabIndex = 20;
this.labelResult.TabIndex = 13; this.buttonShowLog3.Text = "Log-Datei 3 anzeigen";
this.labelResult.Text = "..."; this.buttonShowLog3.UseVisualStyleBackColor = true;
// this.buttonShowLog3.Click += new System.EventHandler(this.buttonShowLog3_Click);
// buttonShowLog1 //
// // buttonShowLog2
this.buttonShowLog1.Location = new System.Drawing.Point(12, 258); //
this.buttonShowLog1.Name = "buttonShowLog1"; this.buttonShowLog2.Location = new System.Drawing.Point(216, 254);
this.buttonShowLog1.Size = new System.Drawing.Size(160, 23); this.buttonShowLog2.Name = "buttonShowLog2";
this.buttonShowLog1.TabIndex = 14; this.buttonShowLog2.Size = new System.Drawing.Size(160, 23);
this.buttonShowLog1.Text = "Log-Datei 1 anzeigen"; this.buttonShowLog2.TabIndex = 19;
this.buttonShowLog1.UseVisualStyleBackColor = true; this.buttonShowLog2.Text = "Log-Datei 2 anzeigen";
this.buttonShowLog1.Click += new System.EventHandler(this.buttonShowLog1_Click); this.buttonShowLog2.UseVisualStyleBackColor = true;
// this.buttonShowLog2.Click += new System.EventHandler(this.buttonShowLog2_Click);
// buttonShowLog2 //
// // buttonShowLog1
this.buttonShowLog2.Location = new System.Drawing.Point(320, 258); //
this.buttonShowLog2.Name = "buttonShowLog2"; this.buttonShowLog1.Location = new System.Drawing.Point(12, 254);
this.buttonShowLog2.Size = new System.Drawing.Size(160, 23); this.buttonShowLog1.Name = "buttonShowLog1";
this.buttonShowLog2.TabIndex = 15; this.buttonShowLog1.Size = new System.Drawing.Size(160, 23);
this.buttonShowLog2.Text = "Log-Datei 2 anzeigen"; this.buttonShowLog1.TabIndex = 18;
this.buttonShowLog2.UseVisualStyleBackColor = true; this.buttonShowLog1.Text = "Log-Datei 1 anzeigen";
this.buttonShowLog2.Click += new System.EventHandler(this.buttonShowLog2_Click); this.buttonShowLog1.UseVisualStyleBackColor = true;
// this.buttonShowLog1.Click += new System.EventHandler(this.buttonShowLog1_Click_1);
// buttonShowLog3 //
// // labelResult
this.buttonShowLog3.Location = new System.Drawing.Point(628, 258); //
this.buttonShowLog3.Name = "buttonShowLog3"; this.labelResult.AutoSize = true;
this.buttonShowLog3.Size = new System.Drawing.Size(160, 23); this.labelResult.Location = new System.Drawing.Point(12, 9);
this.buttonShowLog3.TabIndex = 16; this.labelResult.Name = "labelResult";
this.buttonShowLog3.Text = "Log-Datei 3 anzeigen"; this.labelResult.Size = new System.Drawing.Size(16, 13);
this.buttonShowLog3.UseVisualStyleBackColor = true; this.labelResult.TabIndex = 17;
this.buttonShowLog3.Click += new System.EventHandler(this.buttonShowLog3_Click); this.labelResult.Text = "...";
// //
// Form1 // buttonShowLog4
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.buttonShowLog4.Location = new System.Drawing.Point(626, 254);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.buttonShowLog4.Name = "buttonShowLog4";
this.ClientSize = new System.Drawing.Size(800, 450); this.buttonShowLog4.Size = new System.Drawing.Size(160, 23);
this.Controls.Add(this.buttonShowLog3); this.buttonShowLog4.TabIndex = 21;
this.Controls.Add(this.buttonShowLog2); this.buttonShowLog4.Text = "Log-Datei 4 anzeigen";
this.Controls.Add(this.buttonShowLog1); this.buttonShowLog4.UseVisualStyleBackColor = true;
this.Controls.Add(this.labelResult); this.buttonShowLog4.Click += new System.EventHandler(this.buttonShowLog4_Click);
this.Controls.Add(this.groupBoxProgramInfo); //
this.Controls.Add(this.groupBoxDLLInfo); // Form1
this.Controls.Add(this.buttonRunProgram); //
this.Name = "Form1"; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.Text = "Test_LogWriter"; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Load += new System.EventHandler(this.Form1_Load); this.ClientSize = new System.Drawing.Size(800, 450);
this.groupBoxProgramInfo.ResumeLayout(false); this.Controls.Add(this.buttonShowLog4);
this.groupBoxProgramInfo.PerformLayout(); this.Controls.Add(this.buttonShowLog3);
this.groupBoxDLLInfo.ResumeLayout(false); this.Controls.Add(this.buttonShowLog2);
this.groupBoxDLLInfo.PerformLayout(); this.Controls.Add(this.buttonShowLog1);
this.ResumeLayout(false); this.Controls.Add(this.labelResult);
this.PerformLayout(); this.Controls.Add(this.groupBoxProgramInfo);
this.Controls.Add(this.groupBoxDLLInfo);
} this.Controls.Add(this.buttonRunProgram);
this.Name = "Form1";
#endregion this.Text = "Test_LogWriter";
this.Load += new System.EventHandler(this.Form1_Load);
private System.Windows.Forms.Button buttonRunProgram; this.groupBoxProgramInfo.ResumeLayout(false);
private System.Windows.Forms.GroupBox groupBoxProgramInfo; this.groupBoxProgramInfo.PerformLayout();
private System.Windows.Forms.Label labelProgramInfo; this.groupBoxDLLInfo.ResumeLayout(false);
private System.Windows.Forms.GroupBox groupBoxDLLInfo; this.groupBoxDLLInfo.PerformLayout();
private System.Windows.Forms.Label labelDLLInfo; this.ResumeLayout(false);
private System.Windows.Forms.Label labelResult; this.PerformLayout();
private System.Windows.Forms.Button buttonShowLog1;
private System.Windows.Forms.Button buttonShowLog2; }
private System.Windows.Forms.Button buttonShowLog3;
} #endregion
}
private System.Windows.Forms.Button buttonRunProgram;
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 System.Windows.Forms.Button buttonShowLog3;
private System.Windows.Forms.Button buttonShowLog2;
private System.Windows.Forms.Button buttonShowLog1;
private System.Windows.Forms.Label labelResult;
private System.Windows.Forms.Button buttonShowLog4;
}
}

View File

@ -1,183 +1,208 @@
using System; using System;
using System.Collections.Generic; using System.IO;
using System.ComponentModel; using System.Reflection;
using System.Data; using System.Windows.Forms;
using System.Drawing; using Eugen.ESystem.IO;
using System.IO; using Eugen.ESystem.Text;
using System.Linq;
using System.Reflection; namespace Test_LogWriter
using System.Text; {
using System.Threading.Tasks; public partial class Form1 : Form
using System.Windows.Forms; {
using Eugen.ESystem.IO; #region Version und Copyright
// Version und Copyright
namespace Test_LogWriter string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen
{ string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
public partial class Form1 : Form static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
{ string copyright = GenerateCopyright();
#region Version und Copyright string icon = Application.StartupPath + "\\Info.bmp";
// Version und Copyright
string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen //Assembly Datum und Zeit
string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); static DateTime value = AssemblyDateTime();
static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); string date = value.ToShortDateString();
string copyright = GenerateCopyright(); string time = value.ToLongTimeString();
string icon = Application.StartupPath + "\\Info.bmp";
private static DateTime AssemblyDateTime()
//Assembly Datum und Zeit {
static DateTime value = AssemblyDateTime(); var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
string date = value.ToShortDateString(); var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision));
string time = value.ToLongTimeString(); //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original)
return buildDateTime;
private static DateTime AssemblyDateTime() }
{
var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; private static string CurrentYear()
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) DateTime dtn = DateTime.Now;
return buildDateTime; return dtn.Year.ToString();
} }
private static string CurrentYear() private static string StartYear()
{ {
DateTime dtn = DateTime.Now; string startYear = "";
return dtn.Year.ToString(); if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © "))
} {
startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", "");
private static string StartYear() while (startYear.StartsWith(" "))
{ {
string startYear = ""; startYear = startYear.Remove(0, 1);
if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © ")) }
{
startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", ""); if (startYear.Contains("-"))
while (startYear.StartsWith(" ")) {
{ startYear = startYear.Remove(startYear.IndexOf("-"));
startYear = startYear.Remove(0, 1); }
} else
{
if (startYear.Contains("-")) startYear = startYear.Remove(startYear.IndexOf(" "));
{ }
startYear = startYear.Remove(startYear.IndexOf("-")); return startYear;
} }
else else
{ {
startYear = startYear.Remove(startYear.IndexOf(" ")); DateTime dtn = DateTime.Now;
} return dtn.Year.ToString();
return startYear; }
} }
else
{ private static string GenerateCopyright()
DateTime dtn = DateTime.Now; {
return dtn.Year.ToString(); string startYear = StartYear();
} string currentYear = CurrentYear();
}
if (startYear == currentYear)
private static string GenerateCopyright() {
{ return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
string startYear = StartYear(); }
string currentYear = CurrentYear(); else
{
if (startYear == currentYear) string temp = ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
{ string start = temp.Remove(temp.IndexOf(startYear) - 1);
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; string end = (temp.Remove(0, temp.IndexOf(" by")));
}
else return String.Concat(start, " ", startYear, "-", currentYear, end);
{ }
string temp = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; }
string start = temp.Remove(temp.IndexOf(startYear) - 1); #endregion
string end = (temp.Remove(0, temp.IndexOf(" by")));
#region Programm-Info
return String.Concat(start, " ", startYear, "-", currentYear, end); /// <summary>
} /// Contains the name of the program file
} /// </summary>
#endregion public static string ProgramName { set; get; }
#region Programm-Info /// <summary>
/// <summary> /// Contains the version of the program file
/// Contains the name of the program file /// </summary>
/// </summary> public static string ProgramVersion { set; get; }
public static string ProgramName { set; get; }
/// <summary>
/// <summary> /// Contains the copyright notice
/// Contains the version of the program file /// </summary>
/// </summary> public static string Copyright { set; get; }
public static string ProgramVersion { set; get; }
private void SetProgramInfo()
/// <summary> {
/// Contains the copyright notice //Name, Version und Copyright setzen
/// </summary> ProgramName = programName;
public static string Copyright { set; get; } ProgramVersion = programVersion;
Copyright = copyright;
private void SetProgramInfo() }
{ #endregion
//Name, Version und Copyright setzen
ProgramName = programName; public Form1()
ProgramVersion = programVersion; {
Copyright = copyright; SetProgramInfo();
} InitializeComponent();
#endregion }
public Form1() private void Form1_Load(object sender, EventArgs e)
{ {
SetProgramInfo(); labelProgramInfo.Text = String.Concat(ProgramName, "\r\n", ProgramVersion, "\r\n", Copyright); // Zeigt die Programm-Information an
InitializeComponent();
} labelDLLInfo.Text = String.Concat(LogWriter.DllName, "\r\n", LogWriter.DllVersion, "\r\n", LogWriter.Copyright); // Zeigt die DLL-Information an
}
private void Form1_Load(object sender, EventArgs e)
{ LogWriter logWriter1 = new LogWriter(@"C:\TMP\");
labelProgramInfo.Text = String.Concat(ProgramName, "\r\n", ProgramVersion, "\r\n", Copyright); // Zeigt die Programm-Information an LogWriter logWriter2 = new LogWriter(@"C:\TMP\", "my_logfile2.log"); // Die Extension .log kann, muss aber nicht angegeben werden
LogWriter logWriter3 = new LogWriter(@"C:\TMP\", "my_logfile3");
labelDLLInfo.Text = String.Concat(LogWriter.DllName, "\r\n", LogWriter.DllVersion, "\r\n", LogWriter.Copyright); // Zeigt die DLL-Information an LogWriter logWriter4 = new LogWriter(@"C:\TMP\", "my_logfile4");
}
private void buttonRunProgram_Click(object sender, EventArgs e)
private void buttonRunProgram_Click(object sender, EventArgs e) {
{ //Variante 1 - Logdateiname ist automatisch 'log_dd-mm-yy.log'
//Variante 1 - Logdateiname ist automatisch 'log_dd-mm-yy.log' logWriter1.Delete();
var logWriter1 = new LogWriter(@"C:\TMP\"); logWriter1.WriteMessage("Das ist Test 1");
logWriter1.WriteMessage("Das ist Test 1"); labelResult.Text = String.Concat("Die Log-Datei C:\\TMP\\log_", DateTime.Now.Date.ToString().Remove(10), ".log wurde geschrieben.");
labelResult.Text = String.Concat("Die Log-Datei C:\\TMP\\log_", DateTime.Now.Date.ToString().Remove(10), ".log wurde geschrieben.");
//Variante 2 - Logdateiname wird angegeben, z.B. 'my_logfile2.log'
//Variante 2 - Logdateiname wird angegeben, z.B. 'my_logfile2.log' logWriter2.Delete();
var logWriter2 = new LogWriter(@"C:\TMP\", "my_logfile2.log"); logWriter2.WriteMessage("Das ist Test 2");
logWriter2.WriteMessage("Das ist Test 2"); labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile2.log wurde geschrieben");
labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile2.log wurde geschrieben");
//Variante 3 - Logdateiname wird angegeben und Standard Header wird geschrieben
//Variante 3 - Logdateiname wird angegeben und Header wird geschrieben logWriter3.NameOfProgram = ProgramName;
string header = "--------------------\nDas ist der Header\n--------------------"; logWriter3.VersionNumberOfProgram = ProgramVersion;
var logWriter3 = new LogWriter(@"C:\TMP\", "my_logfile3", header); logWriter3.CopyrightOfProgram = Copyright;
logWriter3.WriteMessage("Das ist Test 3");
labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile3.log wurde geschrieben"); logWriter3.Delete();
} logWriter3.WriteHeader(LogWriter.Header.Default);
logWriter3.WriteMessage("Das ist Test 3. Dabei handelt es sich um eine sehr lange Log-Message. Die ist höchstwahrscheinlich länger als die 80 Zeichen die in eine Zeile geschrieben werden. Darum soll sie auch umgebrochen werden.");
private void buttonShowLog1_Click(object sender, EventArgs e) labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile3.log wurde geschrieben");
{
string textFileName = String.Concat("C:\\TMP\\log_", DateTime.Now.Date.ToString().Remove(10), ".log"); //Variante 4 - Logdateiname wird angegeben und ein Anwender definierter Header wird geschrieben
logWriter4.UserDefinedHeaderAsString = "--------------------\n\r Das ist der Anwender definierte Header\n\r--------------------";
//Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben
if (!ShowTextFile.Show(textFileName)) logWriter4.Delete();
{ logWriter4.WriteHeader(LogWriter.Header.Userdefined);
MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!"); logWriter4.WriteMessage("Das ist Test 4. Was passiert wenn lange kein Leerzeichen kommt? z.B.1234567890123456789012345678901234567890123456789012345678901234567890", LogWriter.LogLevel.Information, LogWriter.Time.Write);
} logWriter4.WriteMessage("Eine Zeile ohne Log Level", LogWriter.LogLevel.NoLevel, LogWriter.Time.Write);
} logWriter4.WriteMessage("Und noch eine Zeile mit Log Level", LogWriter.LogLevel.Warning, LogWriter.Time.Write);
logWriter4.WriteSeparationLine();
private void buttonShowLog2_Click(object sender, EventArgs e) labelResult.Text = String.Concat(labelResult.Text, "\nDie Log-Datei C:\\TMP\\my_logfile4.log wurde geschrieben");
{ }
string textFileName = "C:\\TMP\\my_logfile2.log";
private void buttonShowLog1_Click_1(object sender, EventArgs e)
//Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben {
if (!ShowTextFile.Show(textFileName)) //string textFileName = String.Concat("C:\\TMP\\log_", DateTime.Now.Date.ToString().Remove(10), ".log");
{
MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!"); //Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben
} //if (!ShowTextFile.Show(textFileName))
} if (!logWriter1.ShowLogFile("C:\\TMP", String.Concat("log_", DateTime.Now.Date.ToString().Remove(10), ".log")))
{
private void buttonShowLog3_Click(object sender, EventArgs e) MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!");
{ }
string textFileName = "C:\\TMP\\my_logfile3.log"; }
//Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben private void buttonShowLog2_Click(object sender, EventArgs e)
if (!ShowTextFile.Show(textFileName)) {
{ //string textFileName = "C:\\TMP\\my_logfile2.log";
MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!");
} //Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben
} //if (!ShowTextFile.Show(textFileName))
} if (!logWriter1.ShowLogFile("C:\\TMP", "my_logfile2.log"))
} {
MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!");
}
}
private void buttonShowLog3_Click(object sender, EventArgs e)
{
//string textFileName = "C:\\TMP\\my_logfile3.log";
//Wenn die Datei nicht angezeigt werden kann, dann eine Fehlermeldung ausgeben
//if (!ShowTextFile.Show(textFileName))
if (!logWriter1.ShowLogFile("C:\\TMP", "my_logfile3.log"))
{
MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!");
}
}
private void buttonShowLog4_Click(object sender, EventArgs e)
{
if (!logWriter1.ShowLogFile("C:\\TMP", "my_logfile4.log"))
{
MessageBox.Show("Entweder die Datei existiert nicht oder der Editor konnte nicht geöffnet werden!");
}
}
}
}

View File

@ -1,120 +1,120 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
</root> </root>

View File

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

View File

@ -1,36 +1,36 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden // Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind. // die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("Test_LogWriter")] [assembly: AssemblyTitle("Test_LogWriter")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Test_LogWriter")] [assembly: AssemblyProduct("Test_LogWriter")]
[assembly: AssemblyCopyright("Copyright © 2021 by Eugen Höglinger")] [assembly: AssemblyCopyright("Copyright © 2022 by Eugen Höglinger")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly // 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 // 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. // COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)] [assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird // Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("052d2936-b3e0-4348-991e-00fec44ca3f1")] [assembly: Guid("9414648e-b3a3-4279-b2e1-f54e35326e93")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: // Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
// //
// Hauptversion // Hauptversion
// Nebenversion // Nebenversion
// Buildnummer // Buildnummer
// Revision // Revision
// //
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, // Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// übernehmen, indem Sie "*" eingeben: // übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyFileVersion("1.0.0.0")] //Wenn auskommentiert, dann gleich wie AssemblyVersion! //[assembly: AssemblyFileVersion("1.0.0.0")] //Wenn auskommentiert, dann gleich wie AssemblyVersion!

View File

@ -1,70 +1,63 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Dieser Code wurde von einem Tool generiert. // Dieser Code wurde von einem Tool generiert.
// Laufzeitversion: 4.0.30319.42000 // Laufzeitversion:4.0.30319.42000
// //
// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code neu generiert wird. // der Code erneut generiert wird.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace Test_LogWriter.Properties {
namespace Test_LogWriter.Properties using System;
{
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. /// <summary>
/// </summary> /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
// Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse /// </summary>
// über ein Tool wie ResGen oder Visual Studio automatisch generiert. // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu. // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
internal class Resources [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
{ internal class Resources {
private static global::System.Resources.ResourceManager resourceMan; private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture; private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() internal Resources() {
{ }
}
/// <summary>
/// <summary> /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. /// </summary>
/// </summary> [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager {
internal static global::System.Resources.ResourceManager ResourceManager get {
{ if (object.ReferenceEquals(resourceMan, null)) {
get global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Test_LogWriter.Properties.Resources", typeof(Resources).Assembly);
{ resourceMan = temp;
if ((resourceMan == null)) }
{ return resourceMan;
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Test_LogWriter.Properties.Resources", typeof(Resources).Assembly); }
resourceMan = temp; }
}
return resourceMan; /// <summary>
} /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
} /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
/// <summary> [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle internal static global::System.Globalization.CultureInfo Culture {
/// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden. get {
/// </summary> return resourceCulture;
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] }
internal static global::System.Globalization.CultureInfo Culture set {
{ resourceCulture = value;
get }
{ }
return resourceCulture; }
} }
set
{
resourceCulture = value;
}
}
}
}

View File

@ -1,117 +1,117 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter : System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
</root> </root>

View File

@ -1,29 +1,26 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // Dieser Code wurde von einem Tool generiert.
// Runtime Version:4.0.30319.42000 // Laufzeitversion:4.0.30319.42000
// //
// Changes to this file may cause incorrect behavior and will be lost if // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// the code is regenerated. // der Code erneut generiert wird.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace Test_LogWriter.Properties {
namespace Test_LogWriter.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.1.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
public static Settings Default get {
{ return defaultInstance;
get }
{ }
return defaultInstance; }
} }
}
}
}

View File

@ -1,7 +1,7 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)"> <SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles> <Profiles>
<Profile Name="(Default)" /> <Profile Name="(Default)" />
</Profiles> </Profiles>
<Settings /> <Settings />
</SettingsFile> </SettingsFile>

View File

@ -1,89 +1,88 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{052D2936-B3E0-4348-991E-00FEC44CA3F1}</ProjectGuid> <ProjectGuid>{9414648E-B3A3-4279-B2E1-F54E35326E93}</ProjectGuid>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<RootNamespace>Test_LogWriter</RootNamespace> <RootNamespace>Test_LogWriter</RootNamespace>
<AssemblyName>Test_LogWriter</AssemblyName> <AssemblyName>Test_LogWriter</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>false</Deterministic> <Deterministic>false</Deterministic>
</PropertyGroup> <TargetFrameworkProfile />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> </PropertyGroup>
<PlatformTarget>AnyCPU</PlatformTarget> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>full</DebugType> <DebugSymbols>true</DebugSymbols>
<Optimize>false</Optimize> <DebugType>full</DebugType>
<OutputPath>bin\Debug\</OutputPath> <Optimize>false</Optimize>
<DefineConstants>DEBUG;TRACE</DefineConstants> <OutputPath>bin\Debug\</OutputPath>
<ErrorReport>prompt</ErrorReport> <DefineConstants>DEBUG;TRACE</DefineConstants>
<WarningLevel>4</WarningLevel> <ErrorReport>prompt</ErrorReport>
</PropertyGroup> <WarningLevel>4</WarningLevel>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> </PropertyGroup>
<PlatformTarget>AnyCPU</PlatformTarget> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType> <PlatformTarget>AnyCPU</PlatformTarget>
<Optimize>true</Optimize> <DebugType>pdbonly</DebugType>
<OutputPath>bin\Release\</OutputPath> <Optimize>true</Optimize>
<DefineConstants>TRACE</DefineConstants> <OutputPath>bin\Release\</OutputPath>
<ErrorReport>prompt</ErrorReport> <DefineConstants>TRACE</DefineConstants>
<WarningLevel>4</WarningLevel> <ErrorReport>prompt</ErrorReport>
</PropertyGroup> <WarningLevel>4</WarningLevel>
<ItemGroup> </PropertyGroup>
<Reference Include="helogwri"> <ItemGroup>
<HintPath>..\LogWriter\bin\Debug\helogwri.dll</HintPath> <Reference Include="helogwri">
</Reference> <HintPath>..\LogWriter\bin\Debug\helogwri.dll</HintPath>
<Reference Include="heshowtf"> </Reference>
<HintPath>..\..\ShowTextFile.git\ShowTextFile\bin\Debug\heshowtf.dll</HintPath> <Reference Include="System" />
</Reference> <Reference Include="System.Core" />
<Reference Include="System" /> <Reference Include="System.Xml.Linq" />
<Reference Include="System.Core" /> <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Xml.Linq" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="System.Deployment" />
<Reference Include="System.Data" /> <Reference Include="System.Drawing" />
<Reference Include="System.Deployment" /> <Reference Include="System.Net.Http" />
<Reference Include="System.Drawing" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Net.Http" /> <Reference Include="System.Xml" />
<Reference Include="System.Windows.Forms" /> </ItemGroup>
<Reference Include="System.Xml" /> <ItemGroup>
</ItemGroup> <Compile Include="Form1.cs">
<ItemGroup> <SubType>Form</SubType>
<Compile Include="Form1.cs"> </Compile>
<SubType>Form</SubType> <Compile Include="Form1.Designer.cs">
</Compile> <DependentUpon>Form1.cs</DependentUpon>
<Compile Include="Form1.Designer.cs"> </Compile>
<DependentUpon>Form1.cs</DependentUpon> <Compile Include="Program.cs" />
</Compile> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Program.cs" /> <EmbeddedResource Include="Form1.resx">
<Compile Include="Properties\AssemblyInfo.cs" /> <DependentUpon>Form1.cs</DependentUpon>
<EmbeddedResource Include="Form1.resx"> </EmbeddedResource>
<DependentUpon>Form1.cs</DependentUpon> <EmbeddedResource Include="Properties\Resources.resx">
</EmbeddedResource> <Generator>ResXFileCodeGenerator</Generator>
<EmbeddedResource Include="Properties\Resources.resx"> <LastGenOutput>Resources.Designer.cs</LastGenOutput>
<Generator>ResXFileCodeGenerator</Generator> <SubType>Designer</SubType>
<LastGenOutput>Resources.Designer.cs</LastGenOutput> </EmbeddedResource>
<SubType>Designer</SubType> <Compile Include="Properties\Resources.Designer.cs">
</EmbeddedResource> <AutoGen>True</AutoGen>
<Compile Include="Properties\Resources.Designer.cs"> <DependentUpon>Resources.resx</DependentUpon>
<AutoGen>True</AutoGen> <DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon> </Compile>
</Compile> <None Include="Properties\Settings.settings">
<None Include="Properties\Settings.settings"> <Generator>SettingsSingleFileGenerator</Generator>
<Generator>SettingsSingleFileGenerator</Generator> <LastGenOutput>Settings.Designer.cs</LastGenOutput>
<LastGenOutput>Settings.Designer.cs</LastGenOutput> </None>
</None> <Compile Include="Properties\Settings.Designer.cs">
<Compile Include="Properties\Settings.Designer.cs"> <AutoGen>True</AutoGen>
<AutoGen>True</AutoGen> <DependentUpon>Settings.settings</DependentUpon>
<DependentUpon>Settings.settings</DependentUpon> <DesignTimeSharedInput>True</DesignTimeSharedInput>
<DesignTimeSharedInput>True</DesignTimeSharedInput> </Compile>
</Compile> </ItemGroup>
</ItemGroup> <ItemGroup>
<ItemGroup> <None Include="App.config" />
<None Include="App.config" /> </ItemGroup>
</ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>

View File

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

View File

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

View File

@ -1 +1 @@
b69314ac7e0577ff976a8ba62b6b4dc25ca31ef0 d2a509232f30804e06c635054be7c5f81c895b43e12ff8f66085ca477f29e392

View File

@ -1,17 +1,27 @@
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.AssemblyReference.cache H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.AssemblyReference.cache
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.Form1.resources H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.SuggestedBindingRedirects.cache
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.Properties.Resources.resources H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.Form1.resources
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.GenerateResource.cache H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.Properties.Resources.resources
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.CoreCompileInputs.cache H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.GenerateResource.cache
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.exe.config H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.CoreCompileInputs.cache
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.exe H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.exe.config
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.pdb H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.exe
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\helogwri.pdb H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.CopyComplete H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\helogwri.dll
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.exe H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\helogwri.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.pdb H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.CopyComplete
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\helogwri.dll H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.exe
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\de\helogwri.resources.dll H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.pdb
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\en\helogwri.resources.dll C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.AssemblyReference.cache
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\heshowtf.dll C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.Form1.resources
H:\Programmieren\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\heshowtf.pdb C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.Properties.Resources.resources
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.GenerateResource.cache
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.csproj.CoreCompileInputs.cache
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.exe
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_LogWriter.pdb
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.exe.config
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.exe
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\Test_LogWriter.pdb
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\helogwri.dll
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\bin\Debug\helogwri.pdb
C:\CAD\Git-WorkRepository\VisualStudio\_DLL\LogWriter.git\Test_LogWriter\obj\Debug\Test_Log.B764C44C.Up2Date