<?xml version="1.0"?>
<doc>
<assembly>
<name>
JFTools
</name>
</assembly>
<members>
<member name="T:JF.Tools.My.Resources.Resources">
<summary>
  Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
</summary>
</member>
<member name="P:JF.Tools.My.Resources.Resources.ResourceManager">
<summary>
  Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
</summary>
</member>
<member name="P:JF.Tools.My.Resources.Resources.Culture">
<summary>
  Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
  Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
</summary>
</member>
<member name="T:JF.Tools.Extensions.Extensions_Enum">
 <summary>
 Contains ENUM extension 
 </summary>
 <remarks> 
 #New: 3.1486;02.11.2018;J.Fes
 #LUp: 3.1601;15.07.2021;J.Fes add JFEqualsOnlyOne
 </remarks>
</member>
<member name="M:JF.Tools.Extensions.Extensions_Enum.JFEqualsAnyOf(System.Enum,System.Enum[])">
 <summary>
 Checks if en1 is equal to one of en2() array 
 </summary>
 <param name="en1_p">Enumeration</param>
 <param name="en2_p">List of ENUMS</param>
 <returns><c>True</c>, wenn en2 in en1 enthalten ist, sonst <c>False</c>.</returns>
 <remarks> 
 #New: 3.1487;22.11.2018;J.Fes/A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.Extensions.Extensions_Enum.JFEqualsOnlyOne(System.Enum,System.Enum[])">
 <summary>
 Checks if en2.Length = 1 and en1_p = en2_p
 </summary>
 <param name="en1_p">Enumeration</param>
 <param name="en2_p">List of ENUMS</param>
 <returns><c>True</c>if en2_p.Length = 1 and en1_p = en2 else <c>False</c>.</returns>
 <remarks> 
 #New: 3.1601;15.07.2021;J.Fes
 </remarks>
</member>
<member name="T:JF.Tools.CLA.ArgumentArrayExtensions">
 <summary>
 Provides extension methods for parsing and retrieving command-line arguments from a string array.
 </summary>
 <remarks>
  #New: 24.11.2025;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.CLA.ArgumentArrayExtensions.HasArgument(System.String[],System.String,System.Collections.Generic.IEnumerable{System.String})">
 <summary>
 Determines whether a specific argument or one of its aliases is present in the argument array.
 </summary>
 <param name="args">The array of command-line arguments.</param>
 <param name="argumentName">The name of the argument to search for (without prefix).</param>
 <param name="aliasNames">Optional aliases that can also be recognized as the argument.</param>
 <returns><c>True</c> if the argument or any alias exists in the array; otherwise, <c>False</c>.</returns>
 <remarks>
  Returns False if the <paramref name="args"/> array is null or empty.
  #New: 24.11.2025;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.CLA.ArgumentArrayExtensions.GetArgumentValue(System.String[],System.String,System.Collections.Generic.IEnumerable{System.String},System.String)">
 <summary>
 Retrieves the value associated with a given argument or its alias from the argument array.
 </summary>
 <param name="args">The array of command-line arguments.</param>
 <param name="argumentName">The name of the argument whose value is to be retrieved.</param>
 <param name="aliasNames">Optional aliases for the argument name.</param>
 <param name="defaultValue">This value will be returned in case to value is available.</param>
 <returns>The value following the specified argument; or null/Nothing if not found or missing a value.</returns>
 <remarks>
  Returns <c>Nothing</c> if <paramref name="args"/> is null or empty.
  #New: 24.11.2025;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.CLA.ArgumentArrayExtensions.TryGetArgumentValue(System.String[],System.String,System.String@,System.Collections.Generic.IEnumerable{System.String})">
 <summary>
 Attempts to retrieve the value of the specified argument or one of its aliases from the argument array.
 </summary>
 <param name="args">The array of command-line arguments.</param>
 <param name="argumentName">The name of the argument to retrieve.</param>
 <param name="refArgumentValue">When this method returns, contains the value associated with the argument if found; otherwise, <c>Nothing</c>.</param>
 <param name="aliasNames">Optional aliases that can also match the argument.</param>
 <returns><c>True</c> if the argument value was found; otherwise, <c>False</c>.</returns>
 <remarks>
  #New: 24.11.2025;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.CLA.ArgumentArrayExtensions.GetArgumentIndex(System.String[],System.String,System.Collections.Generic.IEnumerable{System.String})">
 <summary>
 Gets the index of the specified argument or one of its aliases within the array.
 </summary>
 <param name="args">The array of command-line arguments.</param>
 <param name="argumentName">The name of the argument to locate.</param>
 <param name="aliasNames">Optional aliases that can also match the argument.</param>
 <returns>The index of the argument if found; otherwise, <c>Nothing</c>.</returns>
 <remarks>
  Recognizes arguments with "/", "--", or "-" prefixes.
  Compares names case-insensitively.
  #New: 24.11.2025;A.Becker
 </remarks>
</member>
<member name="T:JF.Tools.CLA.Tools">
 <summary>
 Stellt Classe fuer das erstellen und abfragen von CommandLineArguments (CLA) bereit 
 </summary>
 <remarks>new 24.06.2011</remarks>
</member>
<member name="M:JF.Tools.CLA.Tools.ConvertParamStringToPropertyTypeValue(System.String,System.Reflection.PropertyInfo)">
 <summary>
 Konvertriert den übergebenen ParamString in ein Objekt vom Typ der Property die den Wert aufnehmen soll
 </summary>
 <param name="ParamStr_p">Teilstring der Kommandozeile, der den Wert des Parameters darstellt</param>
 <param name="pInfo">Property die den Parameterwert aufnehmen soll</param>
 <returns>Objekt vom Typ der per PropertyInfo übergebenen Property</returns>
 <remarks>
 Nur hier berücksichtigte Typen können verwendet werden
 #LUp: 3.1601;11.02.2022;J.Fes string values are now set via JF.Tools.StringEnvironValuesGet(ParamStr_p)
 #LUp: 3.2000;19.09.2024;S.Gueth: added Boolean conversion
 </remarks>
</member>
<member name="T:JF.Tools.CLA.Tools.ParamValue_struc">
 <summary>
 Definiert ein Objektpaar von CLIParam und PropertyInfo
 </summary>
</member>
<member name="T:JF.Tools.CLA.Tools.ParamProperty_Info">
 <summary>
 Definiert ein Objektpaar von CLIParam und PropertyInfo
 </summary>
</member>
<member name="T:JF.Tools.CLA.Tools.HelpIntroductionAttribute">
 <summary>
 legt einleitende Informationen zu den Kommandozeilen Argumenten fest.
 Es können mehrere Blöcke angegeben werden.
 </summary>
</member>
<member name="M:JF.Tools.CLA.Tools.HelpIntroductionAttribute.#ctor(System.String,System.String)">
 <summary>
 initialisiert eine neue Instanz der HelpIntroductionAttribute Klasse
 </summary>
 <param name="header">der Titel für diesen Block</param>
 <param name="body">der Inhalt Text des Blockes</param>
</member>
<member name="P:JF.Tools.CLA.Tools.HelpIntroductionAttribute.Header">
 <summary>
 der Titel für diesen Block
 </summary>
</member>
<member name="P:JF.Tools.CLA.Tools.HelpIntroductionAttribute.Body">
 <summary>
 der Inhalt Text des Blockes
 mit \n können Zeilenumbrüche eingefügt werden
 </summary>
</member>
<member name="T:JF.Tools.CLA.Tools.ParamAttribute">
 <summary>
 Legt eine Property als CommandLine ParameterProperty fest.
 </summary>
</member>
<member name="M:JF.Tools.CLA.Tools.ParamAttribute.#ctor(System.Object,System.String,System.String,System.String)">
 <summary>
 defines for a commanline property all attributes.
 </summary>
 <param name="DefaultValue_p">default value for this parameter. #Doc: must be of same tpye like PropertyTyp</param>
 <param name="UsageExample_p">show a usage example</param>
 <param name="UsageDescription_p">show a usage description</param>
 <param name="DisplayName_p">display name will be shown in the property grid</param>
 <remarks>Wenn als DefaultValue Nothing angegeben wird, sollte dieses im Setter berücksichtigt werden
 #LUp: 3.1296;12.12.2016;J.Fes Changed Usage_p to UsageExample_p
 #LUp: 3.1428;04.09.2017;S.Gueth added display name to parameters
 </remarks>
</member>
<member name="P:JF.Tools.CLA.Tools.ParamAttribute.DefaultValue">
 <summary>
 this value will be used if the argument is omitted
 </summary>
</member>
<member name="P:JF.Tools.CLA.Tools.ParamAttribute.UsageExample">
 <summary>
 holds a short usage example
 </summary>
</member>
<member name="P:JF.Tools.CLA.Tools.ParamAttribute.UsageDescription">
 <summary>
 holds the description of this argument.
 you can use \n to insert a newline
 </summary>
</member>
<member name="P:JF.Tools.CLA.Tools.ParamAttribute.DisplayName">
 <summary>
 defines the display name, that will bve shown in the property grid
 </summary>
 <remarks> 
 #New: 3.1428;04.09.2017;S.Gueth
 </remarks>
</member>
<member name="P:JF.Tools.CLA.Tools.HelpAutoDocu_Get(System.Object)">
 <summary>
 returns Help / Usage 
 </summary>
 <value></value>
</member>
<member name="M:JF.Tools.CLA.Tools.PropertyInfoFormatedStringGet(JF.Tools.CLA.Tools.ParamProperty_Info)">
 <summary>
 function to get formated property information string
 </summary>
 <remarks> 
 #New: 3.1488;11.01.2019;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.CLA.Tools.TransmittedCLAs_Get(System.Collections.ObjectModel.ReadOnlyCollection{System.String})">
 <summary>
 stellt eine liste der übergebnen CLAs zusammen
 </summary>
 <remarks> 
 #LUp: 3.1602;04.08.2022;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.CLA.Tools.TransmittedCLAs_Get(System.Collections.ObjectModel.ReadOnlyCollection{System.String},System.Object)">
 <summary>
 stellt eine liste der übergebnen CLAs zusammen
 </summary>
 <remarks> 
 #LUp: 3.1602;04.08.2022;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.CLA.Tools.ParamProperties_Get(System.Object,System.Boolean)">
 <summary>
 Liste aller in dieser Klasse definierten CLAParam Properties abrufen und in Dictionary merken
 </summary>
 <param name="SetDefault"></param>
</member>
<member name="M:JF.Tools.CLA.Tools.ApplCLAs_Parse(System.Collections.ObjectModel.ReadOnlyCollection{System.String},System.Object@)">
 <summary>
 Parst aus den CommandlineArgs (My.Application.CommandLineArgs) die Daten und übergibt die Daten an CLA_obj_p 
 </summary>
 <param name="CLA_Obj_p"></param>
 <param name="CLAs_p">My.Application.CommandLineArgs</param>
 <remarks> 
 #LUp: 3.2000;19.09.2024;S.Gueth: changed behavior for command line arguments from type boolean
 </remarks>
</member>
<member name="M:JF.Tools.CLA.Tools.GetAllUsedGitterVarNames(System.String)">
 <summary>
 Ermittelt aus einem String alle Gitter Variablennamen
 </summary>
 <param name="text"></param>
</member>
<member name="M:JF.Tools.CLA.Tools.GetNextUsedGitterVarName(System.String,System.String@)">
 <summary>
 Ermittelt aus einem String den ersten vorkommenden Gitter Variablennamen
 </summary>
 <param name="text"></param>
 <param name="foundGitterVarName"></param>
</member>
<member name="T:JF.Tools.CLA.CLA_Base_cls">
 <summary>
 definiert die CLA BasisClasse
 </summary>
</member>
<member name="T:JF.Tools.JF_ConsoleAndPrintTools_cls">
 <summary>
 <br/>class for console and print commands''' 
 </summary>
 <remarks> 
 <br/>#New: 3.1602;27.07.2022;S.Gueth: moved from CMDTools to JFTools
 </remarks>
</member>
<member name="T:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum">
 <summary>
 defines print type's for Output Messages in cmd window
 </summary>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum.DoPrint">
 <summary>
 Use this Enum to define that this message is always printed (Print's cmd color)
 </summary>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum.DoPrintOK">
 <summary>
 Use this Enum to define that this message is OK // printed in green  
 </summary>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum.DoPrintWRN">
 <summary>
 Use this Enum to define that this message is WRN // printed in blue
 </summary>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum.DoPrintMSG">
 <summary>
 Use this Enum If you just message // printed in yellow
 </summary>
 <remarks>
 <br/>#New: 2.1210;13.02.2015;J.Fes
 <br/>#LUp: 3.1410;07.06.2017;J.Fes Name changed from 'InputMsg' to 'DoPrintMsg'
 </remarks>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum.DoPrintERR">
 <summary>
 Use this Enum to define that this message is a Error Message // printed in red
 </summary>
 <remarks>New: 2.1199;08.08.2013;J.Fes</remarks>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum.DoPrintEXC">
 <summary>
 Use this Enum to define that this message is a Exception Message // printed in red
 </summary>
 <remarks>New: 2.1199;08.08.2013;J.Fes</remarks>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum.Verbose">
 <summary>
 Use this Enum to define that this message is only printed if -verbose is aktive // printed in cyan
 </summary>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum.NoPrint">
 <summary>
 Internaly used if Software loggig desides 'NOT' to print this Message 
 </summary>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintLineWithHeaderText(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.String,System.Char,System.String)">
 <summary>
 <br/>Prints 80 char long seperation including HeaderText_p 
 <br/>#Exa: "--- HeaderText_p -----------------------------------"
 </summary>
 <param name="PrintType_enum_p"></param>
 <param name="Char_p"></param>
 <param name="Log_DPNE_p"><see cref="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintMsg(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.Exception,System.String,System.Boolean,System.String)"></see>Log_DPNE_p</param>
</member>
<member name="P:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintMsgLastHeaderText">
 <summary>
 contains last print message
 </summary>
 <remarks> 
 <br/>#New: 3.1488;09.12.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintLine(System.Int32,JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.String)">
 <summary>
 Prints n Empty Line to the cmd window
 </summary>
 <remarks> 
 <br/>#New: 3.1503;11.04.2021;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintLine(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.Char,System.String)">
 <summary>
 Prints 80 char long parting/seperation line "----- "
 </summary>
 <param name="PrintType_enum_p"></param>
 <param name="Char_p"></param>
 <param name="Log_DPNE_p"><see cref="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintMsg(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.Exception,System.String,System.Boolean,System.String)"></see>Log_DPNE_p</param>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintLine(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,JF.Tools.JF_ConsoleAndPrintTools_cls.PrintLineType_Enum,System.String)">
 <summary>
 Print Line using PrintLineType_Enum 
 </summary>
 <remarks> 
 <br/>#New: 3.1453;11.02.2018;J.Fes
 </remarks>
</member>
<member name="T:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintLineType_Enum">
 <summary>
 defines PrintLineType
 </summary>
 <remarks> 
 <br/>#New: 3.1453;11.02.2018;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintLineType_Enum.NextStep">
 <summary>
 Prints next step line "...." 
 </summary>
 <remarks> 
 <br/>#New: 3.1453;11.02.2018;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintLineType_Enum.ExclamationMark">
 <summary>
 Prints next step line "!!!!!" 
 </summary>
 <remarks> 
 <br/>#New: 3.1453;11.02.2018;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintLineType_Enum.Anotation">
 <summary>
 Prints next step line "#####" 
 </summary>
 <remarks> 
 <br/>#New: 3.1453;11.02.2018;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintLineType_Enum.DefaultYes">
 <summary>
 Prints next step line "----" 
 </summary>
 <remarks> 
 <br/>#New: 3.1453;11.02.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintXValEnvPath(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum)">
 <summary>
 prints all values of path variable
 </summary>
 <param name="PrintType_enum_p"></param>
 <remarks> 
 <br/>#New: 3.1288;12.01.2017;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintParam(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.String)">
 <summary>
 prints all parameter seperator = ' -'
 </summary>
 <param name="PrintType_enum_p"></param>
 <remarks> 
 <br/>#New: 3.1487;02.12.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintEnvVariInfo(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.String,System.String)">
 <summary>
 prints for given environvariable Name and value
 </summary>
 <remarks> 
 <br/>#New: 3.1800;04.07.2023;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.DebugGetObjectValue(System.Object)">
 <summary>
 returns for ObjectValue_p Name=Value
 </summary>
 <remarks> 
 <br/>#New: 3.1601;16.07.2021;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintObjectValue(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.String,System.Object,System.Boolean,System.String)">
 <summary>
 Prints Descrption and values in format: #ObjectDescription_p#..............: #ObjectValue_p#
 <br/>use this methode to print application informations
 <br/>--------------- 
 <br/>#Doc: #ObjectDescription_p# max length:35(n) chars if longer then Description will be shorten
 <br/>#Doc: In case TypeOf #ObjectValue_p# Is Exception then JF.Tools.JF_ErrHandler_cls.MyAppl_ExToStr(...) will be used !!
 <br/>--------------- 
 <br/>#Exa: Call PrintObjectValue(PrintType_enum.Verbose, "My description for this Variable", "Value Of Valiable")
 <br/>#Exa: #ObjectDescription_p#..............: #ObjectValue_p#
 <br/>#Exa: P.Res.CBC10:PH (Prt.Header)........: OK
 </summary>
 <param name="PrintType_enum_p"><see cref="T:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum"></see></param>
 <param name="ObjectDescription_p">Description of Object</param>
 <param name="ObjectValue_p">Object that value is to print in case ObjectValue_p </param>
 <param name="LineFeed_p"><see cref="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintMsg(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.Exception,System.String,System.Boolean,System.String)">Param LineFeed</see></param>
 <param name="Log_DPNE_p"><see cref="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintMsg(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.Exception,System.String,System.Boolean,System.String)"></see>Log_DPNE_p</param>
 <remarks>
 <br/>#New: 2.1198;13.07.2013;J.Fes
 <br/>#LUp: 2.1210;06.02.2015;J.Fes;MyAppl_Standards.PrintObject.ObjectText eingefügt
 <br/>#LUp: 3.1601;16.07.2021;J.Fes;add condition if ObjectValue_p.Type = Exception (1*)
 <br/>#LUp: 3.1700;25.11.2022;J.Fes;add details to summary
 <br/>#LUp: 3.2000;11.03.2025;J.Fes;modifiy summary
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintSeperationLine(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.Int32,System.Char,System.Boolean,System.String)">
 <summary>
 Function to print a seperation line ntimes
 </summary>
 <remarks> 
 <br/>#New: 3.1601;02.01.2022;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintSeperationLine(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.Char,System.Boolean,System.String)">
 <summary>
 Function to print a seperation line // #Doc: Sep line width = 80
 </summary>
 <remarks> 
 <br/>#New: 3.1601;02.01.2022;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintMsg(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.Exception,System.String,System.Boolean,System.String)">
 <summary>
 Prints Application Exceptions
 </summary>
 <param name="PrintType_enum_p"></param>
 <param name="ex">the Exception</param>
 <param name="Msg_p">addition info for this Exception</param>
 <param name="LineFeed_p"><see cref="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintMsg(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.Exception,System.String,System.Boolean,System.String)"></see>LineFeed</param>
 <param name="Log_DPNE_p"><see cref="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintMsg(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.Exception,System.String,System.Boolean,System.String)"></see>Log_DPNE_p </param>
 <remarks>New: 2.1210;16.04.2014;J.Fes</remarks>
</member>
<member name="P:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintMsgLast">
 <summary>
 contains last print message
 </summary>
 <remarks> 
 <br/>#New: 3.1488;04.12.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintMsg(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.String,System.Boolean,System.String)">
 <summary>
 Prints Application Messages 
 </summary>
 <param name="PrintType_enum_p"><see cref="T:JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum"></see></param>
 <param name="Msg_p">Message to print on commandline window</param>
 <param name="LineFeed_p">'true'=add Linefeed after print 'false' now Linefeed after print</param>
 <param name="Log_DPNE_p">Logfile to write data additional into. // If value is empty message is not written into this file</param>
 <remarks>
 <br/>#LUp:2.1113;29.08.2012;J.Fes;Last.Change: LineFeed eingefügt
 <br/>#LUp: 3.1488;03.12.2018;J.Fes removed Console.BackgroundColor = ConsoleColor.Black
 <br/>#LUp: 3.1602;29.07.2022;S.Gueth: added quiet  
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.ColorControl(System.ConsoleColor)">
 <summary>
 Controls Colors 
 </summary>
 <param name="ForegroundColor_p"></param>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.DescWith">
 <summary>
 legt die Breite ObjectDescription fest 
 </summary>
 <remarks>
 New: 2.1210;06.02.2015;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.ObjectText(System.String,System.Object)">
 <summary>
 Formats output for Objects and Value
 </summary>
 <param name="ObjectDescription_p"></param>
 <param name="ObjectValue_p"></param>
 <returns></returns>
 <remarks>
 <br/>#New: 2.1210;06.02.2015;J.Fes
 <br/>#LUp: 3.1487;21.11.2018;J.Fes add  If ObjectValue_p Is Nothing Then
 </remarks>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.ShellExecuteResultCodeOk">
 <summary>
 defines ShellExecuteResultCode Value to interpret Result as OK 
 // Default = 0
 // Example1 if ShellExecuteResultCodeOk = 1 and ShellExecuteResultCode = 1 then Result is interpredet as OK
 </summary>
</member>
<member name="F:JF.Tools.JF_ConsoleAndPrintTools_cls.ShellExecuteResultCode">
 <summary>
 Returns Shell execution Resultcode
 // -via: Process_Obj.ExitCode
 // - or via: Internal definition Example: Abord by time trigger
 </summary>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.ShellExecute(System.String,System.String,System.String,System.Boolean@,System.String@,System.String@,System.Int32,System.Nullable{System.Threading.CancellationToken},System.Nullable{System.Int32},System.String,System.String,System.String,System.String)">
 <summary>
 <br/>Executes a external program 
 </summary>
 <param name="Titel_p">Titel to Displaay in beging of process</param>
 <param name="cmdProg_p"></param>
 <param name="cmdArgs_p"></param>
 <param name="StandardOutputPrintToShell_p">if true StandardOutput_String_r + StandardErrOutput_String_r returns standard output</param>
 <param name="StdOutput_pr">Returns Standard output from cmd window</param>
 <param name="ErrOutput_pr">Returns Error output from cmd window</param>
 <param name="maxDurationInMsec_p">Default = -1 process will NOT be 'canceled'</param>
 <param name="SleepAfterExitScritpInMsec_p">Default = 0,01[sec] Wait Time after executing Shell Script [#New: 2.1174;28.11.2012;J.Fes]</param>
 <param name="StdOutputLog_DPNE_p">Logfile to write standard output messages into. [#New: 2.1216;29.07.2015;J.Fes]</param>
 <param name="ErrOutputLog_DPNE_p">Logfile to write error output messages into. [#New: 2.1216;29.07.2015;J.Fes]</param>
 <param name="CurrentDirectorySetTo_DP_p">If set then ShellExecute change into this directory [#New: 3.1490;08.01.2020;J.Fes]</param>
 <returns>
  <br/>#Doc: Return_Obj_r.ReturnString contains std.out text 
  <br/>#Doc: Return_Obj_r.ResultCode contains process exit code
 </returns>
 <remarks>
 <br/>#New: 2.1002;20.05.2012;J.Fes
 <br/>#LUp: 3.1246;27.06.2016;J.Fes SleepAfterExitScritpInMsec_p improved
 <br/>#LUp: 3.1490;08.01.2020;J.Fes Optional ByVal maxDurationInMsec_p As Integer = (2 * 60 * 1000) -> Optional ByVal maxDurationInMsec_p As Integer = -1
 <br/>#LUp: 3.2000;06.11.2024;S.Gueth: added passwordValue_p parameter
 <br/>#LUp: 3.2000;24.01.2026;J.Fes moved add PrintMsg
 </remarks>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.ShellExecute_StdOut_SB_Handler(System.Object,System.Diagnostics.DataReceivedEventArgs)">
 <summary>
 Collect the standard command output.
 </summary>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.ShellExecute_ErrOut_SB_Handler(System.Object,System.Diagnostics.DataReceivedEventArgs)">
 <summary>
 Collect the Error command output.
 </summary>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.Pause(System.String,System.Boolean)">
 <summary>
 Pause Application if CLA -Pause was given  
 </summary>
 <param name="Msg_p"></param>
</member>
<member name="M:JF.Tools.JF_ConsoleAndPrintTools_cls.Pause(JF.Tools.JF_ConsoleAndPrintTools_cls.PrintType_enum,System.String,System.Boolean)">
 <summary>
 Pause if verbose is active
 </summary>
 <param name="PrintType_enum_p"></param>
 <param name="Msg_p"></param>
 <param name="PauseForce_op"></param>
 <remarks>#New: 3.1231;02.02.2016;J.Fes</remarks>
</member>
<member name="M:JF.Tools.ConsoleTools.Timeout(System.Int32,System.String)">
 <summary>
 Waits for 
 </summary>
 <param name="WaitTime_msec_p"></param>
 <param name="Msg_txt_p"></param>
 <returns></returns>
</member>
<member name="M:JF.Tools.JF_Convert.JF_CParameterValueStr(System.String)">
 <summary>
 returns ParameterValue von ParameterValueValueIn 
 [Regel: ist in ParameterValueIn ein leerzeichen enthalten so das Ergebniss mit "" ausgegeben]
 </summary>
 <param name="ParameterValueIn"></param>
</member>
<member name="M:JF.Tools.JF_Convert.JF_Val(System.String,System.Char,System.Char,System.Double)">
 <summary>
 konvertiert einen String in einen Double wert um.
 Hinweise: Werden keine Optionen angegeben so wird für den Decimaltrenner das Zeichen "," angenommen und an der letzten Stelle durch "." ersetzt.
 Sollen geziehlte ersetzungen vorgenommen werden so ist es erforderlich die Parameter NumberGroupSeparator und NumberDecimalSeparator anzugeben
 [#Example:JF_Val("1.001,01", "."c, ","c)=1001,01] 
 [#Example:JF_Val("2,001.01", ","c, "."c)=2001,01] 
 [#Example:JF_Val("3000.101")=3000,101] [Example:JF_Val("4001.01")=4001,01] 
 [#Example:JF_Val(".05", " "c, ","c)=0,05] [Example:JF_Val(",05", " "c, ","c)=0,05] 
 </summary>
 <param name="StringConvertToDouble"></param>
 <param name="NumberGroupSeparator"></param>
 <param name="NumberDecimalSeparator"></param>
 <param name="defaultValueIfConvertDidNotWorked"></param>
 <remarks>new 3.9.2010 J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_CSV.Semik_Out(System.String)">
 <summary>
 ersetzt in Namen ; durch #Chr(59)#
 </summary>
 <param name="NameIn"></param>
</member>
<member name="M:JF.Tools.JF_CSV.Semik_Revers(System.String)">
 <summary>
 ersetzt in Namen #Chr(59)# durch ; 
 = umkehrung von Semik_Out 
 </summary>
 <param name="NameIn"></param>
</member>
<member name="M:JF.Tools.JF_CSV.RemoveInvaldCharsFromString(System.String,System.Char,System.String)">
 <summary>
 checks a given string for invalid characters for a csv file
 </summary>
 <remarks> 
 #New: 3.1502;07.01.2021;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_CSV.RemoveAllNonASCICharsFromStringAndKeepUmlaute(System.String,System.Char)">
 <summary>
 checks a given string for invalid characters by a given RegexPattern for a csv file and keeps all Umlaute in the String
 </summary>
 <remarks> 
 #New: 3.1502;25.02.2021;A.Stein
 </remarks>
</member>
<member name="M:JF.Tools.JF_Debug.SqlParameterAsString(System.Data.Common.DbParameterCollection)">
 <summary>
 Listet die Sql Parameter und werte auf
 </summary>
 <param name="SqlParams_p"></param>
</member>
<member name="M:JF.Tools.JF_Debug.DataTableAsString(System.Data.DataTable,System.Int32)">
 <summary>
 #Doc: Die Daten der Tabelle werden einfach in das Direktfenster geschrieben.
 #Doc: Die Standard Spaltenbreite ist auf 16 Zeichen festgelegt
 </summary>
 <param name="DataTable_p"></param>
</member>
<member name="M:JF.Tools.JF_Debug.DataRowAsString(System.Data.DataRow,System.Int32)">
 <summary>
 Info die Daten der DataRowIn werden einfach in das Direktfenster geschrieben.
 Info: Die Standard Spaltenbreite ist auf 16 Zeichen festgelegt
 </summary>
 <param name="DataRow_p"></param>
 <param name="CellWith"></param>
</member>
<member name="M:JF.Tools.JF_Debug.DataDataColumnCollectionAsString(System.String,System.Data.DataColumnCollection)">
 <summary>
 gibt die Colume Auflistungen einer System.Data.DataColumnCollection als Liste aus
 </summary>
 <param name="DataColumnCollection_p"></param>
 <param name="TableColInfoText_p"></param>
 <remarks>New: 2.1200;23.08.2013;J.Fes</remarks>
</member>
<member name="P:JF.Tools.JF_Appl_DebugSetting_cls.LogLevel">
 <summary>
 get or set's LogLevel Values (1..6)
 </summary>
 <value></value>
 <remarks>new 12.09.2010/J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_Appl_DebugSetting_cls.RaiseEvents">
 <summary>
 Raises all events off this class
 </summary>
 <remarks>new 14.01.2011/J.Fes</remarks>
</member>
<member name="P:JF.Tools.JF_Appl_DebugSetting_cls.LogOnOff">
 <summary>
 get or set LogOnOff State. If LogInOff is set to new value Event 'LogOnOffChanged(value)' will be raised
 </summary>
 <value></value>
</member>
<member name="M:JF.Tools.JF_Appl_DebugSetting_cls.DebugViewLoggingRuleGet">
 <summary>
 gibt die NLog.config.LoggingRule von Ziel "DebugView" das in  ...\01-BinServer\NLog.config  (=default)  definiert 
 </summary>
 <remarks>new 10.09.2010 A.Becker/J.Feuerstein</remarks>
</member>
<member name="P:JF.Tools.JF_Appl_DebugSetting_cls.LogIsOn">
 <summary>
 returns if Log is on
 </summary>
 <value></value>
</member>
<member name="M:JF.Tools.JF_Appl_DebugSetting_cls.DebugLogOnOffToogle">
 <summary>
 toggles the current Debug Log Mode On/Off
 </summary>
</member>
<member name="T:JF.Tools.JF_Encryption">
 <summary>
 Bietet Verschlüsselung von kurzen Texten (max wenige KB)
 </summary>
</member>
<member name="M:JF.Tools.JF_Encryption.Encrypt(System.String,JF.Tools.JF_Encryption.KeyAndIV)">
 <summary>
 Verschlüsselt einen Text
 </summary>
 <param name="plaintextData_p">Zu verschlüsselnder Klartext</param>
 <param name="keyAndIv_p">Schlüssel und Initialisierungsvektor, wenn nicht angegeben wird ein Defaultwert verwendet.</param>
</member>
<member name="M:JF.Tools.JF_Encryption.EncryptAuto(System.String,JF.Tools.JF_Encryption.KeyAndIV)">
 <summary>
 returns anyhow encrypted data 
 <para/>#Doc: returns value of maybeEncryptedData_p if maybeEncryptedData_p is already encrypted
 <para/>#Doc: returns encrypted data if maybeEncryptedData_p was !NOT! encrypted before
 </summary>
 <param name="maybeEncryptedData_p"></param>
 <param name="keyAndIv_p"></param>
 <remarks> 
 #New: 3.1318;13.04.2017;J.Fes
 #LUp: 3.2000;16.10.2024;A.Becker - Changed parameter maybeEncryptedData_p from ByRef to ByVal
 </remarks>
</member>
<member name="M:JF.Tools.JF_Encryption.DecryptIfEncrypted(System.String,JF.Tools.JF_Encryption.KeyAndIV)">
 <summary>
 Entschlüsselt einen Text, falls dieser verschlüsselt ist.<br />
 Falls nicht, wird der Originaltext zurückgegeben.
 </summary>
 <param name="maybeEncryptedData_p">Zu entschlüsselnder Ciphertext</param>
 <param name="keyAndIv_p">Schlüssel und Initialisierungsvektor, wenn nicht angegeben wird ein Defaultwert verwendet.</param>
</member>
<member name="M:JF.Tools.JF_Encryption.Decrypt(System.String,JF.Tools.JF_Encryption.KeyAndIV)">
 <summary>
 Entschlüsselt einen Text.<br />
 Wirft eine ArgumentException, falls der Text nicht verschlüsselt ist.
 </summary>
 <param name="encryptedData_p">Zu entschlüsselnder Ciphertext</param>
 <param name="keyAndIv_p">Schlüssel und Initialisierungsvektor, wenn nicht angegeben wird ein Defaultwert verwendet.</param>
</member>
<member name="M:JF.Tools.JF_Encryption.MultiPartialDecrypt(System.String,JF.Tools.JF_Encryption.KeyAndIV)">
 <summary>
 Entschlüsselt einen Text der mehrere verschlüsselte Passagen enthalten kann (aber nicht muss).
 </summary>
 <param name="partiallyEncryptedData_p">Text mit verschlüsselten Passagen</param>
 <param name="keyAndIv_p">Schlüssel und Initialisierungsvektor, wenn nicht angegeben wird ein Defaultwert verwendet.</param>
</member>
<member name="M:JF.Tools.JF_Encryption.IsEncrypted(System.String)">
 <summary>
 Prüft, ob ein string einen verschlüsselten Text enthält.<br />
 Dazu wird der Header auf Vorhandensein getestet.
 </summary>
 <param name="dataToTest_p">Zu prüfender String</param>
</member>
<member name="T:JF.Tools.JF_ErrHandler_cls">
 <summary>
 JF Classe um Err + Exception zu handhaben 
 </summary>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.Appl_ErrMsg_Enum.err0000_NoErrorUp">
 <summary>
 No Text is returend
 </summary>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.Appl_ErrMsg_Enum.err0001_NotSpec">
 <summary>
 No Text is returend
 </summary>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.Appl_ErrMsg_Enum.err0002_GeneralException">
 <summary>
 No Text is redurend 
 </summary>
</member>
<member name="M:JF.Tools.JF_ErrHandler_cls.MyAppl_ExceptionMsgbox_Show(System.String,System.Exception,JF.Tools.JF_ErrHandler_cls.Appl_ErrMsg_Enum)">
 <summary>
 
 </summary>
 <remarks> 
 <br/>#LUp: 3.2000;12.09.2025;J.Fes add copy to Clipboard
 </remarks>
</member>
<member name="M:JF.Tools.JF_ErrHandler_cls.MyAppl_ErrorMsgbox_Show(System.String,JF.Tools.JF_ErrHandler_cls.Appl_ErrMsg_Enum,System.String)">
 <remarks> 
 <br/>#LUp: 3.2000;12.09.2025;J.Fes add copy to Clipboard
 </remarks>
</member>
<member name="M:JF.Tools.JF_ErrHandler_cls.MyAppl_ExToStr(JF.Tools.JF_ErrHandler_cls.Appl_ErrMsg_Enum,System.Exception,System.String)">
 <summary>
 Returns Exeptions Details: 'Ex.Message' + 'Ex.StackTrace' + 'AppMsgText'
 </summary>
 <param name="Appl_ErrMsg_Enum_p"></param>
 <param name="ex_p"></param>
 <param name="AppMsgText_p"></param>
 <remarks>
 #LUp: 2.1077;06.07.2012;J.Fes format angepasst
 #LUp: 2.1219;07.11.2015;J.Fes Output format angepasst
 #LUp: 3.1279;26.10.2016;J.Fes Output format angepasst
 #LUp: 3.1601;14.07.2021;J.Fes Output format angepasst in..\.. to new line 
 </remarks>
</member>
<member name="M:JF.Tools.JF_ErrHandler_cls.stackTraceLine_Parse(System.String,System.String)">
 <summary>
 parses stackTraceLine // Main Action Removes Sourcecode Direcory path
 Example:    
 from: '   bei JFTools.Test.JF_QuickTest.MainTestEx() in V:\JF-ProgLib\ProgEntw\JFProgLib.NET\10-src\JFTools.Test\JFTools_Test.vb:Zeile 354.'
 to..: 'bei JFTools.Test.JF_QuickTest.MainTestEx() in ..\JFTools_Test.vb:Zeile 354.'
 </summary>
 <param name="stackTraceLine_p"></param>
 <remarks>
 #New: 2.1219;07.11.2015;J.Fes
 #LUp: 3.1278;26.10.2016;J.Fes
 #LUp: 3.1601;14.07.2021;J.Fes add innerNewLine3_p ...
 </remarks>
</member>
<member name="T:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum">
 <summary>
 List of all JobMgr Dataimport issues
 !!-- neet to be moved into JobMgrContracts --!!
 </summary>
 <remarks> 
 #LUp: 3.1438;22.11.2017;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.ERR_200_DateTimeIsNull">
 <summary>
 Use if expected DateTime is Null 
 </summary>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.ERR_201_DateTimeFormatWrong">
 <summary>
 Use if expected DateTime is Null 
 </summary>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.WRN_202_RelDateIrToStatusObjDif">
 <summary>
 release date between work space object and status object is inconsistent
 </summary>
 <remarks> 
 #New: 3.1462;17.04.2018;S.Gueth
 #LUp: 3.1463;03.05.2018;S.Gueth: renamed from ERR_202_ReleaseDateWOSObjAndStatusObjInconsistent to WRN_202_RelDateIrToStatusObjDif
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.WRN_203_RelDateIrIsMissing">
 <summary>
 release date ir (work space object) is missing
 </summary>
 <remarks> 
 #New: 3.1462;07.05.2018;S.Gueth
 #LUp: 3.1501;17.07.2020;J.Fes canged from ERR_203_RelDateIrIsMissing to WRN_203_RelDateIrIsMissing
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.WRN_204_RelDateWSOIsMissing">
 <summary>
 release date of status object is missung
 </summary>
 <remarks> 
 #New: 3.1462;07.05.2018;S.Gueth
 #LUp: 3.1501;17.07.2020;J.Fes canged from ERR_204_RelDateWSOIsMissing to WRN_204_RelDateWSOIsMissing 
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.ERR_301_DSIsMissingFile">
 <summary>
 im Dataset fehlt das erforderlich FileObject
 </summary>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.ERR_302_DSHasMultibleCADFiles">
 <summary>
 im Dataset ist mehr als ein FileObject enthalten
 </summary>
 <remarks> 
 #LUp: 3.1800;11.12.2023;J.Fes renamde from:ERR_302_DSHasMutiCADFiles to:ERR_302_DSHasMultibleCADFiles 
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.ERR_303_DSVer">
 <summary>
 Dataset pd_highest_rev and Dataset File Version (highest) not matching
 </summary>
 <remarks> 
 #New: 3.1237;31.05.2016;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.ERR_304_DSisMissingFileOnVol">
 <summary>
 DS File Missing on TC-Volume 'see also Named Ref'
 </summary>
 <remarks> 
 #New: 3.1601;13.06.2022;J.Fes/A.Stein
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.ERR_401_NativNxFilePropIssue">
 <summary>
 Native NX.prt File has Propery Issue like read access
 </summary>
 <remarks> 
 #New: 3.1492;12.05.2020;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.ERR_402_NativNxFilePropHasZeroBytes">
 <summary>
 Native NX.prt File size equ Zero Bytes
 </summary>
 <remarks> 
 #New: 3.1492;12.05.2020;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.ERR_410_NativNxFileBOMAnalyse">
 <summary>
 Native NX.prt File has ERROR Issue caused by BOMAnalyse (detected via ugpc.exe)
 </summary>
 <remarks> 
 #New: 3.1492;12.05.2020;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.WRN_411_NativNxFileBOMAnalyse">
 <summary>
 Native NX.prt File has WARNING caused by BOMAnalyse  (detected via ugpc.exe)
 </summary>
 <remarks> 
 #New: 3.1492;13.05.2020;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.WRN_412_NativNxFileBOMAnalyseCompNf">
 <summary>
 Native NX.prt File has WARNING caused by BOMAnalyse because AP Component not found (detected via ugpc.exe)
 <para/>#Exa:   File W:\eoms_daten\IMPORT\BORCAD\STS\emico_130-0113_krytka_M12_nakup_new_ipart.prt not found
 </summary>
 <remarks> 
 #New: 3.1492;13.05.2020;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.WRN_361_PFMemberFolderRef">
 <summary>
 PFMember not refferenced to pf folder
 </summary>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.WRN_362_PFMasterFolderRef">
 <summary>
 PFMaster not refferenced to pf folder 
 </summary>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.WRN_363_PFMasterNoPFMember">
 <summary>
 PFMaster has no part family members 
 </summary>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.WRN_364_PFMasterMemberFolderRef">
 <summary>
 PFMember not refferenced to pf folder in PFMaster and not in PFMember
 </summary>
 <remarks> 
 #New: 3.1464;11.05.2018;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.WRN_365_PFMasterMissing">
 <summary>
 PFMaster not exist (anymore) for PFMember
 </summary>
 <remarks> 
 #New: 3.1464;11.05.2018;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ErrHandler_cls.MyAppl_InfoMsg_Enum.WRN_366_PFMasterMemberHasWRN">
 <summary>
 PFMember of PFMaster has Warnings
 </summary>
 <remarks> 
 #New: 3.1468;30.05.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_FileDef_cls.#ctor(System.String)">
 <summary>
 
 </summary>
 <param name="File_DPNE_p"></param>
</member>
<member name="P:JF.Tools.JF_FileDef_cls.FileInfo_Obj">
 <summary>
 return file informations
 </summary>
 <remarks> 
 #LUp: 3.1800;18.07.2023;A.Stein added Get; Set
 #LUp: 3.2000;24.04.2024;J.Fes add condition String.IsNullOrEmpty(Me.File_DPNE) AndAlso
 </remarks>
</member>
<member name="P:JF.Tools.JF_FileDef_cls.JF_Info_Obj">
 <summary>
 Info_Obj to transport informations about this file def
 </summary>
</member>
<member name="M:JF.Tools.JF_FileDef_cls.CombinePath(System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean)">
 <summary>
 Combines a path from up to six parts.<br />
 The directory can be created if missing.
 </summary>
 <param name="basePath">The base of the directory path.</param>
 <param name="pathPart1">The first part of the directory path, can be ommited.</param>
 <param name="pathPart2">The second part of the directory path, can be ommited.</param>
 <param name="pathPart3">The third part of the directory path, can be ommited.</param>
 <param name="pathPart4">The fourth part of the directory path, can be ommited.</param>
 <param name="pathPart5">The fifth part of the directory path, can be ommited.</param>
 <param name="createDirectoryIfMissing">If true, the directory will be created if missing. Defaults to false.</param>
</member>
<member name="M:JF.Tools.JF_FileDef_cls.FromCombinedPath(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean)">
 <summary>
 Creates and returns a <see cref="T:JF.Tools.JF_FileDef_cls"/> instance from a set of path parts and a filename.<br />
 The directory can be created if missing.
 </summary>
 <param name="basePath">The base of the directory path.</param>
 <param name="pathPart1">The first part of the directory path, can be ommited.</param>
 <param name="pathPart2">The second part of the directory path, can be ommited.</param>
 <param name="pathPart3">The third part of the directory path, can be ommited.</param>
 <param name="pathPart4">The fourth part of the directory path, can be ommited.</param>
 <param name="pathPart5">The fifth part of the directory path, can be ommited.</param>
 <param name="fileNE">The filename including extension, must be provided.</param>
 <param name="createDirectoryIfMissing">If true, the directory will be created if missing. Defaults to false.</param>
</member>
<member name="P:JF.Tools.JF_FileDef_cls.SizeInMb">
 <summary>
 Returns Size in MB (Me.SizeInByte / 1024)
 </summary>
 <remarks> 
 #New: 3.1488;23.01.2019;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_FileDef_cls.SizeInMb(System.Int32)">
 <summary>
 Returns Size in MB (Me.SizeInByte / 1024) but round by decimals_p
 </summary>
 <remarks> 
 #New: 3.1488;23.01.2019;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_FileDef_cls.File_DPNE(System.Boolean)">
 <summary>
 contains full path to file. Contains also a methode to refresh File Info Data when required
 </summary>
 <remarks> 
 #LUp: 3.1800;01.08.2023;J.Fes
 #LUp: 3.2000;12.01.2026;J.Fes (1*) interprets now any environment variabel 
 </remarks>
</member>
<member name="M:JF.Tools.JF_FileDef_cls.RefreshFileInfo">
 <summary>
 trigger to refresh FileDef FileInfo
 </summary>
 <remarks> 
 #New: 3.1491;22.03.2020;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_FileDef_cls.File_DPN">
 <summary>
 Returns Disk + Path + Name 
 </summary>
 <remarks> 
 #New: 3.1491;22.03.2020;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_FileDef_cls.DateTimeGet_CreationTime">
 <summary>
 if file exist Files CreationTime is returned
 if file NOT exist Return Date.MinValue
 </summary>
 <remarks>
 #LUp: 3.1435;08.11.2017;J.Fes rename from CreationTimeDateTime_Get to DateTimeGet_CreationTime
 </remarks>
</member>
<member name="P:JF.Tools.JF_FileDef_cls.DateTimeGet_LastAccessTime">
 <summary>
 if file exist Files CreationTime is returned
 if file NOT exist Return Date.MinValue
 </summary>
 <remarks>
 #New: 3.1435;08.11.2017;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_FileDef_cls.DateTimeGet_LastWriteTime">
 <summary>
 if file exist Files LastWriteTime is returned
 if file NOT exist Return Date.MinValue
 </summary>
 <remarks>
  rename from LastWriteDateTime_Get to DateTimeGet_LastWriteTim
 </remarks>
</member>
<member name="P:JF.Tools.JF_FileDef_cls.FileInfoForOutput">
 <summary>
 Returns Formated File Info for output 
 <para/>#Doc: Files_DPNE LMod Size
 </summary>
 <remarks> 
 #New: 3.1601;06.01.2022;J.Fes
 #LUp: 3.1601;07.03.2022;J.Fes Me.File_DPN - Me.File_DPNE
 </remarks>
</member>
<member name="M:JF.Tools.JF_FileDef_cls.op_Equality(JF.Tools.JF_FileDef_cls,JF.Tools.JF_FileDef_cls)">
 <summary>
 Check if fd1_p = fd2_p 
 <para/>#Doc: 
 returns 'true' if fd1_p.SizeInByte = fd2_p.SizeInByte And fd1_p.FileInfo_Obj.LastWriteTime = fd2_p.FileInfo_Obj.LastWriteTime
 <para/> #Doc:
 returns 'false' if not equal or file not found .. 
 </summary>
 <param name="fd1_p"></param>
 <param name="fd2_p"></param>
 <remarks> 
 #New: 3.1234;25.04.2016;J.Fes
 #LUp: 3.1601;06.01.2022;J.Fes cheks if isfdNothing(fd1_p)
 </remarks>
</member>
<member name="M:JF.Tools.JF_FileDef_cls.isfdNothing(JF.Tools.JF_FileDef_cls)">
 <summary>
 Checks if If fd_p Is Nothing OrElse fd_p.FileInfo_Obj Is Nothing
 </summary>
 <param name="fd_p"></param>
</member>
<member name="M:JF.Tools.JF_FileDef_cls.op_Inequality(JF.Tools.JF_FileDef_cls,JF.Tools.JF_FileDef_cls)">
 <summary>
 Check if fd1_p = fd2_p  
 </summary>
 <param name="fd1_p"></param>
 <param name="fd2_p"></param>
 <remarks> 
 #New: 3.1234;25.04.2016;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_GUIfrmTools.GetChildControls(System.Windows.Forms.Control,System.Boolean)">
 <summary>
 Returns a given control along with all its children and grandchildren.
 </summary>
</member>
<member name="M:JF.Tools.JF_GUIfrmTools.ControlOrg_WidthHeight(JF.Tools.LoadOrSave_Action,System.Windows.Forms.Control,System.String)">
 <summary>
 Verwaltet die Position wie Höhe und Breite eines Contols
 </summary>
 <param name="LoadOrSave_p"></param>
 <param name="Control_p"></param>
 <param name="Control_NameExtend_p"></param>
</member>
<member name="M:JF.Tools.JF_GUIfrmTools.ControlOrg_WidthHeight_XYPos(JF.Tools.LoadOrSave_Action,System.Windows.Forms.Control,System.String)">
 <remarks> 
 <br/>#LUp: 3.2000;17.03.2025;S.Gueth: use new method ControlOrg_PosTopLeft
 </remarks>
</member>
<member name="M:JF.Tools.JF_GUIfrmTools.ControlOrg_PosTopLeft(JF.Tools.LoadOrSave_Action,System.Windows.Forms.Control,System.String)">
 <summary>
 function to load and save top and left position
 method will check if top and left position exists, otherwise screen bound values will be set
 </summary>
 <remarks> 
 #New: 3.2000;17.03.2025;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_GUIfrmTools.VarOrg_SaveRestore_Value(JF.Tools.LoadOrSave_Action,System.String,System.String,System.String)">
 <summary>
 Organiesiert AppVar speichert bzw. holt deren den Werte in der Windows Registry  
 </summary>
 <param name="doLoadOrSave"></param>
 <param name="VarName"></param>
 <param name="ValueToSaveInRegestry"></param>
 <param name="ValueDefault">Default Wert wenn in der Registry kein wert ermittelt werden kann</param>
 <returns>Wert der ApplVar aus der registry</returns>
 <remarks> 
 <br/>#LUp: 3.2000;17.03.2025;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_GUIfrmTools.ControlOrg_SaveRestore_DateTimePicker(JF.Tools.LoadOrSave_Action,System.Windows.Forms.DateTimePicker)">
 <summary>
 speichert die einstellungen eines DateTime Picker Controls in der USER Regestrie
 </summary>
 <param name="doLoadOrSave"></param>
 <param name="DateTimePicker_In"></param>
</member>
<member name="M:JF.Tools.JF_GUIfrmTools.ControlOrg_SaveRestore_ToolStripMenuItem(JF.Tools.LoadOrSave_Action,System.Windows.Forms.ToolStripMenuItem)">
 <summary>
 speichert die Text werte eines Controls in der USER Regestrie oder stellt diesen wieder her
 </summary>
 <param name="doLoadOrSave"></param>
 <param name="Control_in"></param>
</member>
<member name="M:JF.Tools.JF_GUIfrmTools.ControlOrg_Height(JF.Tools.LoadOrSave_Action,System.Windows.Forms.Control,System.String)">
 <summary>
 Verwaltet die Höhe eines Controls
 </summary>
 <remarks> 
 <br/>#LUp: 3.2000;17.03.2025;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_GUIfrmTools.ControlOrg_Width(JF.Tools.LoadOrSave_Action,System.Windows.Forms.Control,System.String)">
 <summary>
 Verwaltet die Breite eines Controls
 </summary>
 <param name="LoadOrSave_Action_p"></param>
 <param name="Control_p"></param>
 <param name="Control_NameExtend_p"></param>
</member>
<member name="T:JF.Tools.JF_HashCodes_Rev2015_01">
 <summary>
 Provides routines to compute hashcodes on files or streams
 !! --- DONT CHANGE only revise ---- !!
 New: 2.1210;30.01.2015;A.Becker
 </summary>
</member>
<member name="M:JF.Tools.JF_HashCodes_Rev2015_01.ComputeHashcode(System.String,System.Nullable{JF.Tools.JF_HashCodes_Rev2015_01.HashcodeAlgorithm})">
 <summary>
 Computes the hashcode of a file with a given algorithm.<br />
 The result is a byte array which can be converted for example to a BASE64 String using Convert.ToBase64String(bytes).
 </summary>
 <param name="fileDPNE_p">File to compute the hashcode for.</param>
 <param name="algorithm_p">Algotithm to be used. Tradeoff between speed and security. Default is <see cref="F:JF.Tools.JF_HashCodes_Rev2015_01.HashcodeAlgorithm.SHA1"/>.</param>
</member>
<member name="M:JF.Tools.JF_HashCodes_Rev2015_01.ComputeHashcode(System.IO.Stream,System.Nullable{JF.Tools.JF_HashCodes_Rev2015_01.HashcodeAlgorithm})">
 <summary>
 Computes the hashcode of a data stream with a given algorithm.<br />
 The result is a byte array which can be converted for example to a BASE64 String using Convert.ToBase64String(bytes).
 </summary>
 <param name="stream_p">File to compute the hashcode for.</param>
 <param name="algorithm_p">Algotithm to be used. Tradeoff between speed and security. Default is <see cref="F:JF.Tools.JF_HashCodes_Rev2015_01.HashcodeAlgorithm.SHA1"/>.</param>
</member>
<member name="T:JF.Tools.JF_HashCodes_Rev2015_01.HashcodeAlgorithm">
 <summary>
 Selection of hashcode algorithms
 </summary>
</member>
<member name="F:JF.Tools.JF_HashCodes_Rev2015_01.HashcodeAlgorithm.SHA1">
 <summary>
 High security, commonly used
 </summary>
</member>
<member name="F:JF.Tools.JF_HashCodes_Rev2015_01.HashcodeAlgorithm.MD5">
 <summary>
 Lower security, but faster then SHA1
 </summary>
</member>
<member name="T:JF.Tools.JF_Info_cls">
 <summary>
 this class can be used to organice informations in other classes 
 <para/>#Exa: <see cref="P:JF.Tools.JF_FileDef_cls.JF_Info_Obj"/>
 </summary>
 <remarks> 
 #New: 3.1488;03.12.2018;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Info_cls.Key">
 <summary>
 contains unic key like 'KEY-01'
 </summary>
 <remarks> 
 #New: 3.1488;03.12.2018;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Info_cls.Name">
 <summary>
 contains Name of message
 </summary>
 <remarks> 
 #New: 3.1488;03.12.2018;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Info_cls.Descr">
 <summary>
 contains Description
 </summary>
 <remarks> 
 #New: 3.1488;03.12.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Math.lengthDif(System.Double,System.Double,System.Double)">
 <summary>
 berechnet ob !leng1 - leng2! > DeviationMax
 [Returns=0 wenn die Abweichung zwischen leng1 und leng2 kleiner als DeviatonMax ist]
 [Returns=Math.Abs(leng1 - leng2) wenn die groesser als DeviationMax ist]
 </summary>
 <param name="length1"></param>
 <param name="length2"></param>
 <param name="DeviationMax"></param>
 <remarks>#New 03.06.2010</remarks>
</member>
<member name="M:JF.Tools.JF_Math.lengthDifBool(System.Double,System.Double,System.Double)">
 <summary>
 wertet aus ob !leng1 - leng2! > DeviationMax
 <para/>#Doc:Returns:False wenn die Abweichung zwischen leng1 und leng2 kleiner als DeviationMax ist
 <para/>#Doc:Returns:True wenn die Abweichung zwischen leng1 und leng2 Groesser als DeviationMax ist
 </summary>
 <param name="length1"></param>
 <param name="length2"></param>
 <param name="DeviationMax"></param>
 <remarks>#New 03.06.2010</remarks>
</member>
<member name="M:JF.Tools.JF_Math.MaxValue_ExceptOnValue(System.Int32,System.Int32,System.Int32[])">
 <summary>
 Returns Max Value from Value1 and Value2 
 Except in case that Value1 or Value2 equals to one value of ValueExcept_ParamArray
 </summary>
 <param name="Value1"></param>
 <param name="Value2"></param>
 <param name="ValueExcept_ParamArra"></param>
 <remarks> 
 #New: 3.1234;22.04.2016;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Math.RadToDegreeAsStr(System.String,System.String)">
 <summary>
 Returns Converted RadiandValueStr_p in Unit Degree As String 
 <para/>#Exa: JF.Tools.JF_Math.RadToDegreeAsStr('1.570796') -> "90.00"
 </summary>
 <remarks> 
 #New: 3.1602;17.08.2022;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Math.RadToDegreeAsStr(System.Double,System.String)">
 <summary>
 Returns Converted RadiandValueDouble_p in Unit Degree As String 
 <para/>#Exa: JF.Tools.JF_Math.RadToDegreeAsStr(Math.PI/2) -> "90.00"
 </summary>
 <remarks> 
 #New: 3.1602;17.08.2022;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Math.RadToDegree(System.String)">
 <summary>
 Returns Converted RadiandValueStr_p in Unit Degree As Double
 <para/>#Doc: cuture dependet NumberDecimalSeparator is auto used "." , "," 
 </summary>
 <remarks> 
 #New: 3.1602;17.08.2022;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Math.RadToDegree(System.Double)">
 <summary>
 Returns Converted RadiandValueDouble_p in Unit Degree As Double
 </summary>
 <remarks> 
 #New: 3.1602;17.08.2022;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Math.MathSimpleFormularToInteger(System.String,System.Int32)">
 <summary>
 Returns Integer for very simple String Formular
 <para/>#Exa: IntValue = MathSimpleFormularToInteger('1 + 3',-1) -> 4
 </summary>
 <remarks> 
 #New: 3.1800;03.01.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Math.MathSimpleInt1OpperInt2(System.Int32,System.Char,System.Int32,System.Int32)">
 <summary>
 Returns very simple integer values calulated via Val1 Operator_p Val2
 <para/>#Doc: Valid Operator: '+' '-' '*' '/' '\' 
 </summary>
 <param name="Val1_p">Value 1 #Exa:20</param>
 <param name="Operator_p"></param>
 <param name="Val2_p">Value 2 #Exa:10</param>
 <param name="ValDefOnException_p">Default value if operation failes or wrong operator is used</param>
 <remarks> 
 #New: 3.1800;03.01.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_NullValues_NZ.NullValues.Nz(System.Object,System.Object)">
 <summary>
 Checks if Object is Nothing and Returns Object
 </summary>
 <param name="Object_p"></param>
 <param name="Object_r_p"></param>
 #Doc1: Returns Object_p   if NOT IsNull(Object_p)
 #Doc2: Returns Object_r_p if IsNull(Object_p)
 <remarks>last.change: 2.1199;08.08.2013;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_NullValues_NZ.NullValues.Nz``1(System.Object,``0)">
 <summary>
 Checks if Object is Nothing and Returns Objects typeparam t value
 <see cref="M:JF.Tools.JF_NullValues_NZ.NullValues.Nz(System.Object,System.Object)"></see>
 </summary>
 <typeparam name="t"></typeparam>
 <param name="Object_p"></param>
 <param name="Object_r_p"></param>
 <returns>
 #Doc1: if Object_p is NOT IsNull(Object_p) #Returns: t of Object_p 
 #Doc2: if Object_p IsNull(Object_p)        #Returns: Object_r_p
 </returns>
</member>
<member name="M:JF.Tools.JF_NullValues_NZ.NullValues.IsNull(System.Object)">
 <summary>
 Checks if Object is Nothing or Equals(DBNull.Value)
 </summary>
 <param name="Object_p"></param>
 <returns>
 #Doc1: Returns 'true' of Object_p is 'nothing' or Equals(DBNull.Value) 
 #Doc2: Returns 'false' if not #Doc1 
 </returns>
 <remarks>last.change: 2.1199;08.08.2013;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ObjectSerialization_cls.ReadFromXML_DPNE``1(System.String,``0@,System.Text.Encoding,System.Nullable{System.TimeSpan},System.Type[],System.Boolean)">
 <summary>
 reads from XML File Data Of t and returns Object via Obj_p
 </summary>
 <typeparam name="t"></typeparam>
 <param name="XMLFile_DPNE_p"></param>
 <param name="Obj_p">contains Object Data readed from XML files</param>
 <param name="encoding_p">uses by default System.Text.Encoding.Default</param>
 <param name="timeout_p"></param>
 ''' <remarks> 
 #LUp: 3.1601;14.01.2022;S.Gueth/J.Fes: added UseReplaceInvalidCharsinXml_p parameter
 </remarks>
</member>
<member name="M:JF.Tools.JF_ObjectSerialization_cls.ReadFromXML_DPNE``1(System.String,System.Nullable{System.TimeSpan},System.Type[],System.Boolean)">
 <summary>
 liest die Daten eines Objektes aus einer XML Datei (new 8.1.2009)
 - für Encoding wird System.Text.Encoding.Default verwendet
 </summary>
 <typeparam name="t"></typeparam>
 <param name="XMLFile_DPNE"></param>
 <param name="timeout">Wartezeit auf mögliche Freigabe eines gelockten Files. Default: 1000ms</param>
 <remarks> 
 #LUp: 3.1601;14.01.2022;S.Gueth/J.Fes: added UseReplaceInvalidCharsinXml_p parameter
 </remarks>
</member>
<member name="M:JF.Tools.JF_ObjectSerialization_cls.ReadFromXML_DPNE``1(System.String,System.Text.Encoding,System.Nullable{System.TimeSpan},System.Type[],System.Boolean)">
 <summary>
 liest die Daten eines Objektes aus einer XML Datei (new 8.1.2009)
 <para/>#Doc: use Me.ReturnValues to check if XML Data are readed/Deserialize correctly
 <para/>#Doc: for encoding can be used for standard:
 <para/> ##[System.Text.Encoding.GetEncoding(1252)  = Windows-1252]##
 <para/>  - or - ##[System.Text.Encoding.GetEncoding(28591) = iso-8859-1  Westeuropäisch (ISO)]##
 </summary>
 <typeparam name="t"></typeparam>
 <param name="XMLFile_DPNE_p"></param>
 <param name="encoding"></param>
 <param name="timeout">Wartezeit auf mögliche Freigabe eines gelockten Files. Default: 1000ms</param>
 <remarks> 
 #LUp: 3.1601;10.06.2021;A.Stein Optional ByVal ExtraTypes_p (1*)
 #LUp: 3.1601;14.01.2022;S.Gueth/J.Fes: added UseReplaceInvalidCharsinXml_p parameter
 #LUp: 3.1601;31.01.2022;S.Gueth/A.Becker: use FixingXmlTextReader class instead ReplaceInvalidCharsinXml function
 </remarks>
</member>
<member name="M:JF.Tools.JF_ObjectSerialization_cls.ReadFromXMLString``1(System.String)">
 <summary>
 reads data of an object from a given xml string
 </summary>
 <remarks> 
 #New: 3.1502;23.02.2021;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_ObjectSerialization_cls.ReplaceInvalidCharsinXml(System.IO.StreamReader,System.Text.Encoding,System.Int64)">
 <summary>
 Replaces invalid Chars in an XML
 </summary>
 <param name="orgFileStream_p"></param>
 <remarks>
 New: 2.1193;16.01.2013;S.Gueth
 last.change: 2.1195;18.03.2013;S.Gueth: added '&amp;' to invalid chars
 last.change: 2.1195;19.03.2013;S.Gueth: deleted '&amp;' from invalid chars, because Herr Schiebeer solved it in the CheckBox program
 last.change: 2.1210;02.04.2015;S.Gueth: added replacing of some special ascii strings
 #LUp: 3.1601;10.12.2021;S.Gueth/A.Becker: enhanced function to not allocate to much memory, changed algorithm to replace invalid chars
 #LUp: 3.1601;20.01.2022;S.Gueth/A.Becker: alle Zeichen unter ASCII(32) außer TAB, CR, LF durch Space ersetzen
 </remarks>
</member>
<member name="M:JF.Tools.JF_ObjectSerialization_cls.WriteToXML_DPNE(System.Object,System.String,System.Nullable{System.TimeSpan},System.Type[])">
 <summary>
 schreiben der Daten eines Objektes in eine XML Datei 
 Info verwendet als Standard Encoding System.Text.Encoding.GetEncoding(1252)=Windows-1252
 </summary>
 <param name="ObjectToSerialize_p"></param>
 <param name="XMLFile_DPNE_p"></param>
 <param name="timeout">Wartezeit auf mögliche Freigabe eines gelockten Files. Default: 1000ms</param>
</member>
<member name="M:JF.Tools.JF_ObjectSerialization_cls.WriteToXML_DPNE(System.Object,System.String,System.Text.Encoding,System.Nullable{System.TimeSpan},System.Type[])">
 <summary>
 schreiben der Daten eines Objektes in eine XML Datei 
 Info fuer encoding kann als Standard verwendet werden:
 - ##[System.Text.Encoding.GetEncoding(1252)  = Windows-1252]##
 - ODER - ##[System.Text.Encoding.GetEncoding(28591) = iso-8859-1  Westeuropäisch (ISO)]##
 </summary>
 <param name="ObjectToSerialize_p"></param>
 <param name="XMLFile_DPNE_p"></param>
 <param name="encoding_p"></param>
 <param name="timeout_p">Wartezeit auf mögliche Freigabe eines gelockten Files. Default: 1000ms</param>
 <remarks>
 LUp: 3.1601;02.02.2022;A.Becker (Extracted serialization to stream in separate method WriteToXML_Stream)
 </remarks>
</member>
<member name="M:JF.Tools.JF_ObjectSerialization_cls.WriteToXML_Stream(System.Object,System.IO.Stream,System.Text.Encoding,System.Nullable{System.TimeSpan},System.Type[],System.Boolean)">
 <summary>
 schreiben der Daten eines Objektes als XML-Text in einen Stream.
 Info fuer encoding kann als Standard verwendet werden:
 - ##[System.Text.Encoding.GetEncoding(1252)  = Windows-1252]##
 - ODER - ##[System.Text.Encoding.GetEncoding(28591) = iso-8859-1  Westeuropäisch (ISO)]##
 </summary>
 <param name="ObjectToSerialize_p"></param>
 <param name="XMLTargetStream_p"></param>
 <param name="encoding_p"></param>
 <param name="timeout_p">Wartezeit auf mögliche Freigabe eines gelockten Files. Default: 1000ms</param>
 <remarks>
 #LUp: 3.1601;10.06.2021;A.Stein add Optional ByVal InheritTypes (1*)
 LUp: 3.1601;02.02.2022;A.Becker (Added this overload to write into any stream instead of a file)
 </remarks>
</member>
<member name="M:JF.Tools.JF_ObjectSerialization_cls.toStringConvert(System.Object,System.Boolean)">
 <summary>
 Gibt die Objektdaten als XML-String aus.
 Es wird kein XML-Encoding Header geschrieben
 <para/>#Doc: #LUp: 3.1601;02.02.2022;J.Fes removed ByVal encoding As System.Text.Encoding
 </summary>
 <remarks> 
 #New: 20.07.2010 J.Fes 
 #LUp: 3.1601;02.02.2022;J.Fes removed ByVal encoding As System.Text.Encoding
 #LUp: 3.1601;02.02.2022;A.Becker write XML declaration without encoding attribute
 #LUp: 3.1601;14.03.2022;S.Gueth: added checkForInvalidCharacters_p
 </remarks>
</member>
<member name="T:JF.Tools.FixingXmlTextReader">
 <summary>
 a textreader that fixes invalid xml chars
 </summary>
 <remarks>
 #New: 3.1601;31.01.2022;A.Becker/S.Gueth
 </remarks>
</member>
<member name="T:JF.Tools.JF_Stopwatchs_cls">
 <summary>
 Perf: mit dieser Classe können sehr einfach mehrere JF_Stopwatchs organiesiert werden!
 </summary>
 <remarks> 
 #LUp: 3.1488;18.12.2018;J.Fes
 #LUp: 3.1503;16.03.2021;J.Fes 
 </remarks>
</member>
<member name="M:JF.Tools.JF_Stopwatchs_cls.StopWatchsClear">
 <summary>
 clears/removes all StopWatches attched to this class
 </summary>
 <remarks> 
 #New: 3.1503;16.03.2021;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_Stopwatchs_cls.Title">
 <summary>
 Name of Stopwatches 
 </summary>
</member>
<member name="P:JF.Tools.JF_Stopwatchs_cls.ProcessCurTitleDetails">
 <summary>
 Description for current Process
 #Doc if this value is not empty Titel will be extendet with this value
 </summary>
 <remarks>New: 2.1196;13.04.2013;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_Stopwatchs_cls.ResetToDefaultValue">
 <summary>
 Resets all stopWatches to Defaultvalues 
 Impact:<see cref="M:JF.Tools.JF_Stopwatch_cls.ResetToDefaultValue"/>
 </summary>
</member>
<member name="M:JF.Tools.JF_Stopwatchs_cls.AddNewStopWatch(System.String)">
 <summary>
 Creates a new Stopwatch 
 - add it to Stopwatch List 
 - returns this new Stopwatch 
 </summary>
 <param name="name"></param>
</member>
<member name="M:JF.Tools.JF_Stopwatchs_cls.AddStopWatch(JF.Tools.JF_Stopwatch_cls)">
 <summary>
 Adds Stopwatch_p to Stopwatch List
 </summary>
 <param name="Stopwatch_p"></param>
</member>
<member name="M:JF.Tools.JF_Stopwatchs_cls.StartAll">
 <summary>
 Starts all Stopwatches
 </summary>
</member>
<member name="M:JF.Tools.JF_Stopwatchs_cls.StopAll">
 <summary>
 Stops all Stopwatches
 </summary>
</member>
<member name="M:JF.Tools.JF_Stopwatchs_cls.ResetAll">
 <summary>
 Resets all Stopwatches 
 </summary>
</member>
<member name="P:JF.Tools.JF_Stopwatchs_cls.Duration(System.Int64)">
 <summary>
 Returns Entire Duration as TimeSpan of all StopWatches 
 </summary>
 <param name="PrintStopWatchInfos_IfTimeTickesGEQ_p"></param>
 <remarks> 
 #New: 3.1260;24.08.2016;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_Stopwatchs_cls.StartTime">
 <summary>
 returns start time from all 'Me.StopWatchs_Objs' (= oldest start time)  
 </summary>
</member>
<member name="M:JF.Tools.JF_Stopwatchs_cls.TimeGetForPrint(System.DateTime)">
 <summary>
 Returns time for print
 </summary>
 <param name="Time_p"></param>
</member>
<member name="P:JF.Tools.JF_Stopwatchs_cls.StopTime">
 <summary>
 returns stop time from all 'Me.StopWatchs_Objs' (= 'youngest right' stop time)   
 </summary>
</member>
<member name="M:JF.Tools.JF_Stopwatchs_cls.ResultsPrint(System.Int64,System.Int32)">
 <summary>
 Print Entire Result
 </summary>
 <param name="PrintStopWatchInfos_IfTimeTickesGEQ_p">Filter for not Listet Use Value '0' not to supress list StopWatch vales havin no Results</param>
 <param name="PrintInfoCol1With_p">Defines Print with for Print Report Default = 34</param><see cref="F:JF.Tools.StringFormatForOutput.DescWith"/>
 <remarks>
 2.1196;14.04.2013;J.Fes;last.change: Ausgabeformat angepasst
 #LUp: 3.1477;04.10.2018;J.Fes Ausgabeformat angepasst Spalten breiten werden von StringFormatForOutput.ObjectText gesteuert
 #LUp: 3.1488;18.12.2018;J.Fes Ausgabeformat angepasst Spalten breiten werden von PrintInfoCol1With_p gesteuert
 </remarks>
</member>
<member name="M:JF.Tools.JF_Stopwatchs_cls.ToString">
 <summary>
 Outputs Me.ResultsPrint
 </summary>
 <remarks>New: 2.1196;04.05.2013;J.Fes</remarks>
</member>
<member name="T:JF.Tools.JF_Stopwatch_cls">
 <summary>
 Defines a single JF_Stopwatch_cls 
 </summary>
</member>
<member name="M:JF.Tools.JF_Stopwatch_cls.ResetToDefaultValue">
 <summary>
 Stop's the Stopwatch and Resets's Stopwatch Value to '0'
 </summary>
</member>
<member name="P:JF.Tools.JF_Stopwatch_cls.StopWatch_Obj_lp">
 <summary>
 das StopWatch Obj dieser Classe
 </summary>
</member>
<member name="P:JF.Tools.JF_Stopwatch_cls.StartTime">
 <summary>
 Returns the Starttime when .start was triggered 
 <para/>#Doc:  Value = DateTime.MinValue if .start was not triggered
 </summary>
 <remarks>
 #New: 2.1210;07.04.2015;J.Fes
 #LUp: 3.1492;29.04.2020;J.Fes change data type to DateTime? again without ?
 </remarks>
</member>
<member name="M:JF.Tools.JF_Stopwatch_cls.StartTimeForOutput(JF.Tools.JF_ToolsFile.DateTimeFormat2_enum)">
 <summary>
 Returns Start time as string for output
 </summary>
 <remarks> 
 #New: 3.1502;10.03.2021;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_Stopwatch_cls.StopTime">
 <summary>
 Returns the Stoptime when .stop was triggered 
 <para/>#Doc: Value = DateTime.MinValue if .stop was not triggered
 </summary>
 <remarks>
 #New: 2.1210;07.04.2015;J.Fes
 #LUp: 3.1492;29.04.2020;J.Fes change data type to DateTime? again without ?
 </remarks>
</member>
<member name="M:JF.Tools.JF_Stopwatch_cls.StopTimeForOutput(JF.Tools.JF_ToolsFile.DateTimeFormat2_enum)">
 <summary>
 Returns Stop time as string
 </summary>
 <remarks> 
 #New: 3.1502;10.03.2021;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_Stopwatch_cls.Name">
 <summary>
 Name for this StopWatch 
 </summary>
</member>
<member name="M:JF.Tools.JF_Stopwatch_cls.Start(System.Boolean)">
 <summary>
 RaiseEvent StartChanged(Me) and sets Me.StartTime = Now if time is not set 
 <para/>#Doc: If the Stopwatch is Object of 'JF_Stopwatchs_cls.StopWatch_Objs' then all other stopwatches are stopt 
 </summary>
 <param name="TriggerStartChanged">if Value=false then Event StartChanged is not triggerd</param>
 <remarks> 
 #LUp: 3.1493;22.05.2020;J.Fes see *1
 </remarks>
</member>
<member name="E:JF.Tools.JF_Stopwatch_cls.StartChanged">
 <summary>
 defines StartChanged event 
 </summary>
 <param name="Stopwatch_Obj"></param>
 <remarks>New: 2.1196;04.05.2013;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_Stopwatch_cls.Stop">
 <summary>
 Stops the StopWatch. Elapsed time will be kept
 </summary>
</member>
<member name="M:JF.Tools.JF_Stopwatch_cls.Reset">
 <summary>
 Resets the StopWatch elapsed time to zerow
 </summary>
</member>
<member name="M:JF.Tools.JF_Stopwatch_cls.StartReset">
 <summary>
 Resets elapsed Time to zero and start the measuring of time again
 </summary>
</member>
<member name="P:JF.Tools.JF_Stopwatch_cls.TimeTicks">
 <summary>
 returns current elapsed Time in Ticks
 </summary>
</member>
<member name="P:JF.Tools.JF_Stopwatch_cls.StopWatchProp">
 <summary>
 Returns Stopwatch current values 
 </summary>
</member>
<member name="M:JF.Tools.JF_Stopwatch_cls.TimeUsed_str">
 <summary>
 Returns Me.Name + Elapsed Duration as string
 <para/>#Doc: #Ausgabe ist Me.Name + JF.Tools.JF_Time_cls.DurationOfTimeSpann_toStr(Me.StopWatchp.Elapsed)
 </summary>
 <remarks>
 last.change: 2.1216;30.07.2015;J.Fes "=" replace by ":"
 </remarks>
</member>
<member name="M:JF.Tools.JF_Stopwatch_cls.TimeElapsed_str">
 <summary>
 Returns Elapsed Duration 
 <para/>#Doc: JF.Tools.JF_Time_cls.DurationOfTimeSpann_toStr(Me.StopWatchp.Elapsed)
 </summary>
 <remarks>
 New: 2.1199;16.08.2013;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Stopwatch_cls.TimeDurationStartStop">
 <summary>
 Returns Duration between StopTime and StartTime
 <para/>#Doc: JF.Tools.JF_Time_cls.DurationOfTimeSpann_toStr(Me.StopTime - Me.StartTime)
 </summary>
 <remarks> 
 #New: 3.1493;22.05.2020;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Stopwatch_cls.PrintInfoCol1With">
 <summary>
 Defines PrintInfo Colume1 With Default = 32
 </summary>
</member>
<member name="M:JF.Tools.JF_Stopwatch_cls.TimeDuraAsProzentAnteil_str(System.Int64,System.Int32)">
 <summary>
 berechnet den Zeitanzeil an der gesammt Zeit und gibt diese in Prozentanteilen aus
 </summary>
 <param name="TimeSum_Ticks_p"></param>
 <remarks>
 #LUp:2.1196;14.04.2013;J.Fes;Ausgabe format angepasst
 #LUp: 3.1488;18.12.2018;J.FesAusgabe format angepasst
 </remarks>
</member>
<member name="M:JF.Tools.JF_Process.ProcessByNameAndWindowTitleGet(System.String,System.String)">
 <summary>
 function that looks for a process with the given name and if the main window title of this process equals the given windows title
 first hit will be returnd
 if no process was found -> nothing will be returned
 </summary>
 <remarks> 
 #New: 3.1460;26.03.2018;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_Process.ProcessByWindowTitleGet(System.String,System.Boolean)">
 <summary>
 function that looks for a process with the main window title of this process contains the given windows title
 first hit will be returnd
 if no process was found -> nothing will be returned
 </summary>
 <remarks> 
 #New: 3.1601;11.03.2022;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_Process.FirstProcessByNameGet(System.String)">
 <summary>
 function that looks for a process with the given name 
 first hit will be returned
 if no process was found -> nothing will be returned
 </summary>
 <remarks> 
 #New: 3.1460;26.03.2018;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_Process.ProcessByNameAndCommandLineContentGet(System.String,System.String)">
 <summary>
 function that looks for a process with the given name and if the command line of the process contains the given command line content
 first hit will be returnd
 if no process was found -> nothing will be returned
 </summary>
 <remarks> 
 #New: 3.1460;26.03.2018;S.Gueth
 #LUp: 3.1602;09.08.2022;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_Process.ProcessByCommandLineContentGet(System.String,System.Boolean)">
 <summary>
 function that looks for a process if the command line of the process contains the given command line content
 first hit will be returnd
 if no process was found -> nothing will be returned
 </summary>
 <remarks> 
 #New: 3.1601;11.03.2022;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_Process.CommandLineGet(System.Diagnostics.Process)">
 <summary>
 function to get the command line by name
 </summary>
 <remarks> 
 #New: 3.1460;26.03.2018;S.Gueth
 #LUp: 3.1602;09.08.2022;J.Fes replaced Dim commandLine_r = New StringBuilder(process_p.MainModule.FileName)
 </remarks>
</member>
<member name="M:JF.Tools.JF_Process.ProcessStartOrActivateByPrgNameAndcmdLine(System.String,System.String)">
 <summary>
 Methode searches for Process by Prg_N and by Prg_commandLine. 
 <para/>#Doc: If process found then use AppActivate to bring process to foreground.
 <para/>#Doc: If process NOT found then start Process via Shell Prg_DPNE_p + Prg_commandLine_p
 </summary>
 <remarks> 
 #New: 3.2000;26.11.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Process.ExplorerWindowFocusIfOpen(System.String)">
 <summary>
 function to search for an explorer windowd by the given path, if it was found it will be focused
 </summary>
 <remarks> 
 <br/>#New: 3.2000;06.01.2026;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_Process.ShowWindow(System.Diagnostics.Process,JF.Tools.JF_Process.SHOW_WINDOW)">
 <summary>
 function to show a process window and bring it to foreground
 </summary>
 <remarks> 
 #New: 3.1460;26.03.2018;S.Gueth
 #LUp: 3.1601;11.03.2022;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_Process.ShowWindow(System.IntPtr)">
 <summary>
 function to show a process window and bring it to foreground
 </summary>
 <remarks> 
 #New: 3.2000;06.01.2026;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_Process.SetForegroundWindow(System.IntPtr)">
 <summary>
 use function SetForegroundWindow from user32.dll to get a window into foreground
 </summary>
 <remarks> 
 #New: 3.2000;06.01.2026;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_Process.ShowWindow(System.IntPtr,System.Int32)">
 <summary>
 code from here: https://bytes.com/topic/visual-basic-net/answers/382333-how-minimize-maximize-external-running-program-through-my-vb-net-application
 use function ShowWindow from user32.dll to change different window states
 </summary>
 <remarks> 
 #New: 3.1460;26.03.2018;S.Gueth
 </remarks>
</member>
<member name="T:JF.Tools.JF_ProcStat_cls">
 <summary>
 Class to organice Process statistic including ProcTOP ProcEXL .. Done.OK.WRN.ERR 
 </summary>
 <remarks> 
 #New: 3.1492;29.04.2020;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.DateTimeFormatDefault">
 <summary>
 defines the default format
 </summary>
</member>
<member name="T:JF.Tools.JF_ProcStat_cls.Value_cls">
 <summary>
 Data class to hold JF_ProcStat Value
 </summary>
 <remarks> 
 #New: 3.1492;03.05.2020;J.Fes // JF_ProcStatValue_cls --> Value_cls 
 </remarks>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Value_cls.NCounter">
 <summary>
 counter value 
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Value_cls.NCounterStatic">
 <summary>
 defines a static value for NCounter
 <para/>#Doc: if NCounterStatic = Long.MinValue then NCounterStatic is not use 
 <para/>#Doc: if NCounterStatic neq Long.MinValue then NCounter uses NCounterStatic value
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Value_cls.NCounterValue">
 <summary>
 Returns NCounterValue
 <para/>#Doc: uses rule If Me.NCounter lt 0 Then Return 0 else Return Me.NCounter 
 </summary>
 #New: 3.1492;04.05.2020;J.Fes
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Value_cls.CounterValueDefaultSetOnNew">
 <summary>
 keeps CounterValue that is set when class is initialiesed new
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Value_cls.NCounterIncrease(System.Int64,System.Boolean@)">
 <summary>
 increase counter via 
 <para/>#Doc: using special rule to increase Me.Counter If Me.Counter gt 0 And ConterIncValue_p gt 0 Then  Me.Counter = ConterIncValue_p
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Value_cls.StatTitleForSingleRow">
 <summary>
 Description for single Row output 
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Value_cls.StatTitleForMultibleRow">
 <summary>
 Description for multible Row output 
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Value_cls.IsActiv">
 <summary>
 Returns if this Value is activ / in use 
 <para/>#Doc: Roule if Me.NCounter = -1 then Roule is inactive
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Value_cls.StatisticForMultibleRow(System.Int64,System.Int64)">
 <summary>
 returns statistic for 'Multible Row' output
 <para/>#Exa: 30/100 (30,0%)
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Value_cls.StatisticForSingleRow(System.Int64)">
 <summary>
 returns statistic for 'Single Row' output
 <para/>#Exa:30/100(30%)
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Value_cls.CounterForSingleRow">
 <summary>
 returns statistic for 'Single Row' output
 <para/>#Exa:30/100(30%)
 </summary>
</member>
<member name="T:JF.Tools.JF_ProcStat_cls.Datas_cls">
 <summary>
 oranices easy many JF_ProcStats_cls 
 </summary>
 <remarks> 
 #New: 3.1492;29.04.2020;J.Fes 
 </remarks>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Datas_cls.Title">
 <summary>
 Title of ProcStates 
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.ResetToDefaultValue">
 <summary>
 Resets all stopWatches to Defaultvalues 
 Impact:<see cref="M:JF.Tools.JF_ProcStat_cls.Data_cls.ResetToDefaultValue"/>
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.AddNewProcStat(System.String)">
 <summary>
 Creates a new ProcStat 
 - add it to ProcStat List 
 - returns this new ProcStat 
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.AddProcStat(JF.Tools.JF_ProcStat_cls.Data_cls)">
 <summary>
 Adds ProcStat_p to ProcStat List
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.ResetAll">
 <summary>
 Resets all JF_ProcStat_Objs
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Datas_cls.ProcTOP_NCounter">
 <summary>
 Returns Entire NToProcessSum of all ProcStates 
 </summary>
 <remarks> 
 #New: 3.1492;29.04.2020;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.ResultsPrintAsSingleRow(System.Boolean,System.Int32)">
 <summary>
 Print Entire Result 
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.ResultsPrintAsMultibleRow(System.Boolean,System.Int32)">
 <summary>
 Print Entire Result 
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.ProcERR_NCounterValue">
 <summary>
 Returns how many ProcERR.NCounterValue cound has been found in List 
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.ProcWRN_NCounterValue">
 <summary>
 Returns how many ProcWRN.NCounterValue cound has been found in List 
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.Proc_OK_NCounterValue">
 <summary>
 Returns how many Proc_OK.NCounterValue cound has been found in List 
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.ProcEXL_NCounterValue">
 <summary>
 Returns how many ProcEXL.NCounterValue cound has been found in List 
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.StartEndDurationAsMultibleRow(System.Int32)">
 <summary>
 Returns Duration beween StartTime and EndTime 
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.StartTime">
 <summary>
 Retruns process start time (min/left time)
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.EndTime">
 <summary>
 Retruns process end time (max/right time)
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Datas_cls.ToString">
 <summary>
 Outputs Me.ResultsPrint
 </summary>
</member>
<member name="T:JF.Tools.JF_ProcStat_cls.Data_cls">
 <summary>
 Defines a single JF_ProcessStatistic_cls 
 </summary>
 <remarks> 
 #New: 3.1492;29.04.2020;J.Fes // JF_ProcStat_cls -> Data_cls
 </remarks>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Data_cls.ResetToDefaultValue">
 <summary>
 Resets's values = '0'
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.Title">
 <summary>
 Title for this process statistic
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.ProcTOP">
 <summary>
 Returns how many Objects is TO Processed
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.ProcEXL">
 <summary>
 Returns how many Objects exludes
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.ProcDataAddToDBNew">
 <summary>
 Returns how many Data are add new to Database
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.ProcDataUpdInDB_No">
 <summary>
 Returns how many Data did exist in Database an did not need to update in Database
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.ProcDataUpdInDBYes">
 <summary>
 Returns how many Data did exist in Database an did need to update in Database
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.ProcDataDelFromDBY">
 <summary>
 Returns how many Data are removed from Database
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.ProcNOT">
 <summary>
 Returns how many Objects NOT processed
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.ProcALL">
 <summary>
 Returns how many Objects has been processed sum(NProcessOK + NProcessERR + NProcessWRN + NProcessExc)
 </summary>
 <remarks> 
 #New: 3.1492;29.04.2020;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.Proc_OK">
 <summary>
 Returns how many Objects processed with status:'OK'
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.ProcERR">
 <summary>
 Returns how many Objects processed / Done with status:'ERROR'
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.ProcWRN">
 <summary>
 Returns how many Objects processed / Done with status:'WRN'
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.Stopwatch">
 <summary>
 Stopwatch contains times stat stop duration
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.PrintInfoCol1With_p">
 <summary>
 description with 
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.StatisticTimeStartInf">
 <summary>
 Returns PTime.Start
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.StatisticTimeEndInf">
 <summary>
 Returns Process Time Ptime.cur or Ptime.end
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.StatisticNTimesAsMultibleRow">
 <summary>
 Returns Process times in one row
 <para/>#Exa: 
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.StatisticNProcessedAsMultibleRow">
 <summary>
 Returns NCount-Statistic as multible rows 
 <para/>#Exa: n.Done.OK.......................:  20/100 (20,0%)
 </summary>
 <remarks> 
 #New: 3.1492;11.05.2020;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.StatisticDataAsMultibleRow(System.Boolean)">
 <summary>
 Returns NCount-Statistic as multible rows 
 <para/>#Exa: n.Done.OK.......................:  20/100 (20,0%)
 </summary>
 <remarks> 
 #New: 3.1492;11.05.2020;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.StatisticForSingleRowOutPut_PrcocessTimes">
 <summary>
 retruns Process Time info 
 <para/>#Exa: Ptime.Start:04.05.20 12:41:55 -> Ptime.End:04.05.20 12:41:56 -> Dur:501,41(msec)
 </summary>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.StatisticForSingleRowOutPut_DoneN">
 <summary>
 returns DoneN Statistic 
 <para/>#Exa: n.D.OK:20(20%)/n.D.WRN:30(30%)/n.D.ERR:35(35%)/n.D.All:95(95%)  
 </summary>
 <remarks> 
 #New: 3.1492;29.04.2020;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_ProcStat_cls.Data_cls.StatisticForSingleRowOutPut_EntireStatus">
 <summary>
 returns eitire statistic forForSingleRowOutPut 
 <para/>#Exa: n.to.P:100/n.P.Exl:10(10%)/n.D.OK:20(20%)/n.D.WRN:30(30%)/n.D.ERR:35(35%)/n.D.All:95(95%) -//- Ptime.Start:04.05.20 12:41:55 -> Ptime.End:04.05.20 12:41:56 -> Dur:501,41(msec)
 </summary>
</member>
<member name="M:JF.Tools.JF_ProcStat_cls.Data_cls.StatisticForSingleRowOutPut_WithObjectText">
 <summary>
 returns process statistic results 
 <para/>#Exa: P.Statistic:Directories.........: n.to.P:100/n.P.Exl:10(10%)/n.D.OK:20(20%)/n.D.WRN:30(30%)/n.D.ERR:35(35%)/n.D.All:95(95%) -//- Ptime.Start:04.05.20 12:54:10 -> Ptime.End:04.05.20 12:54:11 -> Dur:500,78(msec)
 </summary>
</member>
<member name="T:JF.Tools.JF_Regex_cls">
 <summary>
 class for handeling regex expressions''' 
 </summary>
 <remarks> 
 #New: 3.1800;24.05.2023;S.Gueth
 </remarks>
</member>
<member name="F:JF.Tools.JF_Regex_cls.CompiledRegexDict">
 <summary>
 thread save dictionary to stores regular expression
 </summary>
 <remarks> 
 #New: 3.1800;24.05.2023;S.Gueth
 </remarks>
</member>
<member name="F:JF.Tools.JF_Regex_cls.NonCompiledRegexDict">
 <summary>
 thread save dictionary to stores regular expression
 </summary>
 <remarks> 
 #New: 3.1800;24.05.2023;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_Regex_cls.CompiledRegularExpressionGet(System.String,System.Text.RegularExpressions.RegexOptions)">
 <summary>
 function that returns a compiled regular expression (by regex pattern and regex option)
 if the regular expression does not exits, it will create a new compiled regex and stores it into a threadsafe dictionary, so that it can be reused
 HINT: use this method only when you use the same regular expression multiple times
 </summary>
 <remarks> 
 #New: 3.1800;24.05.2023;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_Regex_cls.NonCompiledRegularExpressionGet(System.String,System.Text.RegularExpressions.RegexOptions)">
 <summary>
 function that returns a compiled regular expression (by regex pattern and regex option)
 if the regular expression does not exits, it will create a new compiled regex and stores it into a threadsafe dictionary, so that it can be reused
 HINT: use this method only when you use the same regular expression multiple times
 </summary>
 <remarks> 
 #New: 3.1800;24.05.2023;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_Regex_cls.RegexUniqeNameGet(System.String,System.Text.RegularExpressions.RegexOptions)">
 <summary>
 function to get a uniqe name for the given regex options and pattern
 </summary>
 <remarks> 
 #New: 3.1800;24.05.2023;S.Gueth
 </remarks>
</member>
<member name="T:JF.Tools.JF_Replace_cls">
 <summary>
 Stellt Classe für Ersetzungen bereit
 </summary>
 <remarks>New: 2.1073;03.07.2012;J.Fes</remarks>
</member>
<member name="P:JF.Tools.JF_Replace_cls.ReplaceRules">
 <summary>
 Liste der Replace - Rules
 </summary>
 <value></value>
 <remarks>New: 2.1073;03.07.2012;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_Replace_cls.ReplaceExecute(System.String)">
 <summary>
 führt ein Replace auf String_p durch
 </summary>
 <param name="String_p"></param>
 <remarks>
 2.1116;13.09.2012;J.Fes;Last.Change:And Not String_p.ToUpper.StartsWith(ReplaceRule.ReplToStr.ToUpper) eingefuegt
 2.1199;09.08.2013;J.Fes;last.change: Renamed from ReplcaseExecute to ReplaceExecute
</remarks>
</member>
<member name="T:JF.Tools.JF_Replace_cls.ReplaceRule_cls">
 <summary>
 definiert eine Replcase Rule
 </summary>
</member>
<member name="P:JF.Tools.JF_Replace_cls.ReplaceRule_cls.Active">
 <summary>
 definiert ob die Rule aktive ist
 </summary>
 <value></value>
</member>
<member name="M:JF.Tools.JF_Replace.withStrCo(System.String,System.String,System.String,System.StringComparison)">
 <summary>
 <br/>Replaces in txtSource_p the txtToReplace_p txtReplaceWith_p by using StringComparisonEnum_p
 <br/>-- 
 <br/>#Exa: Dim MyNewString as String = JF_Replace_cls.ReplaceWithStringComparison("Test=#cccc# some=#yyyy#","#CcCc#","ReplacedTestValue",StringComparison.CurrentCultureIgnoreCase)
 <br/>#Exa: MyNewString Returns value 'Test=ReplacedTestValue some=#yyyy#'
 </summary>
 <remarks> 
 <br/>#New: 3.2000;09.01.2026;J.Fes 
 <br/>Source: https://codesnippets.fesslersoft.de/case-insensitive-string-replace/
 <br/>#LUp: 3.2000;19.01.2026;J.Fes uses now function CaseInsesitiveReplace
 </remarks>>
</member>
<member name="T:JF.Tools.JF_Return_cls">
 <summary>
 handels return of results and datas form JobServer
 Info for developer: this class ist for use in JS_Scripts !!please do never change this name 17.04.2008 (J.Fes)!!
 </summary>
</member>
<member name="T:JF.Tools.JF_Return_cls.ProcessDataIsTo_Enum">
 <summary>
 Liste of Data is to ... 
 </summary>
 <remarks> 
 #New: 3.1491;31.03.2020;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessDataIsTo_Enum.UNK">
 <summary>
 Data Action is Unkown
 </summary>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessDataIsTo_Enum.Skip">
 <summary>
 Object Data is to skipp = not to add
 </summary>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessDataIsTo_Enum.UpdateNo">
 <summary>
 Object Data exist and need to be updateed 
 </summary>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessDataIsTo_Enum.UpdateYes">
 <summary>
 Object Data exist and need to be updateed 
 </summary>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessDataIsTo_Enum.addNew">
 <summary>
 Object Data need to be imported new
 </summary>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessDataIsTo_Enum.Delete">
 <summary>
 Object Data need to be deleted / removed
 </summary>
</member>
<member name="T:JF.Tools.JF_Return_cls.ProcessStatus_Enum">
 <summary>
 Reflects process status
 </summary>
 <remarks> 
 #New: 3.1491;31.03.2020;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessStatus_Enum.NotStarted">
 <summary>
 Process is not started
 </summary>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessStatus_Enum.Started">
 <summary>
 Process started
 </summary>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessStatus_Enum.End">
 <summary>
 Process end
 </summary>
</member>
<member name="T:JF.Tools.JF_Return_cls.ProcessResult_Enum">
 <summary>
 Refelcts if process are
 </summary>
 <remarks> 
 #New: 3.1491;31.03.2020;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessResult_Enum.UNK">
 <summary>
 Data Action is Unkown
 </summary>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessResult_Enum.OK">
 <summary>
 ProcessResult is OK
 </summary>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessResult_Enum.WRN">
 <summary>
 ProcessResult is Done with waring
 </summary>
</member>
<member name="F:JF.Tools.JF_Return_cls.ProcessResult_Enum.ERR">
 <summary>
 ProcessResult is Done with Error
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ProcessDataIsTo">
 <summary>
  Refelcts if data is to ... addNew ... Update
 </summary>
 <remarks> 
 #New: 3.1491;31.03.2020;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_Return_cls.ProcessStatus">
 <summary>
 Reflects process status
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ProcessResult">
 <summary>
 
 </summary>
 <remarks> 
 #New: 3.1491;31.03.2020;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Return_cls.#ctor(System.Boolean)">
 <summary>
 new1 mit Default Value
 </summary>
 <param name="ReturnBolDefault"></param>
</member>
<member name="M:JF.Tools.JF_Return_cls.#ctor(System.Boolean,System.Boolean)">
 <summary>
 new2 with default value
 </summary>
 <param name="ReturnBolDefault">set's StartValue for Property's:[.ReturnBol and .ResultBol]</param>
 <param name="ErrUpDefault"></param>
</member>
<member name="M:JF.Tools.JF_Return_cls.Copy">
 <summary>
 Copy the current value to input variable CloneToReturn_cls
 </summary>
</member>
<member name="M:JF.Tools.JF_Return_cls.ResetToDefaultValues">
 <summary>
 Resets all values to default Info: Me.ResetResultValuesToOk() is applied 
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.Name">
 <summary>
 Defines name of Object 
 </summary>
 <remarks> 
 #New: 3.1264;07.09.2016;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_Return_cls.ResultCode">
 <summary>
 gibt den ResultCode als interger zurück
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ResultHasWarning">
 <summary>
 <br/>indicates whether the result contains a 'Warning' WRN 
 <br/> #Doc1: [if 'true' Result has warning]
 <br/> #Doc2: [if 'false' Result has NO warning]
 <br/> #Doc3: [Default Value is 'false' after new and after call 'ResetToDefaultValue']
 </summary>
 <remarks>New: 2.1104;19.08.2012;J.Fes</remarks>
</member>
<member name="P:JF.Tools.JF_Return_cls.ResultCodeAsString">
 <summary>
 returns the ResultCode as a string
 </summary>
 <remarks>' ApplDokuIntern: 2.1057;15.06.2012;J.Fes;"Neu: eingebaut"</remarks>
</member>
<member name="P:JF.Tools.JF_Return_cls.ResultMsgLast">
 <summary>
 Returns the last string added with ResultMsgAdd
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ResultMsgLastNotEmpty">
 <summary>
 Returns the last string added with ResultMsgAdd that was not empty.
 </summary>
</member>
<member name="M:JF.Tools.JF_Return_cls.ResultMsgAdd(System.String,System.String)">
 <summary>
 Inserts information at the end of Me.ResultMsg
 </summary>
</member>
<member name="M:JF.Tools.JF_Return_cls.ResultMsgAdd2(System.String,System.String,System.String)">
 <summary>
 inserts an info with JF.Tools.StringFormatForOutput.ObjectText("Descr...: Value") format at the end of Me.ResultMsg 
 </summary>
 <remarks> 
 #LUp: 3.2000;25.07.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Return_cls.ResultMsgAddToBegin(System.String,System.String)">
 <summary>
 Inserts information at the beginning of Me.ResultMsg
 </summary>
</member>
<member name="M:JF.Tools.JF_Return_cls.ResultMsgAddObjDesVal(System.String,System.Object)">
 <summary>
 add to Me.ResultMsg 'ObjectDescription_p......: ObjectValue_p' 
 </summary>
 <remarks> 
 #New: 3.1502;10.03.2021;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_Return_cls.ResultMsg">
 <summary>
 gibt die vom Programierer definierte ResultMsg zurück (keine Automatic)
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ResultMsgEvaluate">
 <summary>
 Returns Value af Result
 <para/>#Doc:If Me.ResultMsg NOT "" the Result contains this value.
 </summary>
 <remarks>
 25.06.2011;J.Fes;#LUp wenn Me.ResultMsg wird diese jetzt immer mit ausgegeben
 #LUp: 2.1057;15.06.2012;J.Fes;ResultCodeAsString eingearbeitet auswertung angepasst
 #LUp: 3.1264;07.09.2016;J.Fes;Add Propery Me.Name if used Err -> to Uppercase ERR 
 #LUp: 3.2000;11.11.2025;J.Fes; see ApplDokuIntern: 3.2000;11.11.2025;J.Fes;#Doc: add ":"
 </remarks>
</member>
<member name="P:JF.Tools.JF_Return_cls.ResultIsEverythingOk">
 <summary>
 <br/>Returns 'True' if everything is OK. 
 <br/>Returns 'False' if any error has occurred.  
 <br/>OK is achieved when the following applies: [Me.ResultBol=True + Me.ErrUp=False + Me.ExUp=False + ResultCode=0]=true
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ResultBol">
 <summary>
 <br/>General ResultBol 
 <br/>#Doc:If ResultBol = False, ResultIsEverythingOk is evaluated as 'False'. 
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.Ex">
 <summary>
 Returns 'Exception' data 
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ExUp">
 <summary>
 <br/>Returns 'true' if an exception has occurred. 
 <br/>Returns 'False' if no error has occurred.
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ExMsg">
 <summary>
 just use it to set simple Explanation for the upcomming exeption's
 <br/>!!! do not use JF_ErrHandler_cls.MyAppl_ExToStr(JF_ErrHandler_cls.Appl_ErrMsg_Enum.err0001_NotSpec, ex) 
 <br/>!!! |-> it dose duplicates the stack trace detals
 </summary>
 <value></value>
</member>
<member name="P:JF.Tools.JF_Return_cls.ErrUp">
 <summary>
 <br/>Returns True if an error has occurred 
 <br/>Retruns False if no error has occurred
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ErrMsg">
 <summary>
 <br/>Returns the error message.  
 <br/>#Doc:If an ErrMsg is set, Me.ErrUp = False is also set.
 </summary>
 <value></value>
</member>
<member name="P:JF.Tools.JF_Return_cls.ReturnString">
 <summary>
 <br/>General return string
 <br/>#Doc:has no effect on Result* Dat
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ReturnLong">
 <summary>
 <br/>General return Long 
 <br/>#Doc:has no effect on Result* Dat
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ReturnList">
 <remarks> 
 <br/>#New: 3.2000;10.09.2025;S.Gueth
 </remarks>
</member>
<member name="P:JF.Tools.JF_Return_cls.ReturnProcessId">
 <summary>
 General ReturnProcessId  
 <br/>#Doc:has no effect on Result* Dat
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ReturnBol">
 <summary>
 General ReturnBol
 <br/>#Doc:has no effect on Result* Dat
 </summary>
</member>
<member name="P:JF.Tools.JF_Return_cls.ReturnDataTable">
 <summary>
 gibt System.Data.DataTable zurück 
 </summary>
 <value></value>
</member>
<member name="P:JF.Tools.JF_Return_cls.ReturnDataRow">
 <summary>
 gibt System.Data.DataRow zurück 
 </summary>
 <value></value>
</member>
<member name="P:JF.Tools.JF_Return_cls.ReturnDataSet">
 <summary>
 gibt System.Data.DataSet zurück 
 </summary>
 <value></value>
</member>
<member name="M:JF.Tools.JF_Return_cls.ToString">
 <summary>
 gibt Me.ResultMsgEvaluate aus
 </summary>
 <remarks>New: 2.1059;20.06.2012;J.Fes</remarks>
</member>
<member name="T:JF.Tools.JF_StringBuilder">
 <summary>
 Class to process StringBuilder Data
 </summary>
 <remarks>
 New: 2.1210;17.09.2014;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_StringBuilder.TrimEndBlankCrLf(System.Text.StringBuilder@)">
 <summary>
 removes on end of SB_pr ALL blanks + vbCr + vbLf
 </summary>
 <remarks>New: 2.1210;10.09.2014;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_StringBuilder.TrimEndChar(System.Text.StringBuilder@,System.Char)">
 <summary>
 removes on end of SB_pr ALL Char_p 
 </summary>
 <remarks>New: 2.1210;17.09.2014;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_StringBuilder.TrimEndChar(System.Text.StringBuilder@,System.Char[])">
 <summary>
 removes on end of SB_pr ALL Chars_p 
 </summary>
 <remarks>New: 2.1210;10.09.2014;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_StringBuilder.TrimEndChar_IsInChar(System.Char,System.Char[])">
 <summary>
 helper for 
 </summary>
 <param name="Char_p"></param>
 <param name="Chars_p"></param>
</member>
<member name="T:JF.Tools.StrF">
 <summary>
 shorten wrapper for StringFormatForOutput
 </summary>
 <remarks> 
 #New: 3.2000;27.01.2025;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.StrF.ObjTxt(System.String,System.Object,System.Int32)">
 <summary>
 shorten wrapper for ObjectText 
 <br/>see:<see cref="M:JF.Tools.StringFormatForOutput.ObjectText(System.String,System.Object,System.Int32)"/>
 </summary>
 <remarks> 
 #New: 3.2000;27.01.2025;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.StringFormatForOutput.DescWith">
 <summary>
 legt die Breite ObjectDescription fest 
 </summary>
 <remarks>
 New: 2.1210;06.02.2015;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.StringFormatForOutput.ObjectText(System.String,System.Object,System.Int32)">
 <summary>
 Formats output for Objects and Value
 </summary>
 <param name="ObjectDescription_p"></param>
 <param name="ObjectValue_p"></param>
 <remarks>
 #New: 2.1210;06.02.2015;J.Fes
 #LUp: 3.1488;18.12.2018;J.Fes add DescWith_p
 <br/>#LUp: 3.2000;31.01.2025;J.Fes return for all text contains vbcrlf multible Text lines using JF.Tools.StringPadRight (1*)
 </remarks>
</member>
<member name="M:JF.Tools.StringFormatForOutput.Seperationline(System.Char,System.Int32)">
 <summary>
 Returns seperation line
 </summary>
 <remarks> 
 #New: 3.1492;12.05.2020;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Time_cls.DayHasSeconds">
 <summary>
 Returns the number of seconds in a day 60*60*24 = 86400 (sec)
 </summary>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeDiffers(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Int32)">
 <summary>
 M2: Compairs DataTime that Nullable
 </summary>
 <param name="DateTimeMax_msec">Max msec until dif of DateTime1 - DateTime2 returns Equal</param>
 <remarks>
 New: 2.1219;07.11.2015;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeDiffers(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.TimeSpan)">
 <summary>
 M1: Compairs DataTime that Nullable
 </summary>
 <param name="DateTime1_p">DateTime 1</param>
 <param name="DateTime2_p">DateTime 1</param>
 <param name="DateSpanMax_p">Max TimeSpan until dif of DateTime1 - DateTime2 returns Equal</param>
 <returns>
 Case 1: Returns true IF: Math.Abs(DateTime1.Subtract(DateTime2).Ticks) grt DateSpanMax_p.Ticks
 Case 2: Returns true IF: Math.Abs(DateTime1.Subtract(DateTime2).Ticks) lth DateSpanMax_p.Ticks
 Case 3: Returns true IF: DateTime1_p is Nothing and DateTime2_p is not nothing
 Case 4: Returns true IF: DateTime2_p is Nothing and DateTime2_p is not nothing
 Case 5: Returns false IF: DateTime2_p is Nothing and DateTime2_p is nothing
 </returns>
 <remarks>
 New: 2.1219;07.11.2015;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.TimeCalcEstimation_AsString(System.Int64,System.Int64,System.DateTime,System.DateTime,System.Double@,System.Boolean@)">
 <summary>
 berechnet aus den Eingabe Daten die voraussichtliche Dauer und Entzeit und gibt dieses als String aus
 </summary>
 <param name="EntireN_p">Anzahl aller zu verarbeitenden Objekte</param>
 <param name="CurrentN_p">Anzahl aller bereits verarbeitenden Objekte</param>
 <param name="StartTime_p">Process Start Zeit</param>
 <param name="CompareTime_p">Zeitpunkt zu dem CurrentN_p verarbeitet wurden (meist Now)</param>
 <param name="PercentDone_r">Return Var gibt Prozent verarbeitung zurück 50 = 50% </param>
 <param name="DoRunOk_r">Gibt zurück ob alles ausgewertet werden konnte</param>
 <returns>Example:Done:[2/of:10] Perc:[20,0%] Start:[05.09.2011 00:09] ~estim.End:[05.09.2011 00:14] ~estim.dura:5,00[min]</returns>
 <remarks>
 #New:05.09.2011/J.Fes
 #LUp: 3.1502;10.03.2021;J.Fes add JF.Tools.DateTimeFormat
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeCompareByHourMin(System.DateTime,System.DateTime)">
 <summary>
 vergleicht die übergebene Zeiten und gibt TRUE zurück wenn diese in der gleichen Stunde und Minute liegen (Info: Datum und sec werden nicht berücksichtigt)
 Stand 22.9.2008 J.Fes
 </summary>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeCompareByHourMin(System.DateTime,System.DateTime,System.TimeSpan)">
 <summary>
 vergleicht die übergebenen Zeiten und gibt true zurück wenn: 
 - (DateTimeComp-DateTimePoint).Ticks >=0
 - (DateTimeComp-DateTimePoint).Ticks kleiner= TimeDifMax.Ticks
 (Info: !!das Datum wird ignoriert!!)
 </summary>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeCompareByDateHourMin(System.DateTime,System.DateTime)">
 <summary>
 vergleicht 2 übergebene Zeiten und gibt TRUE zurück wenn diese am geichen Tag 
 und in der gleichen Stunde und Minute liegen (Info: sec werden nicht berücksichtigt)
 </summary>
</member>
<member name="M:JF.Tools.JF_Time_cls.DurationTimeResultToMinMilliseconds(System.DateTime,System.DateTime,System.Int32)">
 <summary>
 DurationTimeResultToMinMilliseconds
 </summary>
 <param name="StartDate"></param>
 <param name="EndDate"></param>
 <remarks>2.1210;01.04.2014;J.Fes;last.change: remove ByVal PadLeft_with As Integer</remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeCompareIsInTimeSpan(System.DateTime,System.TimeSpan,System.DateTime,System.DateTime)">
 <summary>
 Checks if DateTimePoint is 
 </summary>
 <param name="LeftDTP"></param>
 <param name="LeftDTPSpan "></param>
 <param name="NowDTP "></param>
</member>
<member name="M:JF.Tools.JF_Time_cls.DurationOfTimeSpann_toStr(System.TimeSpan,System.Int32,System.String,System.String,System.String)">
 <summary>
 verarbeitet eine TimeSpann und gibt diese als String mit Zeit Einheit aus. 
 <para/>#Doc: Foramtierungsregel: TimeSpann kl.als 1[sec] Einheit=[msec] / TimeSpann>1sec Einheit=[sec] / TimeSpann>1min Einheit=[min]
 </summary>
 <param name="TimeSpann_p"></param>
 <param name="PadLeft_p"></param>
 <param name="ResultPrintFormat_p">steuert das Ausgabeformat der Zeitspanne Example1:".00" = 0.10[min] Example1:".0" = 0.1[min]</param>
 <remarks>
 angepasst 9.9.2011 J.Fes +PrecisionFormat_p
 #LUp: 3.2000;29.02.2024;A.Becker: Refactored to be compatible with .NETStandard
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.DurationOfTimeSpann_toStr2(System.TimeSpan)">
 <summary>
 TimeSpann_p for TimeSpann_p string at format: 1(d), 4(hr), 10(min), 12(sec)
 </summary>
 <remarks>
 #New: 3.2000;21.02.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.TimeChk(System.Nullable{System.DateTime})">
 <summary>
 
 </summary>
 <param name="DateTime_p"></param>
 <remarks> 
 #New: 3.2000;21.03.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.DurationOfTimeSpann_toStr2(System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.String,JF.Tools.JF_Time_cls.DurationOfTimeSpannAutoText_enum,JF.Tools.JF_ToolsFile.DateTimeFormat2_enum,System.Boolean,System.Boolean)">
 <summary>
 returns for DateTime1_p  DateTime2_p the evaluated Duration in Format duration from ...
 </summary>
 <param name="DateTime1_p"></param>
 <param name="DateTime2_p"></param>
 <remarks> 
 #New: 3.2000;21.03.2024;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Time_cls.DateTimeF_enum.dd_MM_yy">
 <summary>
 Returns #Example: 23.02.12
 </summary>
</member>
<member name="F:JF.Tools.JF_Time_cls.DateTimeF_enum.dd_MM_yyyy">
 <summary>
 Returns #Example: 23.02.2012
 </summary>
</member>
<member name="F:JF.Tools.JF_Time_cls.DateTimeF_enum.dd_MM_yy_hh_mm">
 <summary>
 Returns #Example: 23.02.12 15:14
 </summary>
</member>
<member name="F:JF.Tools.JF_Time_cls.DateTimeF_enum.dd_MM_yy_hh_mm_ss">
 <summary>
 Returns #Example: 23.02.12 15:14
 </summary>
</member>
<member name="F:JF.Tools.JF_Time_cls.DateTimeF_enum.dd_MM_yyyy_hh_mm">
 <summary>
 Returns #Example: 23.02.2012 15:14
 </summary>
</member>
<member name="F:JF.Tools.JF_Time_cls.DateTimeF_enum.dd_MM_yyyy_hh_mm_ss">
 <summary>
 Returns #Example: 23.02.2012 15:14:31
 </summary>
</member>
<member name="F:JF.Tools.JF_Time_cls.DateTimeF_enum.hh_mm_ss">
 <summary>
 Returns #Example: 15:14:31
 </summary>
</member>
<member name="F:JF.Tools.JF_Time_cls.DateTimeF_enum.hh_mm">
 <summary>
 Returns #Example: 15:14
 </summary>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeF(System.Nullable{System.DateTime},JF.Tools.JF_Time_cls.DateTimeF_enum,System.Boolean)">
 <summary>
  DateTimeF variant with  DateTime_p As DateTime?
 </summary>
 <remarks> 
 #New: 3.1491;05.02.2020;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeF(System.DateTime,JF.Tools.JF_Time_cls.DateTimeF_enum,System.Boolean)">
 <summary>
 formatiertes ausgeben von Datum und Zeit
 </summary>
 <remarks>
 #New: 2.9660;23.02.2012;J.Fes 
 #LUp: 2.1057;15.06.2012;J.Fes
 #LUp: 3.1264;07.09.2016;J.Fes Removed Dim DateTi As DateTime = DateTime_p.ToLocalTime // add Optional toLocalTime As Boolean = False
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.Time_ToSeconds(System.DateTime)">
 <summary>
 Returns for #DateTime_p# all sum of seconds for DateTime_p  
 </summary>
 <remarks>New: 2.1210;13.08.2014;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.TimeDif_Seconds(System.DateTime,System.DateTime)">
 <summary>
 Returns Time dif in seconds of DateTime1_p and DateTime2_p
 </summary>
 <remarks>New: 2.1210;13.08.2014;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeParse(System.DateTime,JF.Tools.JF_ToolsFile.DateTimeFormat2_enum)">
 <summary>
 Returns Datetime shorten by DateTimeFormat2_p
 </summary>
 <remarks>
 #New: 2.1213;09.06.2015;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeMaxMinSet(System.DateTime@,System.DateTime@,System.DateTime,System.DateTime)">
 <summary>
  set for DateTime1Min_pr min DateTime for DateTime2Max_pr max DateTime
  <para/>#Doc: if DateTime1 or DateTime2 is set then this values are used // 
  <para/>#Doc: If DateTime1Min_pr or DateTime2Max_pr value = DateTime.MinValue (or not set) then Dates are not swaped 
  <para/>#Exa: 1 JF_Time_cls.DateTimeMaxMinSet(Date1, Date2) 
  --> swap to Date1 min date to Date2 max Date
  <para/>#Exa: 2 JF_Time_cls.DateTimeMaxMinSet(Date1, Date2, New DateTime(2019, 1, 2, 11, 1, 0), New DateTime(2019, 1, 2, 10, 1, 0))
  --> set min date to Date1='02.01.2019 10:01:00' // set max date to Date2='02.01.2019 11:01:00' 
 </summary>
 <remarks> 
 #New: 3.1490;15.11.2019;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeComp_IsDTPointsBetweenDTPoint(System.DateTime,System.String,System.DateTime@,System.String,System.DateTime@,System.String,System.Boolean,System.String@,System.String@)">
 <summary>
 Checks if DateTimePoint_p is beween DateTimeL_pr DateTimeR_pr
 <br/>#Doc: If DateTimeLRDoAutoFlip_p=True then value DateTimeL_pr DateTimeR_pr will be autoflipt 
 </summary>
 <param name="DateTimeC_p">is the DateTime that is checked if it is between DateTimeL_pr DateTimeR_pr</param>
 <param name="DateTimeL_pr">is left (Min) DateTime point</param>
 <param name="DateTimeR_pr">is right (Max) DateTime point</param>
 <param name="DateTimeLRDoAutoFlip_p">
 If value true then DateTimeL_pr DateTimeR_pr will be checked via DateTimeMinMaxAutoFlip
 <br/>#Doc: if DateTimeMinMaxAutoFlip flips the source values in parameters DateTimeL_pr and DateTimeR_pr are fliped
 </param> 
 <remarks> 
 #New: 3.2000;23.01.2025;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeComp_DTL_DTR_Bool(System.DateTime,System.String,JF.Tools.JF_ToolsFile.CompCond_enum,System.DateTime,System.String,System.String@,System.String@)">
 <summary>
 Checks DateTimeL_p is equal to requested CompCond_enum_p DateTimeR_p 
 <br/>Result is Boolean value
 <br/>uses function: <see cref="M:JF.Tools.JF_Time_cls.DateTimeComp_DTL_DTR(System.DateTime,System.String,JF.Tools.JF_ToolsFile.CompCond_enum,System.DateTime,System.String,System.String@,System.String@)"/>
 </summary>
 <remarks> 
 #New: 3.2000;02.02.2025;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.DateTimeComp_DTL_DTR(System.DateTime,System.String,JF.Tools.JF_ToolsFile.CompCond_enum,System.DateTime,System.String,System.String@,System.String@)">
 <summary>
 Checks DateTimeL_p is equal to requested 'CompCond_enum_p' DateTimeR_p
 <br/>If Parameter EvalInfo_r not set/used then Evaluation Information is not interpreted and not returned into variable EvalInfo_r
 <br/>see also: <seealso cref="M:JF.Tools.JF_Time_cls.DateTimeComp_DTL_DTR_Bool(System.DateTime,System.String,JF.Tools.JF_ToolsFile.CompCond_enum,System.DateTime,System.String,System.String@,System.String@)"/>
 </summary>
 <remarks> 
 #New: 3.2000;31.01.2025;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Time_cls.ParseDT(System.String)">
 <summary>
 <br/>Parse from TsElemValue_p DateTime
 <br/>Input can be valide Date as String or Integer as (sec)
 <br/>#Exa: DTValue_p='00:10'     -> 10 min -> Return 1.1.1900 00:10
 <br/>#Exa: DTValue_p='600' (sec) -> 10 min -> Return 1.1.1900 00:10
 </summary>
 <param name="DTValue_p">
 Input String
 </param>
 <remarks> 
 <br/>#New: 3.2000;04.02.2026;J.Fes
 </remarks>>
</member>
<member name="M:JF.Tools.JF_Time_cls.ParseDuration(System.String)">
 <summary>
 <br/>Parse from TsElemValue_p DateTime
 <br/>Input can be valide Date as String or Integer as (sec)
 <br/>#Exa: DTValue_p= '00:10' -> Return 600 (sec)
 <br/>#Exa: DTValue_p= '600'   -> Return 600 (sec)
 </summary>
 <param name="DTValue_p">
 Input String
 </param>
 <remarks> 
 <br/>#New: 3.2000;04.02.2026;J.Fes
 </remarks>>
</member>
<member name="T:JF.Tools.JF_Tools.ResState_Enum">
 <summary>
 enum for OK ERR WRN UNK
 </summary>
 <remarks>New: 2.1210;26.03.2015;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_Tools.JF_GuidNull">
 <summary>
 returns null Guid 00000000-0000-0000-0000-000000000000
 </summary>
 <remarks>new 22.11.2010 J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_Tools.CloneObject(System.Object)">
 <summary>
 function to clone an object (class must be marked as serializable)
 </summary>
 <param name="obj"></param>
 <remarks>New: 2.1210;19.01.2015;S.Gueth</remarks>
</member>
<member name="M:JF.Tools.JF_Tools.FileIsLocked(System.IO.FileInfo)">
 <summary>
 Function that checks if a file is locked by an other program or not
 </summary>
 <param name="file_DPNE_p"></param>
 <remarks>New: 2.1216;13.08.2015;S.Gueth</remarks>
</member>
<member name="M:JF.Tools.JF_Tools.CTypeTryDataRowGetItemValue``1(System.Data.DataRow,System.String,``0)">
 <summary>
 returns value of datarow item
 </summary>
 <typeparam name="t"></typeparam>
 <param name="DataRow_p"></param>
 <param name="ColName_p">Name of datarow item (colume name)</param>
 <param name="DefaultValue_p">default value if: -ItemColName not exist in DataRowIn. -Or DataValue conversion failed</param>
 <remarks>new 4.1.2011 J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_Tools.CTypeTryDefault``1(System.Object,``0@)">
 <summary>
 Returns converted object data of value if conversion is not posible then DefaultValue_p is returend 
 </summary>
 <typeparam name="t">Object Type like String Interger..</typeparam>
 <param name="value">Object value</param>
 <param name="DefaultValue_p">Default value if conversion is not posible</param>
</member>
<member name="M:JF.Tools.JF_Tools.CTypeTryDefault``1(System.Object,``0@,``0@)">
 <summary>
 Returns converted object data of value if conversion is not posible then DefaultValue_p is returend 
 </summary>
 <typeparam name="t">Object Type like String Interger..</typeparam>
 <param name="value">Object value</param>
 <param name="DefaultValue_p">Default value if conversion is not posible</param>
 <param name="DefaultValueIfvalueIsNothing_p">this value is used if value is nothing</param>
 <remarks> 
 #New: 3.1476;19.09.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Tools.CTypeTryDefault``1(System.Object,``0@,System.Object,``0@)">
 <summary>
 Returns converted object data of value 
 <br/>#Doc: if value of value_p is nothing then function returns DefaultValueIfValueIsNothing_p
 <br/>#Doc: if value of value_p = valueCompare_p then function returns DefaultValueIfValueIsEqualCompareValue_p 
 <br/>#Doc: if conversion is not posible then DefaultValueIfValueIsNothing_p is returend 
 </summary>
 <remarks> 
 #New: 3.2000;23.01.2025;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Tools.CTypeTryDefault(System.Object,System.String@)">
 <summary>
 Returns Value of Object_p As String Value
 <seealso cref="M:JF.Tools.JF_Tools.CTypeTryDefault(System.Object,System.String@)"></seealso>
 </summary>
 <param name="Object_p"></param>
 <returns>
 #Doc: if Object is NOT NOTHING then function Returns String Value of 'Object_p'
 #Doc: if Object is NOTHING or Equals(DBNull.Value) then function Returns String Value:'#INF: !! Value is NOTHING !!' 
 </returns>
 <remarks>
 #New: 2.1199;08.08.2013;J.Fes
 #last.change: 2.1200;11.09.2013;J.Fes DefaultValue is now Optional // If Object_p = nothing Software Process
 </remarks>
</member>
<member name="M:JF.Tools.JF_Tools.CType_To_OkErr``1(System.Object,``0@)">
 <summary>
 Vergleicht ob Value = ValueToReturnOk und gibt OK zurück wenn diese gleich sind ERR wenn diese ungleich sind
 </summary>
 <typeparam name="t"></typeparam>
 <param name="value"></param>
 <param name="ValueToReturnOk"></param>
</member>
<member name="M:JF.Tools.JF_Tools.EnumTryParse``1(System.String,``0@)">
 <summary>
 Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts einer oder mehrerer Enumerationskonstanten in ein entsprechendes Enumerationsobjekt.<br />
 Der Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde.
 </summary>
 <returns>
 true, wenn der <paramref name="value"/>-Parameter erfolgreich konvertiert wurde, andernfalls false.
 </returns>
 <param name="value">Die Zeichenfolgendarstellung des Enumerationsnamens oder zugrunde liegenden Werts, der konvertiert werden soll.</param>
 <param name="result">Die Rückgabe dieser Methode enthält ein Objekt vom Typ <paramref name="TEnum"/>, dessen Wert durch <paramref name="value"/> dargestellt wird. Dieser Parameter wird nicht initialisiert übergeben.</param>
 <typeparam name="TEnum">Der Enumerationstyp, in den <paramref name="value"/> konvertiert werden soll.</typeparam>
</member>
<member name="M:JF.Tools.JF_Tools.EnumTryParse``1(System.String,System.Boolean,``0@)">
 <summary>
 Konvertiert die Zeichenfolgendarstellung des Namens oder des numerischen Werts einer oder mehrerer Enumerationskonstanten in ein entsprechendes Enumerationsobjekt.<br />
 Ein Parameter gibt an, ob bei der Operation die Groß- und Kleinschreibung berücksichtigt wird. Der Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde.
 </summary>
 <returns>
 true, wenn der <paramref name="value"/>-Parameter erfolgreich konvertiert wurde, andernfalls false.
 </returns>
 <param name="value">Die Zeichenfolgendarstellung des Enumerationsnamens oder zugrunde liegenden Werts, der konvertiert werden soll.</param>
 <param name="ignoreCase">true, wenn die Groß- und Kleinschreibung nicht berücksichtigt wird. false, wenn die Groß- und Kleinschreibung berücksichtigt wird.</param>
 <param name="result">Die Rückgabe dieser Methode enthält ein Objekt vom Typ <paramref name="TEnum"/>, dessen Wert durch <paramref name="value"/> dargestellt wird. Dieser Parameter wird nicht initialisiert übergeben.</param>
 <typeparam name="TEnum">Der Enumerationstyp, in den <paramref name="value"/> konvertiert werden soll.</typeparam>
</member>
<member name="M:JF.Tools.JF_Tools.ObjectToBytes``1(``0)">
 <summary>
 Serialisiert ein beliebiges Objekt zu einem Byte-Array
 </summary>
 <typeparam name="t">Typ des zu serialisierenden Objektes</typeparam>
 <param name="value">Das zu serialisierende Objekt</param>
 <returns>Serialisiertes Objekt als Byte-Array</returns>
</member>
<member name="M:JF.Tools.JF_Tools.ObjectFromBytes``1(System.Byte[])">
 <summary>
 DeSerialisiert ein Byte-Array zu dem enthaltenen Objekt
 </summary>
 <typeparam name="t">Typ des im Byte-Array enthaltenen Objektes</typeparam>
 <param name="bytes">Das Byte-Array mit dem zu deserialisierendem Objekt</param>
 <returns>Das deserialisierte Objekt</returns>
</member>
<member name="M:JF.Tools.JF_Tools.ObjectToXml``1(``0)">
 <summary>
 Serialisiert ein beliebiges Objekt zu einem XML-String
 </summary>
 <typeparam name="t">Typ des zu serialisierenden Objektes</typeparam>
 <param name="value">Das zu serialisierende Objekt</param>
 <returns>Serialisiertes Objekt als XML-String</returns>
</member>
<member name="M:JF.Tools.JF_Tools.ObjectFromXml``1(System.String)">
 <summary>
 DeSerialisiert ein XML-String zu dem enthaltenen Objekt
 </summary>
 <typeparam name="t">Typ des im XML-String enthaltenen Objektes</typeparam>
 <param name="xmlString">Der XML-String mit dem zu deserialisierendem Objekt</param>
 <returns>Das deserialisierte Objekt</returns>
 <remarks>last.change: 2.1210;27.03.2014;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_Tools.ValueFlip``1(``0@,``0@)">
 <summary>
 tauscht den Wert von zwei belibigen Objekten
 </summary>
 <typeparam name="T"></typeparam>
 <param name="in1"></param>
 <param name="in2"></param>
</member>
<member name="M:JF.Tools.JF_Tools.ValueFlip_Int(System.Int32@,System.Int32@)">
 <summary>
 taucht den wert der Variablen Int1 mit Int2
 </summary>
 <param name="Int1"></param>
 <param name="Int2"></param>
</member>
<member name="M:JF.Tools.JF_Tools.ValueFlip_Date(System.DateTime@,System.DateTime@)">
 <summary>
 tauscht den Wert der Variablen DateTime1 mit DateTime2
 </summary>
</member>
<member name="M:JF.Tools.JF_Tools.FileToStringArray(System.String)">
 <summary>
 Liest alle Zeilen einer Textdatei in ein List(Of String)  
 Hinweis: die Datei FileToRead_DPNE muss vorhanden sein !
 </summary>
 <param name="FileToRead_DPNE"></param>
</member>
<member name="M:JF.Tools.JF_Tools.FileToStringArray(System.String,System.Text.Encoding)">
 <summary>
 Liest alle Zeilen einer Textdatei in ein List(Of String)  
 Hinweis: die Datei FileToRead_DPNE muss vorhanden sein !
 </summary>
 <param name="FileToRead_DPNE"></param>
 <param name="Encoding_in"></param>
</member>
<member name="M:JF.Tools.JF_Tools.BooleanTrueFalseToggle(System.Boolean)">
 <summary>
 macht aus "True = False" aus "False = True"
 </summary>
 <param name="TrueFalse"></param>
</member>
<member name="T:JF.Tools.JF_Tools.BoolToTxtType_enum">
 <summary>
 Defines for function BoolToTxt Text Outputformat like YesNo OkErr
 <see cref="M:JF.Tools.JF_Tools.BoolToTxt(System.Boolean,JF.Tools.JF_Tools.BoolToTxtType_enum,JF.Tools.JF_Tools.BoolTxtFormat_enum)"></see>
 </summary>
 <remarks>
 New: 2.1200;06.09.2013;J.Fes
 <br/>#LUp: 3.2000;02.02.2025;J.Fes add OkNo
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.UNK">
 <summary>
 
 </summary>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.YesNo">
 <summary>
 map: YES = True
 <br/>map: No  = False
 </summary>
 <remarks>
 New: 2.1218;20.10.2015;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.NoYes">
 <summary>
 map: NO  = True
 <br/>map: YES = False
 </summary>
 <remarks>
 New: 2.1218;20.10.2015;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.OkErr">
 <summary>
 map: OK  = True
 <br/>map: ERR = False
 </summary>
 <remarks>
 New: 2.1218;20.10.2015;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.ErrOk">
 <summary>
 map: ERR = True
 map: OK  = False
 </summary>
 <remarks>
 New: 2.1218;20.10.2015;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.TrueFalse">
 <summary>
 map: True  = True
 <br/>map: False = False
 </summary>
 <remarks>
 New: 2.1218;20.10.2015;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.FalseTrue">
 <summary>
 map: False = True
 <br/>map: True  = False
 </summary>
 <remarks>
 New: 2.1218;20.10.2015;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.TF">
 <summary>
 map: T = True
 <br/>map: F = False
 </summary>
 <remarks>
 New: 2.1218;20.10.2015;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.YN">
 <summary>
 map: Y = True
 <br/>map: N = False
 </summary>
 <remarks>
 New: 2.1218;20.10.2015;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.OnOff">
 <summary>
 map: ON  = True
 <br/>map: OFF = False
 </summary>
 <remarks>
 #LUp 2.1210;31.10.2014;J.Fes;"Add"
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.EQL_NEQ">
 <summary>
 Returns: 
 map  "="   = true
 <br/>map  "neq" = false
 </summary>
 <remarks>
 New: 2.1210;25.12.2014;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.NUM_1_0">
 <summary>
 Returns: 
 map: "1" = true
 <br/>map: "0" = false
 <br/>#Doc: value = '0'='false' any other value then '0'='True'
 </summary>
 <remarks>
 New: 2.1213;08.06.2015;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.FT">
 <summary>
 map: F = True
 <br/>map: T = False
 </summary>
 <remarks>
 #New: 3.1487;12.11.2018;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.OffOn">
 <summary>
 map: Off  = True
 <br/>map: ON  = False
 </summary>
 <remarks>
#LUp: 3.1487;12.11.2018;J.Fes;"Add"
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.OkNo">
 <summary>
 map: OK  = True
 <br/>map: No = False
 </summary>
 <remarks>
 #New: 3.2000;02.02.2025;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.OkEr">
 <summary>
 map: OK  = True
 <br/>map: ER = False
 </summary>
 <remarks>
 #New: 3.2000;05.02.2025;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolToTxtType_enum.ErOk">
 <summary>
 map: ER = True
 <br/>map: OK  = False
 </summary>
 <remarks>
 New: #New: 3.2000;05.02.2025;J.Fes
 </remarks>
</member>
<member name="T:JF.Tools.JF_Tools.BoolTxtFormat_enum">
 <summary>
 Defines for function BoolToTxt Text Outputformat Lowercase Uppercase 
 <see cref="M:JF.Tools.JF_Tools.BoolToTxt(System.Boolean,JF.Tools.JF_Tools.BoolToTxtType_enum,JF.Tools.JF_Tools.BoolTxtFormat_enum)"></see>
 </summary>
 <remarks>New: 2.1200;06.09.2013;J.Fes</remarks>
</member>
<member name="F:JF.Tools.JF_Tools.BoolTxtFormat_enum.Default">
 <summary>
 keine Änderung des Texte's
 </summary>
</member>
<member name="F:JF.Tools.JF_Tools.BoolTxtFormat_enum.ToUpper">
 <summary>
 alles in Upercase
 </summary>
</member>
<member name="F:JF.Tools.JF_Tools.BoolTxtFormat_enum.ToLower">
 <summary>
 alles in Lowercase
 </summary>
</member>
<member name="F:JF.Tools.JF_Tools.BoolTxtFormat_enum.ToKapital">
 <summary>
 erster Buchstabe Gross alles andere in klein Buchstaben
 </summary>
</member>
<member name="M:JF.Tools.JF_Tools.TxtToBool(System.String,JF.Tools.JF_Tools.BoolToTxtType_enum,System.Boolean)">
 <summary>
 retruns for Txt_p True/False
 <br/>#Exa1: TxtToBool('ON',BoolToTxtType_enum.OnOff,False)  ->  true
 <br/>#Exa1: TxtToBool('Off',BoolToTxtType_enum.OnOff,False) ->  false
 <br/>#Exa1: TxtToBool('UNK',BoolToTxtType_enum.OnOff,False) ->  false
 <br/>#Exa1: TxtToBool('UNK',BoolToTxtType_enum.OnOff,True)  ->  true
 </summary>
 <remarks> 
 <br/>#New: 3.1457;08.03.2018;J.Fes
 <br/>#LUp: 3.1487;12.11.2018;J.Fes False case added 
 <br/>#LUp: 3.2000;02.02.2025;J.Fes add OkNo
 </remarks>
</member>
<member name="M:JF.Tools.JF_Tools.BoolToTxt(System.Boolean,JF.Tools.JF_Tools.BoolToTxtType_enum,JF.Tools.JF_Tools.BoolTxtFormat_enum)">
 <summary>
 Returns Text for Bool_p value 
 <br/>#Exa1: BooleanToText(true,YesNo) ->  "Yes"
 <br/>#Exa2: BooleanToText(true,YesNo,ToLower) ->  "yes" 
 <br/>#Exa2: BooleanToText(true,YesNo,ToUpper) ->  "YES" 
 </summary>
 <param name="Bool_p"></param>
 <remarks>
 New: 2.1200;06.09.2013;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Tools.EveryTimeDoEvaluate(System.Int64,System.Int64,System.Int64[])">
 <summary>
 Checks if "CurrentN = N times of TrueEveryNTimes" or "CurrentN = TrueIfEqual1" .. or .. "CurrentN = TrueIfEqualn"
 </summary>
 <param name="CurrentN"></param>
 <param name="TrueEveryNTimes"></param>
 <param name="TrueIfEqual"></param>
</member>
<member name="M:JF.Tools.JF_Tools.EveryTimeDoEvaluate(System.Int64,System.Int64,System.Int64)">
 <summary>
 Checks if "CurrentN = N times of TrueEveryNTimes" or "CurrentN = TrueIfEqual"
 </summary>
 <param name="CurrentN"></param>
 <param name="TrueEveryNTimes"></param>
 <param name="TrueIfEqual"></param>
</member>
<member name="M:JF.Tools.JF_Tools.EveryTimeDoEvaluate(System.Int64,System.Int64)">
 <summary>
 Checks if "CurrentN = N times of TrueEveryNTimes" or "CurrentN = TrueIfEqual"
 </summary>
 <param name="CurrentN"></param>
 <param name="TrueEveryNTimes"></param>
 <remarks>New: 2.1210;13.08.2014;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_Tools.CompareArrays(System.Array,System.Array)">
 <summary>
 Vergleicht zwei Arrays
 </summary>
 <returns>TRUE wenn beide Arrays den gleichen Inhalt haben oder wenn beide Arrays NOTHING sind</returns>
</member>
<member name="M:JF.Tools.JF_Tools.ObjectsAreEqual(System.Object,System.Object)">
 <summary>
 Prüft zwei Objekte auf gleichheit nach foglender Methode:
  - TRUE  wenn beide Objekte Nothing sind
  - FALSE wenn nur eines der Objekte Nothing ist
  - TRUE  wenn beide Objekte die selbe Referenz haben
  - FALSE wenn die Typen der Objekte unterschiedlich sind
  - TRUE  wenn obj1.Equals(obj2)
 </summary>
</member>
<member name="M:JF.Tools.JF_Tools.IsRunningInMono">
 <summary>
 Checks if the current application domain is running withing the mono runtime.
 </summary>
 <returns>true if running in mono, false if running somewhere else</returns>
 <remarks>tries to get type informations about the type Mono.Runtime which only exists within mono</remarks>
</member>
<member name="M:JF.Tools.JF_Tools.ListSplitIntoChunks(System.Collections.Generic.List{System.String},System.Int32)">
 <summary>
 Split a List in multiple lists with a limited size
 </summary>
 #New: 3.1601;28.01.2022;A.Stein
</member>
<member name="M:JF.Tools.JF_ToolsFile.JF_Filetouch(System.String,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
 <summary>
 <br/>Update the CreationTime, LastWriteTime and LastAccessTime.
 </summary>
 <param name="File_DPNE"></param>
 <param name="CreationTimeNew_p"></param>
 <param name="LastWriteTimeNew_p"></param>
 <param name="LastAccessTimeNew_p"></param>
 <remarks>
 <br/>#LUp:2.1200;22.08.2013;J.Fes Renamed from: JF_touchFile_JF_FileDef to JF_Filetouch
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileDeleteIfExist(System.String)">
 <summary>
 Deletes if files exist
 <br/>#Doc: Returns true if file is deleted // Returns false if file cannot be deleted
 </summary>
 <param name="File_DPNE_p"></param>
 <remarks>  
 <br/>#New: 3.1503;12.04.2021;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileDelete(System.String,System.Boolean,System.Boolean,System.Exception@)">
 <summary>
  deletes a file (no try catch)
 </summary>
 <returns>true if file is no longer present at the end</returns>
 <remarks> 
 <br/>#New: 3.2000;12.01.2026;J.Fes deletes a file even if file is read only
 <br/>#LUp: 3.1800;07.08.2023;J.Fes add Optional TryCatch_p, Optional Ex_p ..
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.RemoveAttribute(System.IO.FileAttributes,System.IO.FileAttributes)">
 <summary>
 returns FileAttributes_p - FileAttributesToRemove_p
 </summary>
 <remarks> 
 <br/>#New: 3.2000;12.01.2026;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileDoRemoveReadOnly(System.String)">
 <summary>
 Removes from File_DPNE_p FileAttributes.ReadOnly
 </summary>
 <param name="File_DPNE_p"></param>
 <remarks> 
 <br/>#New: 3.2000;12.01.2026;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileDelete(System.String)">
 <summary>
 <br/>deletes:'File_DPNE_p' with TryCatch
 <br/>#Doc:Exception will !!-NOT-!! be returend 
 <br/>#Doc:Deletes also readonly files
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileDelete(System.String,System.Boolean)">
 <summary>
 <br/>deletes:'File_DPNE_p' with or without TryCatch_p
 <br/>#Doc:Exception will !!-NOT-!! be returend 
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileDelete(System.String,System.Boolean,System.Exception@)">
 <summary>
  <br/>deletes a file with or without TryCatch Exception will not be returend 
  <br/>#Doc:Returns true if file is no longer present at the end
 </summary>
 <remarks> 
 <br/>#LUp: 3.1800;07.08.2023;J.Fes add Optional TryCatch_p, Optional Ex_p ..
 <br/>#LUp: 3.2000;12.01.2026;J.Fes removes optional parmater TryCatch_p Ex_pr
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileDeleteFirstFound(System.String@,System.Boolean@,System.String[])">
 <summary>
 <br/>Trys to deletes the first file that is found in ParamArray ByVal Files_DPNE_p
 <br/>#Doc:If file is found then FileFound_r=true. 
 <br/>Then we try to delete the file if is deleted then function Result is 'true' if not then function result is 'false'
 </summary>
 <remarks> 
 <br/>#New: 3.1442;28.11.2017;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.StringListWriteToFile(System.Collections.Generic.List{System.String},System.String,System.Boolean,System.Text.Encoding)">
 <summary>
 schreibt den Inhalt einer Stringlist in die Angegeben Datei (via My.Computer.FileSystem.WriteAllText)
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DirAllFilesEditAttr(System.String,System.Boolean,System.IO.FileAttributes)">
 <summary>
 Edit for all Files starting from Dir_DP_p attributes_p
 </summary>
 <param name="Dir_DP_p"></param>
 <param name="SetAttr">if Value=true SetAttr // if Value=false RemoveAttr</param>
 <remarks>New: 2.1210;24.03.2014;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DirCopyUpdate(System.String,System.String,System.String,System.String,System.Boolean,System.Boolean,System.Boolean)">
 <summary>
 Copy a directory when there is a sync needed or create them new.
 <br/>#Exa: Regex: Include: ((.*?).prt$)|((.*?).stp$)|((.*?).txt$)  Inlude all: ".*?"
 <br/>#Exa: Regex: Exlude : ((.*?).bak$)|((.*?).tmp$)
 <br/>#Doc: siehe auch https://regex101.com/
 </summary>
 <param name="sourcePath_p"></param>
 <param name="destinationPath_p"></param>
 <param name="IncludeFilesRegex_p">Regular Expression for all files and dirs you want to include to the sync. Default: Nothing=All files and dirs</param>
 <param name="ExcludeFilesOrDirsRegex_p">Regular Expression for all files and dirs you want to exclude form the sync <br/>#Exa: (.*?).prt</param>
 <remarks> 
 <br/>#New: 3.1450;29.01.2018;A.Stein
 <br/>#LUp: 3.1453;12.02.2018;J.Fes add ChkFileSize_p, ChkFileLastWriteTime_p
 <br/>#LUp: 3.1465;23.05.2018;J.Fes/A.Stein solving Issues IncludeFilesRegex_p and ExcludeFilesOrDirsRegex_p
 <br/>#LUp: 3.1602;01.09.2022;S.Gueth: added param PrintToConsole_p
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DirRenameOrUpdateWithDate(System.String)">
 <summary>
 Add a datetime-suffix to a folder, overwrite if folder already exists 
 <br/>#Exa: #DirName# -> #DirName#_13.02.2024
 </summary>
 <remarks> 
 <br/>#New: 3.2000;13.02.2024;A.Stein
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileCopySnyc(System.String,System.String,System.Boolean,System.Boolean,System.Boolean)">
 <summary>
 Copy file if there is a sync needed
 </summary>
 <remarks> 
 <br/>#New: 3.1450;29.01.2018;A.Stein
 <br/>#LUp: 3.1453;11.02.2018;J.Fes add Option ChkFileSize_p, ChkFileLastWriteTime_p
 <br/>#LUp: 3.1602;01.09.2022;S.Gueth: added param PrintToConsole_p
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileOrFolderSync_bySyncFileCheck(System.String,System.String,System.String,System.Boolean)">
 <summary>
 <br/>function to copy / sync a file or a folder, by checking the given syncfile
 </summary>
 <param name="FileOrFolderToSyncFrom_Source_p">
 <br/>defines the file or folder that should be synced
 <br/>you can set full path to one file (only this file will be synced)
 <br/>or full path to one folder (whole folder with sub dirs and files will be synced)
 </param>
 <param name="FolderToSyncTo_Target_DP_p">
 <br/>defines the target folder to sync to
 </param>
 <param name="CheckIfSyncNeeded_FileName_NE_p">
 <br/>defines the file name that will be checked against existens, file last write time and file sice on source and target site, if sync is needed
 <br/>sync will be done if:
 <br/>defined file does not exists on target dir
 <br/>defined file last write time differs between source and target dir
 <br/>defined file size differs between source and target dir
 </param>
 <param name="PrintToConsole_p">
 <br/>if set to true, info will be trinted to console (default is false)
 </param>
 <remarks> 
 <br/>#New: 3.1602;31.08.2022;S.Gueth
 </remarks>
</member>
<member name="T:JF.Tools.JF_ToolsFile.FileOrFolderEnum">
 <remarks> 
 <br/>#New: 3.1602;31.08.2022;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileNameRemoveForbiddenChars(System.String,System.String,System.Char[])">
 <summary>
 <br/>Replaces invalid Chars in file Names
 </summary>
 <param name="FileName_DPNE_p"></param>
 <param name="ReplaceString_p"></param>
 <param name="excldueCharsAsAscii">excldueCharsAsAscii as Optional Array Of AsciiCodes eg: Dim numbers = New Integer() {43 ("+"), 61 ("=")} => in this case the following chars wont be replaced: "+", "="</param>
 <remarks>
 <br/>#New:2.1210;07.07.2014;J.Fes;last.change: Names Updatet
 <br/>#LUp: 3.1308;14.03.2017;J.Fes;back to old methode
 <br/>#LUp: 3.1601;29.07.2021;A.Stein´added excldueChars as Optional Array Of Chars eg: Dim numbers = New Char() {"+","="} => in this case the following chars wont be replaced: "+", "="
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileNameRemoveForbiddenChars_REV2017_03(System.String,System.String)">
 <summary>
 Replaces invalid Chars in file Names
 </summary>
 <param name="FileName_DPNE_p"></param>
 <param name="ReplaceString_p"></param>
 <remarks>#New: 3.1308;14.03.2017;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileStreamGet(System.String,System.Nullable{System.IO.FileMode},System.Nullable{System.IO.FileAccess},System.Nullable{System.IO.FileShare},System.Nullable{System.TimeSpan})">
 <summary>
 <br/>Attempts to open a file as a stream.
 <br/>Within a timeout window, the opening is attempted repeatedly.
 </summary>
 <param name="path_p">File to be opened</param>
 <param name="mode_p">Specifies how the operating system should open the file. Default<see cref="F:System.IO.FileMode.Open" /></param>
 <param name="access_p">Specifies whether the file should be opened for reading, writing, or both. Default <see cref="F:System.IO.FileAccess.Read" /></param>
 <param name="share_p">Steuert den gleichzitigen Zugriff auf die Datei. Default <see cref="F:System.IO.FileShare.None" /></param>
 <param name="timeout_p">Specifies how long the opening should be retried before an exception is thrown. Default: 1000ms</param>
 <returns>Opened FileStream</returns>
</member>
<member name="M:JF.Tools.JF_ToolsFile.EnumerateFilesInSubDir(System.String,System.String[],Microsoft.VisualBasic.FileIO.SearchOption)">
 <summary>
 Sucht den ersten gefundenen File in Root_DP nach den gegebenen FileMask's suchbegriffen.
 <br/>#Doc:Wenn kein File gefunden wird dann wird ein leer string ("") Returned
 </summary>
 <param name="Root_DP">Example: C:\temp\Sub1\Sub2</param>
 <param name="FileMasks">Example: FileMasks New String(){"Test1*.csv"},{"Test1*.csv"}</param>
 <remarks>
 <br/>#LUp: 3.1435;02.11.2017;J.Fes
 <br/>#LUp: 3.2000;06.09.2024;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.EnumerateFilesInSubDir(System.String,System.String[],System.IO.SearchOption)">
 <summary>
 Sucht den ersten gefundenen File in Root_DP nach den gegebenen FileMask's suchbegriffen.
 <br/>#Doc:Wenn kein File gefunden wird dann wird ein leer string ("") Returned
 </summary>
 <param name="Root_DP">Example: C:\temp\Sub1\Sub2</param>
 <param name="FileMasks">Example: FileMasks New String(){"Test1*.csv"},{"Test1*.csv"}</param>
 <remarks>
 <br/>#LUp: 3.1435;02.11.2017;J.Fes
 <br/>#LUp: 3.2000;06.09.2024;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileFindFirstFileInSubDir(System.String,System.String[],Microsoft.VisualBasic.FileIO.SearchOption)">
 <summary>
 Sucht den ersten gefundenen File in Root_DP nach den gegebenen FileMask's suchbegriffen.
 <br/>#Doc:Wenn kein File gefunden wird dann wird ein leer string ("") Returned
 </summary>
 <param name="Root_DP">Example: C:\temp\Sub1\Sub2</param>
 <param name="FileMasks">Example: FileMasks New String(){"Test1*.csv"},{"Test1*.csv"}</param>
 <remarks>
 <br/>#LUp: 3.1435;02.11.2017;J.Fes
 <br/>#LUp: 3.2000;06.09.2024;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileFindFirstFileInSubDir(System.String@,System.String[]@,System.IO.SearchOption)">
 <summary>
 <br/>Searches for the first file found in Root_DP using the given FileMask search terms.
 <br/>#Doc: If no file is found, an empty string ("") is returned.
 </summary>
 <param name="Root_DP">Example: C:\temp\Sub1\Sub2</param>
 <param name="FileMasks">Example: Dim FileMasks As String() = {"Test1*.csv"},{"Test1*.csv"}</param>
 <remarks>
 <br/>#LUp: 3.1435;02.11.2017;J.Fes
 <br/>#LUp: 3.2000;06.09.2024;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileFindFirstFileInSubDir(System.String,System.String[])">
 <summary>
 <br/>Searches for the first file found in Root_DP using the given FileMask search terms.
 <br/>#Doc: If no file is found, an empty string ("") is returned.
 <br/>#Exa: Example: Dim FileMasks As String() = {"Test1*.csv"},{"Test1*.csv"}
 </summary>
 <remarks> 
 <br/>#New: 3.1435;02.11.2017;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileFindFirstFileInSubDir(System.String,System.String)">
 <summary>
 <br/>Search for the first file found with the given file mask in Root_DP 
 <br/>#Doc:[If no file is found, an empty string ("") is returned] 
 </summary>
 <param name="Root_DP">Example: C:\temp\Sub1\Sub2</param>
 <param name="FileMask">Example: "Test*.csv"</param>
 <remarks>New: 12.06.2012;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileFindFirstFileInSubDir(System.String,System.String,Microsoft.VisualBasic.FileIO.SearchOption)">
 <summary>
 Search for the first file found with the given file mask in Root_DP  
 <br/>#Doc:[If no file is found, an empty string ("") is returned] 
 </summary>
 <param name="Root_DP">Example: C:\temp\Sub1\Sub2</param>
 <param name="FileMask">Example: Test*.csv</param>
 <param name="FileIO_SearchOption_p">with FileIO.SearchOption</param>
 <remarks>
 <br/>#New: 3.1435;02.11.2017;J.Fes
 <br/>#LUp: 3.2000;06.09.2024;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileFindFirstFileInSubDir(System.String,System.String,System.IO.SearchOption)">
 <summary>
 <br/>Search for the first file found with the given file mask in Root_DP 
 <br/>#Doc:[If no file is found, an empty string ("") is returned] 
 </summary>
 <param name="Root_DP">Example: C:\temp\Sub1\Sub2</param>
 <param name="FileMask">Example: Test*.csv</param>
 <param name="FileIO_SearchOption_p">with FileIO.SearchOption</param>
 <remarks>
 <br/>#New: 3.1435;02.11.2017;J.Fes
 <br/>#LUp: 3.2000;06.09.2024;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileFindAllFilesInSubDir(System.String,System.String[],Microsoft.VisualBasic.FileIO.SearchOption)">
 <summary>
 Sucht nach allen Files in Root_DP nach den gegebenen FileMask's suchbegriffen.
 <br/>#Doc: Wenn kein File gefunden wird dann wird nothing Returned
 </summary>
 <param name="Root_DP">Example: C:\temp\Sub1\Sub2</param>
 <param name="FileMasks">Example: Test1*.csv,Test2*.csv</param>
 <param name="FileIO_SearchOption"></param>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileFindAllFilesInSubDir(System.String,System.String,Microsoft.VisualBasic.FileIO.SearchOption)">
 <summary>
 Sucht nach allen Files mit gegebener FileMask in Root_DP 
 <br/>#Doc: Wenn kein File gefunden wird dann wird nothing Returned
 </summary>
 <param name="Root_DP_p">Example: C:\temp\Sub1\Sub2</param>
 <param name="FileMask_p">Example: Test*.csv</param>
 <param name="FileIO_SearchOption"></param>
 <remarks>New: 12.06.2012;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileFindAllFilesInSubDir(System.String,System.String,System.IO.SearchOption)">
 <summary>
 <br/>Sucht nach allen Files mit gegebener FileMask in Root_DP 
 <br/>#Doc: Wenn kein File gefunden wird dann wird nothing Returned
 </summary>
 <param name="Root_DP_p">Example: C:\temp\Sub1\Sub2</param>
 <param name="FileMask_p">Example: Test*.csv</param>
 <param name="FileIO_SearchOption"></param>
 <remarks>New: 12.06.2012;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileFindAllFilesInSubDir(System.String,System.String[],System.IO.SearchOption)">
 <summary>
 <br/>Searches for all files in Root_DP using the given FileMask search terms.
 <br/>#Doc: If no file is found, then nothing is returned.
 </summary>
 <param name="Root_DP">Example: C:\temp\Sub1\Sub2</param>
 <param name="FileMasks">Example: Dim FileMasks As String() = {"Test1*.csv"},{"Test1*.csv"}</param>
 <param name="FileIO_SearchOption"></param>
</member>
<member name="M:JF.Tools.JF_ToolsFile.FileFindInPath(System.String,System.String)">
 <summary>
 <br/>search for first found file in %path%
 </summary>
 <remarks>
 New: 2.1210;06.03.2015;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.File_DPN_GetNextNumIn_DP(System.String,System.String,System.String,System.String)">
 <summary>
 searches in toplevel Dir for all Files via "#Root_DP_p#\#File_N_p##FSearchMask_p#"
  and returns next FileName  
 </summary>
 <param name="Root_DP_p">start dir</param>
 <param name="File_N_p"></param>
 <param name="FSearchMask_p"></param>
 <param name="NumFormat">defines Num format via (FileMaxCound + 1).ToString(NumFormat)</param>
 <returns>next file name</returns>
 <remarks>
 <br/>New: 2.1210;11.12.2013;J.Fes
 <br/>
 <br/>File List 1: 
 <br/>  C:\temp\zzLog02.txt
 <br/>  C:\temp\zzLog03.txt
 <br/>Call File_DPN_GetNextNumIn_DP("C:\temp","zzLog","*.txt","00")
 <br/>  Returns: C:\temp\zzLog04.txt 
 <br/>
 <br/>File List 2: 
 <br/>  C:\temp\zzLog02.txt 
 <br/>  C:\temp\zzLog05.txt  
 <br/>Call File_DPN_GetNextNumIn_DP("C:\temp","zzLog","*.txt","00")
 <br/>  Returns: C:\temp\zzLog06.txt 
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.File_ReplaceRootWithAlternativePath_DPNE(System.String,System.String,System.String,System.Int32)">
 <summary>
 <br/>Replaces the RootPath with AlternativeRootPath and keeps the subfolder structure
 <br/>#Exa1:File_ReplaceRootWithAlternativePath_DPNE("C:\DIR1\","C:\DIR1\DIR2\TEST.txt","C:\DIR1_Archive\") -> "C:\DIR1_Archive\DIR2\TEST.txt"
 <br/>#Exa2:File_ReplaceRootWithAlternativePath_DPNE("C:\DIR1\","C:\DIR1\DIR2\DIR3\DIR4\TEST.txt","V:\AlternateDir\") -> "V:\AlternateDir\DIR2\DIR3\DIR4\TEST.txt"
 <br/>#Exa3:!!ACHTUNG:!! Root_DP_p muss in File_DPNE_p enthalten sein: File_ReplaceRootWithAlternativePath_DPNE("X:\DIR1\","C:\DIR1\DIR2\TEST.txt","V:\AlternateDir\") -> Nothing
 </summary>
 <param name="Root_DP_p">RootDP</param>
 <param name="File_DPNE_p">FileDPNE</param>
 <param name="AlternativeRootPath_DP_p">AlternativeRoot ReplaceValue</param>
</member>
<member name="T:JF.Tools.JF_ToolsFile.DateTimeFormat_enum">
 <summary>
 defines DateTime standard formats 
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.DateTimeFormat_enum.Format_YYMMDD">
 <summary>
  returns Exa: 160426
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.DateTimeFormat_enum.Format_YYMMDDH">
 <summary>
  returns Exa: 160426_09h
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.DateTimeFormat_enum.Format_YYMMDDHM">
 <summary>
  returns Exa: 160426_09h32m
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.DateTimeFormat_enum.Format_YYMMDDHMS">
 <summary>
  returns Exa: 160426_09h32ms47s
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.DateTimeFormat_enum.Format_YYYY_MM_DD_H_M_S">
 <summary>
  returns Exa: 2016-04-26_08h37m03s
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.DateTimeFormat_enum.Format_YYYY_MM_DD">
 <summary>
  returns Exa: 2016-04-26
 </summary>
 <remarks> 
 <br/>#New: 3.1458;19.03.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DateTimeForFileExtend(System.DateTime,JF.Tools.JF_ToolsFile.DateTimeFormat_enum)">
 <summary>
 Returns String for Date and Time to use for file managment
 </summary>
 <param name="DateTime_p"></param>
 <param name="DateTimeFormat_enum_p"></param>
 <remarks> 
 <br/>#LuP: 3.1234;26.04.2016;J.Fes; Format changed
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.IntMinMaxAutoFlip(System.Int32@,System.Int32@)">
 <summary>
 Flips Min Max Integer
 <para />#Doc: 1* if Int1_pr gth Int2_pr then IntX_pr values will be fliped and Function returns True
 <para />#Doc: 2* if not 1* then Function returns False
 </summary>
 <remarks> 
 <br/>#New: 3.2000;23.01.2025;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DateTimeMinMaxAutoFlip(System.DateTime@,System.DateTime@)">
 <summary>
 Flips Min Max DateTime 
 <para />#Doc: 1* if DateTimeMin_pr gth DateTimeMax_pr then Datetime values will be fliped and Function returns True
 <para />#Doc: 2* if not 1* then Function returns False
 </summary>
 <remarks> 
 <br/>#New: 3.2000;22.01.2025;J.Fes
 </remarks>
</member>
<member name="T:JF.Tools.JF_ToolsFile.CompCond_enum">
 <summary>
 Defines Compare Condition EQU NEQ LSS LEQ GTR GEQ UNK 
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.CompCond_enum.EQU">
 <summary>
 EQU - equal '='
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.CompCond_enum.NEQ">
 <summary>
 Not equal '&lt;>'
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.CompCond_enum.LSS">
 <summary>
  - less than '&lt;'
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.CompCond_enum.LEQ">
 <summary>
 - less than Or equal To '&lt;='
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.CompCond_enum.GTR">
 <summary>
 - greater than '>'
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.CompCond_enum.GEQ">
 <summary>
 - greater than Or equal To '>='
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.CompCond_enum.UNK">
 <summary>
 Check is unknown not know not Done
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DateTimeCompact(System.DateTime,JF.Tools.JF_ToolsFile.DateTimeFormat_enum)">
 <summary>
 Returns compat Date time Stamps without '.' as sperator 
 Use this function for add it to file extenstions.
 </summary>
 <br/>#LUp: 3.1601;20.12.2021;A.Stein
</member>
<member name="F:JF.Tools.JF_ToolsFile.DateTimeFormat2_enum.DDMMYY">
 <summary>
 <br/>#Exa: 02.05.16
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.DateTimeFormat2_enum.DDMMYYH">
 <summary>
 <br/>#Exa: 02.05.16 22
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.DateTimeFormat2_enum.DDMMYYHM">
 <summary>
 <br/>#Exa: 02.05.16 22:37
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.DateTimeFormat2_enum.DDMMYYHMS">
 <summary>
 <br/>#Exa: 02.05.16 22:37:26
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsFile.DateTimeFormat2_enum.DDMMYYHMSMS">
 <summary>
 <br/>#Exa: 02.05.16 22:37:26.075
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DateTimeFormat(System.Nullable{System.DateTime},JF.Tools.JF_ToolsFile.DateTimeFormat2_enum,System.Boolean)">
 <summary>
  variante with  DateTime_p As DateTime?
 </summary>
 <remarks> 
 <br/>#New: 3.1491;06.02.2020;J.Fes
 <br/>#LUp: 3.1601;13.12.2021;J.Fes 
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DateTimeFormat(System.DateTime,JF.Tools.JF_ToolsFile.DateTimeFormat2_enum,System.Boolean)">
 <summary>
 Returns Date time Stamps with '.' as sperator 
 </summary>
 <param name="YearFullLength_p">Defines Year length 2 or 4 #New: 3.1486;27.10.2018;J.Fes</param>
 <remarks>
 <br/>#New: 2.1213;31.05.2015;J.Fes
 <br/>#LUp: 3.1234;02.05.2016;J.Fes
 <br/>#LUp: 3.1486;27.10.2018;J.Fes
 <br/>#LUp: 3.1700;05.12.2022;J.Fes add DateTime_p.Year.ToString("0000") covers 27.04.0009 00:00:00 - 27.04.09 00:00
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_D(System.String)">
 <summary>
 <br/>Parst only drive C:.. or UNC \\NameComputer\FgPath
 </summary>
 <param name="Path_p"></param>
 <remarks> 
 <br/>#LUp: 3.2000;24.04.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_P(System.String)">
 <summary>
 Parst only Path
 </summary>
 <remarks> 
 <br/>#LUp: 3.1234;22.04.2016;J.Fes
 <br/>#LUp: 3.2000;24.04.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_E(System.String)">
 <summary>
 <br/>Parst only file extension
 <br/>#Exa: '4711.prt' -> returns '.prt'
 </summary>
 <remarks> 
 <br/>#LUp: 3.2000;24.04.2024;J.Fes
 <br/>#LUp: 3.2000;04.03.2026;J.Fes add description #Exa: '4711.prt' -> returns '.prt'
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_N(System.String)">
 <summary>
 Parst only file name
 </summary>
 <remarks> 
 <br/>#LUp: 3.2000;24.04.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_DP(System.String)">
 <summary>
 <br/>Parst Drive + Path 
 </summary>
 <remarks> 
 <br/>#LUp: 3.2000;24.04.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_DPMinus1(System.String,System.Boolean)">
 <summary>
 returns Path_p -1 Path 
 <br/>#Exa: ParsePath_DPMinus1("C:\Dir1\Dir2\Dir3") -> C:\Dir1\Dir2
 </summary>
 <param name="Path_p"></param>
 <remarks> 
 <br/>#LUp: 3.1487;13.11.2018;J.Fes add IsPath
 <br/>#LUp: 3.2000;24.04.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_NE(System.String)">
 <summary>
 <br/>parses Name and extension form Path_p
 </summary>
 <remarks> 
 <br/>#LUp: 3.2000;24.04.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_DPN(System.String)">
 <summary>
 <br/>parses path file name + form Path_p
 </summary>
 <remarks> 
 <br/>#LUp: 3.2000;24.04.2024;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_PTopReplace(System.String,System.String)">
 <summary>
 <br/>Extracts the directory name of the last (top) directory from path_p
 <br/>#Example1:["C:\DIR1\DIR2\TEST.TXT","#Ex1" -> "C:\DIR1\#Ex1\TEST.TXT"]
 <br/>#Example2:["C:\DIR1\DIR2\","#Ex2"         -> "C:\DIR1\#Ex2"]
 <br/>#Example3:["C:\DIR1\DIR2.Test\","#Ex3"    -> "C:\DIR1\#Ex3"]
 <br/>#Example4:["C:\DIR1\DIR2","#Ex4"          -> "C:\DIR1\#Ex4"]
 </summary>
 <param name="path_p"></param>
 <remarks>New: 2.1061;21.06.2012;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_GetAbsoluteFullPath(System.String,System.Boolean)">
 <summary>
 Returns Absolute Path for path_p. If EnvironValuesDoInterprete_p is used the also %environvariables% are interpreted. 
 <br/>#Doc: #Please enshure that path_p has correct syntax and not containing invalid charaters
 <br/>#Doc: Uses IO.Path.GetFullPath and JF.Tools.StringEnvironValuesGet(path_p)
 <br/>#Exa1: Dim Tmp2_DP = ParsePath_GetFull("%TEMP%\..\Tmp2", True) '-> C:\Users\jopp\AppData\Local\Tmp2
 <br/>#Exa2: Dim Tmp2_DP = ParsePath_GetFull("%TEMP%\..\Tmp2", False) '-> V:\JF-ProgLib\ProgEntw\JFProgLibV3\10-src\JFTools.Test\bin\Debug\Tmp2
 <br/>#Exa3: Dim Tmp2_DPNE = ParsePath_GetFull("%TEMP%\..\Tmp2\DataFile.xml", True) '-> C:\Users\jopp\AppData\Local\Tmp2\DataFile.xml
 <br/>#Exa3: Dim Tmp2_DPNE = ParsePath_GetFull("%TEMP%\..\Tmp2\DataFile.xml", False) '-> V:\JF-ProgLib\ProgEntw\JFProgLibV3\10-src\JFTools.Test\bin\Debug\Tmp2\DataFile.xml
 </summary>
 <remarks> 
 <br/>#New: 3.1800;06.07.2023;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.Parse_N_StrRemoveFromEnd(System.String,System.String)">
 <summary>
 Function to remove defined Chars or a string from another string (NON Case sensitiv)
 <br/>#Exa:1 Parse_N_StrRemoveFromEnd("Test_123.txt","_123") -> Test.txt
 <br/>#Exa:2 Parse_N_StrRemoveFromEnd("Test_abc.txt","_ABC") -> Test.txt 
 </summary>
 <remarks> 
 <br/>#New: 3.1450;30.01.2018;A.Stein
 <br/>#LUp: 3.1453;11.02.2018;J.Fes renamed from RemoveCharsFromFilename to Parse_N_StrRemoveFromEnd 
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_PTopNE(System.String)">
 <summary>
 Parst aus path_p den Verzeichnissnamen des letzen (top) verzeichnisses + NE
  #Example1:[Path_PTop("C:\DIR1\DIR2\TEST.TXT") -> "DIR2\TEST.TXT"]
 </summary>
 <param name="path_p"></param>
 <remarks>New: 2.1103;16.08.2012;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_PTop(System.String)">
 <summary>
 Parst aus path_p den Verzeichnissnamen des letzen (top) verzeichnisses
  #Example1:[Path_PTop("C:\DIR1\DIR2\TEST.TXT") -> "DIR2"]
  #Example2:[Path_PTop("C:\DIR1\DIR2\")         -> "DIR2"]
  #Example3:[Path_PTop("C:\DIR1\DIR2")          -> "DIR1" !!! ACHTUNG !!!]
 </summary>
 <param name="path_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_PInsertTP(System.String,System.String)">
 <summary>
 add at end of path PartialPath ( in to path fügt einen Teilpath am ende des Pfades ein 
  <br/>#Exa1:ParsePath_InsertTP("C:\DIR1\DIR2\TEST.txt","Teilpath\Extend") -> "C:\DIR1\DIR2\Teilpath\Extend\TEST.txt"
  <br/>#Exa2:ParsePath_InsertTP("C:\DIR1\DIR2\", "Teilpath\Extend") -> "C:\DIR1\DIR2\Teilpath\Extend"
  <br/>#Exa3:!!ACHTUNG:!! in diesem Fall: ParsePath_InsertTP("C:\DIR1\DIR2","Teilpath\Extend") -> "C:\DIR1\Teilpath\Extend\DIR2"
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_NExtendAtEnd(System.String,System.String)">
 <summary>
 Erweitert den Dateinamen des Files um NameExtendAtEnd
  <br/>#Exa:[ParsePath_NExtendAtEnd("C:\temp\test.stp","_StepToNx") --> "C:\temp\test_StepToNx.stp"
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_E_Replace(System.String,System.String)">
 <summary>
 Erstzt die Extension des Files durch ExtensionNew
 <br/>#Exa: ParsePath_E_Replace("C:\temp\test.doc","pdf") --> "C:\temp\test.pdf"
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_NExtendAtEnd_E_Replace(System.String,System.String,System.String)">
 <summary>
 Extens file_n and replaces file_e 
 <br/>#Exa: ParsePath_NExtendAtEnd_E_Replace("C:\temp\test.stp","_StepToNx",".log") --> "C:\temp\test_StepToNx.log"
 </summary>
 <remarks> 
 <br/>#New: 3.1453;11.02.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.ParsePath_NExtendWithDateAndTime(System.String,System.DateTime,JF.Tools.JF_ToolsFile.DateTimeFormat_enum)">
 <summary>
 Ergänzt einen Dateinamen um ein Datum "C:\temp\TEST.txt" --> "C:\temp\TEST_2008-12-08_21-35-48.txt"
 </summary>
</member>
<member name="T:JF.Tools.JF_ToolsFile.csv_cls">
 <summary>
 csv Basis Class 
 </summary>
</member>
<member name="T:JF.Tools.JF_ToolsFile.csv_cls.csvLine_cls">
 <summary>
 Repräsentiert eine csv line
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.csv_cls.csvLine_cls.#ctor(System.Char)">
 <summary>
 New with alternativ csvSeperator
 </summary>
 <param name="csvSeperator_p"></param>    
 <remarks> 
 <br/>#New: 3.1284;02.01.2017;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.csv_cls.AddNewLine(System.String,System.Char,System.String[])">
 <summary>
 function to parse a cswv line and add it to the current csv object
 </summary>
 <remarks> 
 <br/>#LUp: 3.1427;28.08.2017;S.Gueth: using .Net tools to parse a csv line
 </remarks>
</member>
<member name="T:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls">
 <summary>
 JF TextFile processing Classe
 <br/> #Doc: can be used to read, modify and write text files.
 </summary>
 <remarks> 
 <br/>#LUp: 3.2000;12.01.2026;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.FileRead_processed">
 <summary>
 wird verwendet um festzustellen ob die Daten neu gelesen wurden
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.StringTemp">
 <summary>
 dieser StringTemp kann für Programierung verwendet werden.
  #Doc: es werden keine internen verarbeitungen inherhalb diese Classe bez. dieser StringTemp Propery durchgeführt
 </summary>
 <remarks>New: 2.1059;20.06.2012;J.Fes</remarks>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.FileDef">
 <summary>
 definiert das File_Obj dieser Classe
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.ListOfString_LinesWithOutEmpty_TextLines">
 <summary>
 Variant:1.1 All text line without empty Textlines as 'List(Of String)'
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.ListOfString_LinesWithOutEmpty_TextString">
 <summary>
 Variant:1.2 All text line without empty Textlines as 'String' 
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.ListOfString_LinesWithOutEmptyOrCommentOut_TextLines(System.String)">
 <summary>
 Variant:2.1 retuns text lines as 'List(Of String)' -//- #Doc: List Build is otimiced and usaly only 1time done
  <br/> - not empty 
  <br/> - not Commented Out Default=";"
 </summary>
 <remarks> 
 <br/>#LUp: 3.1601;23.05.2022;J.Fes add CommentOutChar_p
 <br/>#LUp: 3.1800;09.06.2023;J.Fes change from CommentOutChar_p As Char to: NotStartWith_p as String
 <br/>#LUp: 3.1800;09.08.2023;A.Stein removed TextLine_c.Trim and added in if condition TextLine_c.TrimStart.StartsWith(NotStartWith_p)
 </remarks>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.ListOfString_LinesWithOutEmptyOrCommentOut_TextString(System.Char)">
 <summary>
 Variant:2.2 retuns text lines as 'String'
  <br/> - not empty 
  <br/> - not Commented Out Default=";"
 </summary>
 <remarks> 
 <br/>#LUp: 3.1601;23.05.2022;J.Fes add CommentOutChar_p
 </remarks>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.ListOfString_LinesWithOutEmptyOrCommentOutWithOutExtendetCommentOutText_TextLines(System.Char)">
 <summary>
 Variant:3.1 retuns text lines as 'List(Of String)'
  <br/> - cuts textlines to start of "CommentOutChar_p"  #Exa: '45678 ;Info Details'  -> '45678'
  <br/> - Tabs are removed by ' '
  <br/> - Trims blanks at start and aend of text line
 </summary>
 <remarks> 
 <br/>#LUp: 3.1601;23.05.2022;J.Fes add CommentOutChar_p
 <br/>#LUp: 3.1601;12.06.2022;J.Fes (1*)
 </remarks>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.ListOfString_LinesWithOutEmptyOrCommentOutWithOutExtendetCommentOutText_TextString(System.Char)">
 <summary>
 Variant:3.1 retuns text lines as 'String'
  <br/> - cuts textlines to start of "CommentOutChar_p"  #Exa: '45678 ;Info Details'  -> '45678'
  <br/> - Tabs are removed by ' '
  <br/> - Trims blanks at start and aend of text line
 </summary>
 <remarks> 
 <br/>#LUp: 3.1601;23.05.2022;J.Fes add CommentOutChar_p
 </remarks>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.ListOfString">
 <summary>
 Contains File Text as as List(of String)
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.FileStream">
 <summary>
 gets or sets the file stream of the current file
 </summary>
 <remarks> 
 <br/>#New: 3.1427;28.08.2017;S.Gueth
 </remarks>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.ListOfString_TextString">
 <summary>
 Returns Me.ListOfString as a single string 
 -//- #Doc: all lines are sperated by vbCrLf
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.ListOfString_AddString(System.String)">
 <summary>
 Add a new TextLine to the TextList 
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.ListOfString_AddRange(System.Collections.Generic.List{System.String})">
 <summary>
 Add a Range of List(Of String)
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.nLines">
 <summary>
 Gibt die Anzahl der eingelesenen Textzeilen zurück 
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.Result">
 <summary>
 gibt Result der Aktionen von JF_FileProcessing_cls zurück
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.FileReadAllText(System.Collections.Generic.List{System.String})">
 <summary>
 liest den Text aus Datei .FileDef.File_DPNE aus
 Encoding ist: System.Text.Encoding.GetEncoding(1252) 
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.FileReadAllText(System.Text.Encoding,System.Collections.Generic.List{System.String})">
 <summary>
 liest den Inhalt der Datei, das Encoding Format kann mit angegeben werden
 FileAccess.Read
 </summary>
 <param name="Encoding_p">Encoding System.Text.Encoding.GetEncoding(1252)</param>
 <remarks>
 <br/>#New: 3.1602;01.09.2022;A.Stein
 <br/>#LUp: 3.1602;07.09.2022;J.Fes add ResultMsgAdd for OK and for ex
 <br/>#LUp: 3.2000;16.04.2025;J.Fes add Optional IgnoreList_p
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.FileWriteAllText(System.Boolean)">
 <summary>
 writes all '#Me.ListOfString#' into Me.FileDef.File_DPNE with System.Text.Encoding.GetEncoding(1252)
 </summary>
 <param name="AppendFile">true:"appends lines in Files" false:"overwrites file"</param>
</member>
<member name="M:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.FileWriteAllText(System.String,System.Boolean)">
 <summary>
 writes all Me.ListOfString into File_DPNE with System.Text.Encoding.GetEncoding(1252)
 </summary>
 <param name="File_DPNE">Name of File</param>
 <param name="AppendFile">true:"appends lines in Files" false:"overwrites file"</param>
</member>
<member name="M:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.FileWriteAllText(System.String,System.Collections.Generic.List{System.String},System.Text.Encoding,System.Boolean)">
 <summary>
 writes Data into textfile
 </summary>
 <param name="StringList_p">Data to write to files</param>
 <param name="File_DPNE_p">Name of File</param>
 <param name="Encoding_p">defines EncodingSystem.Text.Encoding.GetEncoding(1252)</param>
 <remarks>Info: Encoding System.Text.Encoding.GetEncoding(1252)
 Info: Codepage 1252 ist Westeuropäisch (Windows) Standard.  
 Info: Codepage 1252 ist ein weiter entwickeltes iso-8859-1 und entspricht weitest gehend iso-8859-1 
 new 27.1.2011 / J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_ToolsFile.JF_FileProcessing_cls.csv_Obj">
 <summary>
 stellt die Text Daten im csv Format bereit
 </summary>
 <remarks>New: 2.1057;15.06.2012;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DirDelete(System.String,Microsoft.VisualBasic.FileIO.RecycleOption)">
 <summary>
 löscht ein Verzeichniss alle Unterverzeichnissen und alle Files in den Unterverzeichnisen
  #New:24.03.2014/J.Fes loescht auch alle Files die ein readOnly Attribut haben. 
 </summary>
 <remarks>
 2.1210;24.03.2014;J.Fes;last.change: auch schreibgeschütze Files werden gelöscht
 30.01.2024;A.Becker;While refactoring code for NetStandard, found out that the RecycleOption argument is not used at all. Kept this overload for compatibility reasons.
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DirDelete(System.String)">
 <summary>
 löscht ein Verzeichniss alle Unterverzeichnissen und alle Files in den Unterverzeichnisen
  #New:24.03.2014/J.Fes loescht auch alle Files die ein readOnly Attribut haben. 
 </summary>
 <remarks>2.1210;24.03.2014;J.Fes;last.change: auch schreibgeschütze Files werden gelöscht</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DirCreate(System.String)">
 <summary>
 erzeugt ein verzeichniss wenn es nicht vorhanden ist 
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DirCheckCreate_DP(System.String,System.String@)">
 <summary>
 Checks if Path 'DirToCreate_p' is created 
 <br/> #Doc: if DirToCreate_p is created or exists then DirStaticVar_p = DirToCreate_p
 </summary>
 <remarks> 
 <br/>#New: 3.1431;04.10.2017;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DirCheckExist_DP(System.String,System.String@,System.Boolean@,System.Boolean)">
 <summary>
 Check if Path 'DirToCheck_p' exist's 
 <br/> #Doc: performance methode bacause check if dir exists is done only 1 time. 
 <br/> #Doc: check will be redone if DirToCheck_p NEQ DirStaticVar_pr or RedoCheck_p is requested  
 </summary>
 <remarks> 
 <br/>#New: 3.1431;04.10.2017;J.Fes
 </remarks>
</member>
<member name="T:JF.Tools.JF_ToolsFile.DirectorieNode">
 <summary>
 Data Class for DirectoriesGetAllAccessibleIEnumerate
 </summary>
 <remarks> 
 <br/>#New: 3.1492;22.04.2020;A.Becker/J.Fes
 </remarks> 
</member>
<member name="M:JF.Tools.JF_ToolsFile.DirectoriesGetAllAccessibleIEnumerate(System.String,System.String)">
 <summary>
 gets via IEnumerable all directories
 </summary>
 <param name="Root_DP_p"></param>
 <param name="searchPattern"></param>
 <remarks> 
 <br/>#New: 3.1492;22.04.2020;A.Becker/J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DirectoriesGetAllAccessible(System.String,System.String)">
 <summary>
 Returns list of all Directories that are accessible starting from Root_DP_p 
 </summary>
 <remarks> 
 <br/>#New: 3.1492;18.04.2020;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsFile.DirFindFirstDirInSubDir(System.String,System.String,System.IO.SearchOption)">
 <summary>
 Returns first found Dir below Root_DP_p
 <br/>#Doc: If Dir found then value is not "" 
 <br/>#Doc: If Dir NOT found NOTHING will be returend
 </summary>
 <remarks> 
 <br/>#New: 3.1601;19.05.2022;J.Fes
 </remarks>
</member>
<member name="T:JF.Tools.JF_ToolsList">
 <summary>
 allgemeine Classe zur verarbeiten von .. List(of String)
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsList.ListOfStringAsString(System.Collections.Generic.List{System.String},System.String)">
 <summary>
 gibt eine String liste als ein String aus 
 Dim StringList As New List(Of String)
 StringList.Add("TEST1")
 StringList.Add("TEST2")
 Debug.Print(JF_ToolsList.ListOfStringAsString(StringList, ";"))
 </summary>
 <param name="StringList"></param>
 <param name="SepString"></param>
</member>
<member name="M:JF.Tools.JF_ToolsList.SplitListIntoMultipleLists``1(System.Collections.Generic.List{``0},System.Int32)">
 <summary>
 splits a list into multiple parts with the defined size
 </summary>
 <remarks> 
 <br/>New: 3.1502;11.08.2020;S.Gueth
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.SplitDictIntoMultipleDictionaries``2(System.Collections.Generic.Dictionary{``0,``1},System.Int32)">
 <summary>
 splits a list into multiple parts with the defined size
 </summary>
 <remarks> 
 <br/>New: 3.1502;11.08.2020;S.Gueth
 </remarks>
</member>
<member name="T:JF.Tools.JF_ToolsList.INC_cls">
 <summary>
 Class for counting in for XX methodes or handel process steps
 </summary>
 <remarks> 
 <br/>New: 3.1486;03.11.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.SetValues(System.Int32,System.Int32)">
 <summary>
 Sets Values new I/N
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.SetValues(System.String,System.Int32,System.Int32)">
 <summary>
 Sets Values new StepSubTitel/I/N
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.SetValues(System.String,System.String,System.Int32,System.Int32)">
 <summary>
 Sets Values new StepSubTitel/StepMainTitel/I/N
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsList.INC_cls.StepMainTitel">
 <summary>
 Step Main Titel can be used to handel the information about the process
 </summary>
 <remarks> 
 <br/>New: 3.1492;06.05.2020;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_ToolsList.INC_cls.StepSubTitel">
 <summary>
 Step Sub Titel can be used to handel the information about the current step in the process
 </summary>
 <remarks> 
 <br/>New: 3.1492;06.05.2020;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_ToolsList.INC_cls.StepMsgKeyName">
 <summary>
 Defines the Step Message Key Name. 
 <br/>#Doc: Default = '#Step" 
 <br/>#Exa1: ' // Done'
 <br/>#Exa2: ' // Processed'
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsList.INC_cls.I">
 <summary>
 I = I current counter to use for counting
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsList.INC_cls.N">
 <summary>
 Number of N Objects 
 <br/>#Exa: ListCounter.N=MyList.count 
 </summary>
</member>
<member name="F:JF.Tools.JF_ToolsList.INC_cls.NStrLength_lp">
 <summary>
 Returns length of N Example N = 123 NStrLength_lp = 3
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.Iincr(System.Int32)">
 <summary>
 increases Me.I
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StepSubTitelAndIincr(System.String,System.Int32)">
 <summary>
 Sets Steps StepSubTite and increases Me.I <see cref="M:JF.Tools.JF_ToolsList.INC_cls.Iincr(System.Int32)"/>
 </summary>
 <remarks> 
 <br/>New: 3.1601;06.03.2022;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_ToolsList.INC_cls.N_Ok">
 <summary>
 use for how many (N) are OK
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsList.INC_cls.N_WRN">
 <summary>
 use for how many (N) has warnings 
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsList.INC_cls.N_ERR">
 <summary>
 use for how many (N) has errors 
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StatMsg(System.Char)">
 <summary>
 Returns status as message with '(' -or- '['  PercentagesInfo_p=false 
 </summary>
 <param name="Brakets_L_p">supports Brakets "(" "{" "[" "'" '"'</param>
 <remarks> 
 <br/>New: 3.1488;09.12.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StatMsg(System.Boolean)">
 <summary>
 Returns status as message with default Brakets_L='(' // PercentagesInfo_p=true/false
 <br/>#Exa: if PercentagesInfo_p = false Returns ( 1/11) .. ( 9/11) .. (11/11)
 <br/>#Exa: if PercentagesInfo_p = true Returns  ( 1/11/ 9,09%) .. ( 9/11/ 81,8%) .. (11/11/100,0%)
 </summary>
 <remarks> 
 <br/>New: 3.1488;09.12.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StatMsg">
 <summary>
 Returns status as message with default Brakets_L='(' // PercentagesInfo_p=false 
 <br/>#Exa: ( 1/11) .. ( 9/11) .. (11/11)
 </summary>
 <remarks> 
 <br/>New: 3.1488;09.12.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StatMsg(System.Char,System.Boolean)">
 <summary>
 Returns status as message    
 <br/>#Exa: ( 1/11/ 9,09%) .. ( 9/11/ 81,8%) .. (11/11/100,0%)
 </summary>
 <param name="Brakets_L_p">supports Brakets "(" "{" "[" "'" '"'</param>
 <param name="PercentagesInfo_p">switch PercentagesInfo ON/OFF</param>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StepMsg(System.Boolean,System.Boolean)">
 <summary>
 returns Step Msg like '1/2', 1/2/100,0%
 <br/>#Exa1: Counter_Obj.StepMsg(False, False)='1/2'
 <br/>#Exa2: Counter_Obj.StepMsg(False, False)='1/2/100,0%'
 <br/>#Exa3: Counter_Obj.StepMsg(False, False)='#Step:1/2/ 50,0%'
 </summary>
 <param name="addPercentagesInfo_p"></param>
 <remarks> 
 <br/>LUp: 3.1601;10.12.2021;J.Fes add Option addNames 
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StepMsg(System.Char,System.Boolean)">
 <summary>
 Returns I/N 
 <br/>#Exa: Call Counter_Obj.StepMsg() ='(2/2)'
 <br/>#Exa: Call Counter_Obj.StepMsg('['c)='[2/2]' 
 <br/>#Exa: Call Counter_Obj.StepMsg('['c,true)='[2/2/100,0%]'
 </summary>
 <remarks> 
 <br/>New: 3.1601;10.12.2021;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StepMsg1(System.Char,System.Boolean)">
 <summary>
 Returns $"StepMainTitel.StepSubTitel} (1/2)}"
 </summary>
 <remarks> 
 <br/>New: 3.1601;10.12.2021;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StepMainTitleStepInfo(System.Boolean)">
 <summary>
 Returns StepMainTitel + StepMsg
 <br/>#Exa: Process IR: #Step:2/5
 </summary>
 <remarks> 
 <br/>New: 3.1503;16.03.2021;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StepSubTitleStepInfo(System.Boolean)">
 <summary>
 <br/>Returns StepSubTitel + StepMsg
 <br/>#Exa: Update Documents #Step:2/5
 </summary>
 <remarks> 
 <br/>New: 3.1503;16.03.2021;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StepMsgStepSubTitle(System.Boolean)">
 <summary>
 <br/>Returns StepMsg StepSubTitel 
 <br/>#Exa: #Step:2/5 Update Documents 
 </summary>
 <remarks> 
 <br/>#New: 3.2000;04.03.2026;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StepMsgStepTitle(System.Boolean)">
 <summary>
 <br/>Returns StepMsg StepSubTitel 
 <br/>#Exa: #Step:2/5 Update Documents 
 </summary>
 <remarks> 
 <br/>#New: 3.2000;04.03.2026;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StepMainTitleSubTitelStepInfo(System.Boolean)">
 <summary>
 Returns StepMainTitel + Me.StepSubTitel + StepMsg
 <br/>#Exa: Process IR: 'Update Documents' #Step:2/5
 </summary>
 <remarks> 
 <br/>New: 3.1503;16.03.2021;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsList.INC_cls.StepMainTitleStepInfoSubTitel(System.Boolean)">
 <summary>
 Returns StepMainTitel + Me.StepSubTitel + StepInfio
 <br/>#Exa: Process IR: #Step:2/5 'Update Documents' 
 </summary>
 <remarks> 
 <br/>New: 3.1503;16.03.2021;J.Fes
 </remarks>
</member>
<member name="T:JF.Tools.JF_Ora.TnsItem_cls">
 <summary>
 definiert ein TNS Object
 </summary>
</member>
<member name="P:JF.Tools.JF_Ora.TnsItem_cls.TnsName">
 <summary>
 der TNS Name 
 Example = tc83
 </summary>
 <value></value>
</member>
<member name="P:JF.Tools.JF_Ora.TnsItem_cls.TnsConnection">
 <summary>
 TNS Connection informationen 
 Example: (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=pdmdev01)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=tc83)))
 </summary>
 <value></value>
</member>
<member name="P:JF.Tools.JF_Ora.TnsItem_cls.TnsItemParseOK">
 <summary>
 true wenn alle informationen OK false wenn die daten nicht vollstaendig geparst werden konnte
 </summary>
 <value></value>
</member>
<member name="T:JF.Tools.JF_Ora.TnsNamesOra_cls">
 <summary>
 Class zum parsen der TnsNames.ora Files 
  Example: Dim TnsNamesOra_Obj As New JF_Ora.TnsNamesOra_cls("\\MyServer\Ugssahre\Tc83\TcTestSystem\tnsnames.ora")
 New: 2.878;25.10.2011;J.Fes
 </summary>
</member>
<member name="M:JF.Tools.JF_Ora.TnsNamesOra_cls.#ctor(System.String)">
 <summary>
 new mit angabe des TnsNames.ora Files 
 </summary>
 <param name="tnsNames_Ora_DPNE_p"></param>
</member>
<member name="P:JF.Tools.JF_Ora.TnsNamesOra_cls.TnsItems">
 <summary>
 liste der TnsItems die aus dem TnsNames.ora Files geparst werden konnten
 </summary>
 <value></value>
</member>
<member name="M:JF.Tools.JF_Ora.TnsNamesOra_cls.TnsItem(System.String)">
 <summary>
 Returned ein TnsItem Objekt
 </summary>
 <param name="TnsItem_NameSearchFor_p"></param>
</member>
<member name="M:JF.Tools.JF_Ora.TnsNamesOra_cls.TnsItemCopy(System.String,JF.Tools.JF_Ora.TnsItem_cls@)">
 <summary>
 sucht in tnsNames.ora nach TnsItem_N und kopiert das Ergebniss auf TnsItem_Obj_p
 Returned false wenn das Objet nicht gefunden werden konne oder nicht vollständig geparst werdn konnet
 ##New:[25.10.2011;J.Fes]
 </summary>
 <param name="TnsItem_Name_p"></param>
 <param name="TnsItem_Obj_p"></param>
</member>
<member name="P:JF.Tools.JF_Ora.TnsNamesOra_cls.tnsNames_Ora_DPNE">
 <summary>
 definiert den TnsNames.ora File
 </summary>
 <value></value>
</member>
<member name="M:JF.Tools.JF_Ora.TnsNamesOra_cls.TnsItemsParse">
 <summary>
 Parst aus tnsNames.Ora file alle TnsItems definitionen
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsSql.SqlServerDBConnectionStringGetFromTemplate(System.String,System.String,System.String,System.String,System.String,System.Boolean,System.Boolean)">
 <summary>
 returns mssql server connectionstring
 </summary>
 <param name="DataSource">DbServerName</param>
 <param name="InitialCatalog">Initial Catalog or DbInstanceName</param>
 <param name="UserId">SQL Server User</param>
 <param name="Password">SQL Server Users password as encripted or decripted password</param>
 <param name="ConnectionTimeout">value for connection timout</param>
 <param name="MultipleActiveResultSetsAdd">if true the MultipleActiveResultSetsAdd is add into the connection string</param>
 <remarks> 
 #LUp: 3.1317;10.04.2017;J.Fes add Methodes for windows login --> ;Integrated Security=SSPI
 #LUp: 3.1491;21.02.2020;S.Gueth added method to use encrypted sql connection (conniection will be established via ssl, server and client need a certificate for this)
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsSql.Sql_SelectValueFormat(System.String)">
 <summary>
 Formatiert select Value so das der SQL korreckt augeführt werden kann z.b. wird aus Value'xx = Value''xx
 </summary>
 <param name="SelectValue_p"></param>
 <remarks>new 13.06.2011/J.Fes 2.1125;19.09.2012;J.Fes;Last.Change: Add: If SelectValue_p = "''" Then .. </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsSql.Sql_WildcardConvert_fromWindowsToSql(System.String)">
 <summary>
 konvertiert den SQL von Windows nach T-SQL Syntax .Replace("?", "_") 
 </summary>
 <param name="SQL_p">The string to replace wildcards within</param>
 <remarks>
 ergänzt 3.1.2011 J.Fes
 2.1217;27.08.2015;A.Becker;new: added stringContainsWildcard parameter
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsSql.Sql_WildcardConvert_fromWindowsToSql_ext(System.String,System.Nullable{System.Char},System.Boolean)">
 <summary>
 konvertiert den SQL von Windows nach T-SQL Syntax .Replace("?", "_") 
 </summary>
 <param name="SQL_p">The string to replace wildcards within</param>
 <param name="escapeCharacter_p">The character which should be used for escaping special characters. Defaults to Backslash [\].</param>
 <param name="escapeSingleQuotes_p">when true, single quotes (') will be escaped by doubling them ('')</param>
 <remarks>
 ergänzt 3.1.2011 J.Fes
 2.1217;27.08.2015;A.Becker;new: added stringContainsWildcard parameter
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsSql.Sql_WildcardConvert_fromWindowsToSql_sb(System.Text.StringBuilder@)">
 <summary>
 konvertiert den SQL von Windows nach T-SQL Syntax .Replace("?", "_") 
 </summary>
 <param name="SQL_p">The string to replace wildcards within as StringBuilder</param>
 <remarks>
 New: 2.1210;10.09.2014;J.Fes
 2.1217;27.08.2015;A.Becker;new: added stringContainsWildcard parameter
 2.1217;28.08.2015;A.Becker;last.change: the source StringBuilder instance is not modified any more. Use the result object instead.
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsSql.Sql_WildcardConvert_fromWindowsToSql_sb_ext(System.Text.StringBuilder,System.Nullable{System.Char},System.Boolean)">
 <summary>
 konvertiert den SQL von Windows nach T-SQL Syntax .Replace("?", "_") 
 </summary>
 <param name="SQL_p">The string to replace wildcards within as StringBuilder</param>
 <param name="escapeCharacter_p">The character which should be used for escaping special characters. Defaults to Backslash [\]. Escaping is disabled when parameter is NULL.</param>
 <param name="escapeSingleQuotes_p">when true, single quotes (') will be escaped by doubling them ('')</param>
 <remarks>
 New: 2.1210;10.09.2014;J.Fes
 2.1217;27.08.2015;A.Becker;new: added stringContainsWildcard parameter
 2.1217;28.08.2015;A.Becker;last.change: the source StringBuilder instance is not modified any more. Use the result object instead.
 </remarks>
</member>
<member name="T:JF.Tools.JF_ToolsSql.Sql_WildcardConvert_Results">
 <summary>
 Contains results of a Sql_WildcardConvert operation
 </summary>
 <remarks>New: 2.1217;28.08.2015;A.Becker</remarks>
</member>
<member name="P:JF.Tools.JF_ToolsSql.Sql_WildcardConvert_Results.AsStringBuilder">
 <summary>
 The result as a StringBuilder instance
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsSql.Sql_WildcardConvert_Results.AsString">
 <summary>
 The result as a simple string
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsSql.Sql_WildcardConvert_Results.FormatSqlComparison(System.String,System.Boolean)">
 <summary>
 Returns FieldName='result' for non-wildcard results and<br />
         FieldName LIKE 'result%' for results containing wildcards.
         For wildcards ESCAPE '\' is appended when escape characters are contained within the result.
 </summary>
 <param name="fieldName">The field name used for the comparison.</param>
 <param name="useEquals">When true, equal/like comparison is used. When false not-equal/not like comparison is used.</param>
</member>
<member name="P:JF.Tools.JF_ToolsSql.Sql_WildcardConvert_Results.ContainsWildcards">
 <summary>
 True if there are any wildcards contained within the result
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsSql.Sql_WildcardConvert_Results.ContainsEscapedCharacters">
 <summary>
 True if there are any escaped characters within the result
 </summary>
</member>
<member name="P:JF.Tools.JF_ToolsSql.Sql_WildcardConvert_Results.EscapeCharacter">
 <summary>
 The escape character used.
 </summary>
 <value></value>
</member>
<member name="M:JF.Tools.JF_ToolsSql.Sql_WildcardConvert_fromWindowsToSql_implementation(System.Text.StringBuilder,System.String,System.Nullable{System.Char},System.Boolean)">
 <summary>
 konvertiert den SQL von Windows nach T-SQL Syntax .Replace("?", "_") 
 </summary>
 <param name="SQL_sb">The string to replace wildcards within as StringBuilder</param>
 <param name="SQL_String">The string to replace wildcards within as String</param>
 <param name="escapeCharacter_p">The character which should be used for escaping special characters. Escaping is disabled when NULL</param>
 <param name="escapeSingleQuotes_p">when true, single quotes (') will be escaped by doubling them ('')</param>
 <remarks>
 New: 2.1210;10.09.2014;J.Fes
 2.1217;27.08.2015;A.Becker;new: added stringContainsWildcard parameter
 2.1217;27.08.2015;A.Becker;last.change: improved wildcard substitution including escaping
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsSql.DateTimeForSqlServer(System.Nullable{System.DateTime})">
 <summary>
 like DateTimeForSqlServer with DateTime_p As DateTime?
 </summary>
 <remarks> 
 #New: 3.1491;05.02.2020;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsSql.DateTimeForSqlServer(System.DateTime)">
 <summary>
 Formatiert DateTime_p für MSSQL   
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsSql.StringContainsWildcard(System.String)">
 <summary>
 simpel checks if a string contains wildcard data '*' '%' '?'
 </summary>
 <remarks>
 last change 3.1.2011/J.Fes
 2.1217;27.08.2015;A.Becker;last.change: added underscore (_) as wildcard for single chars in MSSQL
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsSql.Filter_AddFilter_GenericSqlGen(System.String,System.String,System.String)">
 <summary>
 Erzeugt ein SQL Segment 
 </summary>
 <param name="ColumeName_p"></param>
 <param name="SQLOperator_p">Keys: 'IN-LIST-EX';',';';'</param>
 <param name="WhereSelect_Values_p"></param>
 <remarks>
 last.change: 2.1210;08.09.2014;J.Fes Update to System.Text.StringBuilder
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsSql.Filter_AddFilter_GenericSql_remove(System.Text.StringBuilder,System.String,System.String)">
 <summary>
 add's to SQL 
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsSql.Filter_AddFilter_GenericSql(System.Text.StringBuilder@,System.String,System.String)">
 <summary>
 adds to SQL_p 
 </summary>
 <remarks>
 2.1210;10.09.2014;J.Fes;last.change:Replace by SUB
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsSql.StringSplitAtNotSeparator(System.String)">
 <summary>
 Splits a string into an array with one or two elements.<br />
 Valid splitters are: !NOT! or !NO!, case insensitive.<br />
 If the source string contains one of the !Not! markers:<br />
   - the part beofore the first splitter will be in item #0<br />
   - the part after the first splitter will be in item #1<br />
 If no !Not! marker is contained:<br />
   - the complete source string will be in the single item #0
 </summary>
 <param name="stringToSplit">Source string to split.</param>
 <returns>Returns an array with one or two elements.</returns>
 <remarks>New: 2.1221;25.11.2015;A.Becker</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsSql.Filter_AddFilter_GenericSql(System.Text.StringBuilder,System.String,System.String,System.String,System.Boolean)">
 <summary>
 adds to SQL_pr where condition with ColumeName_p and WhereSelect_Values_p
 </summary>
 <param name="SQL_pr">Current SQL input and remind also new SQL</param>
 <param name="ColumeName_p"></param>
 <param name="SQLcondition_p">"IN-LIST-EX" "IN" "LIKE" "OR"</param>
 <param name="WhereSelect_Values_p">Select Value List #Example: Value1;Value2;ValueXY*;!NOT!Value3;ValueExlude*</param>
 <remarks>
 2.894;11.11.2011;J.Fes;Last.Change:!NOT! wird unterstützt
 2.1210;10.09.2014;J.Fes;last.change:Performacne improved because using Text.StringBuilder 
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsSql.Filter_AddFilter_LikeSql(System.String,System.String,System.String,System.String)">
 <summary>
 Add SQL Filter bedingungen 
 </summary>
 <param name="SqlCur_p"></param>
 <param name="SQLOperator_p"></param>
 <param name="ColumeName_p"></param>
 <param name="WhereSelect_Values_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringEmpty(System.String,System.String)">
 <summary>
 Returs String via Rule:
 <br/>#Doc: Regel 1 return's str1_p wenn "str1_p not ''"
 <br/>#Doc: Regel 2 return's str2_If_str1_is_empty wenn "str1_p=''" ist
 </summary>
 <param name="str1_p"></param>
 <param name="str2_If_str1_is_empty_p"></param>
 <remarks>New:09.11.2011;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringIsNotEmptyAndisEqualTo(System.String,System.String)">
 <summary>
 returns true if a str1_p and str2_p is not empty and str1_p = str2_p
 -//- any other case = false
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringIsNotEmptyAndisNotEqualTo(System.String,System.String)">
 <summary>
 returns true if a str1_p and str2_p is not empty and str1_p NEQ str2_p
 -//- any other case = false
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringAddWithSepIfElementNotEmpty(System.String,System.String,System.String)">
 <summary>
 Setzt String nach folgenden Regeln zusammen:
 <br/>#Doc: #Regel-1: return's str1_p + sep_p + str2_p wenn str1_p und str1_p !! NICHT leer!! sind.
 <br/>#Doc: #Regel-3: return's str1_p bzw str2_p wenn diese NICHT leer ist
 <br/>#Doc: #Regel-2: return's str1_p wenn diese NICHT leer ist
 </summary>
 <param name="str1_p"></param>
 <param name="str2_p"></param>
 <param name="sep_p">ist per default ';'</param>
 <remarks>
 #Doc: Regel-3 hat Vorang vor Regel-1 und Regel-2 
 2.1200;06.09.2013;J.Fes;last.change: Optimiert
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringAddIfNotContained(System.String,System.String,System.String)">
 <summary>
 Setzt String nach folgenden Regeln zusammen:
 <br/>#Doc1: return's str1_p if str1_p.Contains(str2_p) = true.
 <br/>#Doc2: return's str1_p + sep_p + str2_p if str1_p.Contains(str2_p) = false
 <see cref="M:JF.Tools.JF_ToolsString.StringAddWithSepIfElementNotEmpty(System.String,System.String,System.String)">via StringAddWithSepIfElementNotEmpty(str1_p, str2_p, sep_p)</see>
 </summary>
 <remarks>New: 2.1200;06.09.2013;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringAddIfNotEmpty(System.String,System.String,System.String)">
 <summary>
 wenn StringCheckIfEmpty = "" ist wird "" Returnd
 wenn StringCheckIfEmpty NOT "" ist ->
 wird StringToAddBeginIfNotEmpty + StringCheckIfEmpty + StringToAddEndIfNotEmpty zurück gegeben
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringAddIfNotEmpty(System.String,System.String)">
 <summary>
 <br/>#Doc: Rules
 <br/>if StringCheckIfEmpty_p = '' Return ''
 <br/>if StringCheckIfEmpty_p NOT='' and StringToReturnAlternative_p = '' Return StringCheckIfEmpty_p
 <br/>if StringCheckIfEmpty_p NOT='' and StringToReturnAlternative_p NOT='' Return StringToReturnAlternative_p
 </summary>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringGetFirstNotEmpty(System.String[])">
 <summary>
 <br/>Returns first found value that is not String.IsNullOrWhiteSpace(Str1_p)
 <br/>Returns Str2_p if not String.IsNullOrWhiteSpace(Str2_p)
 <br/>#Exa: MyFirstFoundValue as string = StringGetFirstNotEmpty("","","Val3") 
 <br/>#Exa: MyFirstFoundValue = "Val3") 
 </summary>
 <remarks> 
 <br/>#New: 3.2000;11.03.2025;J.Fes
 </remarks>>
</member>
<member name="M:JF.Tools.JF_ToolsString.DoubleGetNachKommaStellen(System.Double)">
 <summary>
 <br/>determines the number of decimal places of a double number
 <br/>30.01.2024/A.Becker FIX: Former implementation returned the length including the decimal point. The new implementation only counts the digits.
 </summary>
 <param name="doub_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringEnvironValuesGet(System.String)">
 <summary>
 Replace the environment variable contained in a string with the value of the environment variable
 <br/>#Exa: StringEnvironValuesGet("Arbeiten an: [\\%ComputerName%] unter: [%UserName%] %diese_UmgebVar_ist_nichtvorhanden%")
 Ergebniss:["Arbeiten an: [\\DieserRechner] unter: [MeinUser] %diese_UmgebVar_ist_nichtvorhanden%"]
 </summary>
 <remarks> 
 #LUp :2.0784;26.06.2011;J.Fes;"Change:[own function replaced by Environment.ExpandEnvironmentVariables(String_p)]
 #LUp: 3.1487;29.11.2018;J.Fes;Change:If String_p Is Nothing Then 
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringFindNextWordBetweenCharLR(System.String,System.String,System.String)">
 <summary>
 ?StringFindNextWordBetweenCharLR("C1:=(12)34.01 C2:=3(45)6.02","(",")") --> "12)34.01 C2:=3(45"
 </summary>
 <param name="str_p"></param>
 <param name="strCharBetweenL_p"></param>
 <param name="strCharBetweenR_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringFindNextWordBetweenChar(System.String,System.String,System.String,System.Int32,System.Int32)">
 <summary>
 Sucht das erste vorkommende Word zwischen 2 Chars
 <br/>#Exa: StringFindNextWordBetweenChar("12345", "1", "5") 234
 </summary>
 <param name="str_p"></param>
 <param name="strCharBetweenL_p"></param>
 <param name="strCharBetweenR_p"></param>
 <param name="Start_p"></param>
 <param name="NMax_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringTrimOnWordL(System.String,System.String,System.String)">
 <summary>
 schneidet ein String an der 1 gefunden Pos von str_p ab
 <br/>#Exa: StringTrimOnWordL("12:3456","12:") -> "3456"
 <br/>#Exa: StringTrimOnWordL("12:3456","13:") -> ""
 <br/>#Exa: StringTrimOnWordL("12:3456","13:","TEST") -> "TEST" da "13:" nicht gefunden
 </summary>
 <param name="str_p"></param>
 <param name="TrimLOnWord_p"></param>
 <param name="strDefaultIfResultIsEmpty_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringParse_StrPart(System.String,JF.Tools.JF_ToolsString.StringParse_enum,System.String,System.String[])">
 <summary>
 Parst aus einem String das Links oder Rechts nach dem gesuchten String Elementen 'SplitStr_args' kommt.
  #Doc: [SplitStr_args !! ist erforderlich]
  <br/>#Exa: StringParse_StrPart("123_456_789.xyz", StringParse_enum.Right, "not found",".","_") -> "xyz"
  <br/>#Exa: StringParse_StrPart("123_456_789.xyz", StringParse_enum.Left, "not found",".","_") -> "123"
  <br/>#Exa: StringParse_StrPart("123_456_789.xyz", StringParse_enum.Left, "not found","xx.","xx_") -> "not found"
  <br/>#Exa: StringParse_StrPart("123_456_789.xyz", StringParse_enum.Right, "not found","y") -> "z"
  <br/>#Exa: StringParse_StrPart("123_456_789.xyz", StringParse_enum.Left , "not found","y") -> "123_456_789.x"
  <br/>#Exa: StringParse_StrPart("123_456_789.xyz", StringParse_enum.Left, "not found","xx.","xx_") -> "not found"
  <br/>#Exa: ?StringParse_StrPart("123_456_789.xyz", StringParse_enum.Right, "not found",".x","yz") -> "not found" da yz ganz rechts kommt und dann strDefaultIfResultIsEmpty_p
 </summary>
 <param name="str_p">String to Parse</param>
 <param name="StringParse_enum_p"></param>
 <param name="strDefaultIfResultIsEmpty_p">dieser wert wird gemommen falls der Ergebmiss leer ist.</param>
 <param name="SplitStr_args">Liste der Split Strings !! Erforderlich !!</param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringParseParam(System.String,System.String,System.Char)">
 <summary>
 Parst den Parameter wert aus einem String
 <br/>#Exa: StringParseParam("X1=""TEST1"" X2=""TEST2""","X2=")
 </summary>
 <param name="ParseFromString_p"></param>
 <param name="ParamStr_p"></param>
 <param name="SignensLR_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringParamParseValue(System.String,System.String,System.String,System.Boolean)">
 <summary>
 Parses the parameter value from a string
 <br/>#Exa:StringParamParseValue("X1=""TEST1"" X2=""Value XXX x2"" X3=MyValueX3YZ some more words ","X2=","UseValueIfNoValueFound") = "Value XXX x2"
 <br/>#Exa:StringParamParseValue("X1=""TEST1"" X2=""Value XXX x2"" X3=MyValueX3YZ some more words","X3=","UseValueIfNoValueFound") = "MyValueX3YZ"
 <br/>#Exa:StringParamParseValue("X1=""TEST1"" X2=""Value XXX x2"" X3=MyValueX3YZ X5='some more words'","X3=","UseValueIfNoValueFound") = "MyValueX3YZ"
 <br/>#Exa:StringParamParseValue("X1=""TEST1"" X2=""Value XXX x2"" X3=MyValueX3YZ some more words","X4=","UseValueIfNoValueFound") = "UseValueIfNoValueFound"
 </summary>
 <remarks>
 new 6.10.2011 J.Fes
 2.1210;12.02.2015;J.Fes;last.change:add ReturnWithBackets
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringTrimOnWordR(System.String,System.String,System.String)">
 <summary>
 schneidet ein String Rechts an der 1 gefunden Pos von str_p ab
 <br/>#Exa: StringTrimOnWordR("12/34/56","/") -> "12/34"
 <br/>#Exa: StringTrimOnWordR("12/34/56","34/56") -> "12/"
 <br/>#Exa: StringTrimOnWordR("12/34/56","56") -> "12/34/"
 </summary>
 <param name="str_p"></param>
 <param name="strStartTrimOnWord_p"></param>
 <param name="strDefaultIfResultIsEmpty_p"></param>
 <remarks> 
 #LUp: 3.1491;21.03.2020;J.Fes add #Exa in summery 
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringFindNextWordBetweenWord(System.String,System.String,System.String,System.Int32,System.Int32,System.String)">
 <summary>
 Findet ein Wort zwischen 2 Wörtern
 </summary>
 <param name="str_p"></param>
 <param name="strWordL_p"></param>
 <param name="strWordR_p"></param>
 <param name="lngIStart_p"></param>
 <param name="lngNMax_p"></param>
 <param name="strDefault_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringIsStringInString(System.String,System.String)">
 <summary>
 return='true' wenn strSearch_p in str_p enthalten ist  
 <br/>#Doc: return='false' wenn strSearch_p NICHT in str_p enthalten ist 
 </summary>
 <param name="str_p"></param>
 <param name="strSearch_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringIsStringRemarked(System.String)">
 <summary>
  überprüft ab eine Zeile auskommentiert wurde
 </summary>
 <param name="str_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringReplaceMultipleCharsWithOneChar(System.String,System.Char,System.Char)">
 <summary>
 function to replace multiple chars with one char
 <br/>#Exa: multipleChar_p=x charReplace_p=y:  "TESTxxxxxxxxxxxxxxxxxTEST" --> "TESTyTEST"
 </summary>
 <param name="strIn_p"></param>
 <param name="multipleChar_p"></param>
 <param name="charReplace_p"></param>
 <remarks>New: 2.1194;19.02.2013;S.Gueth</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringRemoveMultipleChars(System.String,System.Char)">
 <summary>
 removes multiple chars in a string, until this char only one time in string
 <br/>#Exa: '12+++++34' --> '12+34'
 <br/>#Exa: '12    34'  --> '12 34'
 </summary>
 <remarks>New: 2.1194;19.02.2013;S.Gueth</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringReplaceMultiple(System.String,System.String[],System.String)">
 <summary>
 Replaces from str_p all strings contained in strReplaceList_p and replace them by value of strReplaceWith_p
 <br/>#Exa: StringReplaceMultiple("12xx34yy56", New String() {"x", "y"}, "*") --> "12**34**56"
 </summary>
 <remarks>New: 2.1210;07.02.2015;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringRemoveSpecialChars(System.String,System.Char)">
 <summary>
 <br/>Returns value of String_p replaces by Chars not in range ASC 32-126
 </summary>
 <remarks>
 2.1210;07.07.2014;J.Fes;last.change: Names Updatet
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.TextTrimEnd(System.String@)">
 <summary>
 <br/>führt ein TrimEnd auf alle Zeilen von Text_p aus
 <br/>#Doc: Hinweis die Zeilen des Textes werden via vbcrlf ermittelt 
 </summary>
 <param name="Text_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringStrSep_GetPosI(System.String,System.Int32,System.String)">
 <summary>
 Holt den Parameter PosN_p aus str_p separiert nach strSep_p
 </summary>
 <param name="str_p"></param>
 <param name="PosN_p"></param>
 <param name="strSep_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringIsLikeOneElementInListOfString(System.String,System.Collections.Generic.List{System.String},JF.Tools.StringLikeExtensions.ComparisonMode)">
 <summary>
 <br/>Checks if StringCompareWithStringList_p is like one Element in StringList_p
 <br/>#Doc: Returns true if StringList_p is nothing
 <br/>#Doc: Returns true if StringList_p.Count = 0
 </summary>
 <param name="StringList_p"></param>
 <param name="StringCompareWithStringList_p"></param>
 <param name="ComparisonMode_p"></param>
 <returns></returns>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringIsLikeOneElementInString(System.String,System.Char[],System.String,System.Boolean)">
 <summary>
 <br/>wie Variante 1 jedoch !! NOT Wird auch ausgewertet Hinweis: !! NOT ist Dominat
 </summary>
 <param name="String_p"></param>
 <param name="StringInSplittByChar_p"></param>
 <param name="CompareElemWithStr_p"></param>
 <param name="ExcludeViaNot_Is_ExcludeDominant_p">[true=Exclude(NOT) Element is Dominant] [false=Include Elment ist Dominat]</param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringIsLikeOneElementInString(System.String,System.Char[],System.String)">
 <summary>
 prüft ob in einem Element von StringIn CompareLikeStringIn entspricht. Der Vergleich wird nicht case sensitiv mit like durchgeführt
 <br/>#Exa: MyBol=StringIsLikeOneElementInString("Name1;Name2;NameX*", (New Char() {";"c, ","c}), "Name1").ResultIsEverythingOk = true (da Name1 = Name1 aus:[Name1;Name2;NameX*])
 <br/>#Exa: MyBol=StringIsLikeOneElementInString("Name1;Name2;NameX*", (New Char() {";"c, ","c}), "NameXYZ").ResultIsEverythingOk = true (da NameXYZ like NameX* aus:[Name1;Name2;NameX*])
 <br/>#Exa: MyBol=StringIsLikeOneElementInString("Name1;Name2;NameX*", (New Char() {";"c, ","c}), "Name2*").ResultIsEverythingOk = true (da Name2* like Name2 aus:[Name1;Name2;NameX*])
 <br/>#Exa: MyBol=StringIsLikeOneElementInString("NameXYZ;NameTEST", (New Char() {";"c, ","c}), "Name2*").ResultIsEverythingOk = false (da Name2* nicht in like aus:[NameXYZ;NameTEST])
 </summary>
 <param name="String_p">String der die Elemente beinhaltet</param>
 <param name="StringInSplittByChar_p">Char durch den StringIn gesplittet wird</param>
 <param name="CompareElemWithStr_p">String mit dem die String Elemente verglichen werden</param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringIsLikeOneElementInStringArray(System.String[],System.String)">
 <summary>
 wie StringIsLikeOneElementInStringArray jedoch werden die zu vergleichenden Namen via list of string verarbeitet
 </summary>
 <remarks>2.1195;11.03.2013;J.Fes;last.change:Check if StringArray_p IsNot nothing</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringIsEQtoOneElement(System.String,System.String[])">
 <summary>
 check is StrCompare_p = One of the Elements
 <br/>#Exa1: StringIsEQtoOneElement("ValueY","ValueX","ValueZ","ValueY") = true
 <br/>#Exa2: StringIsEQtoOneElement("ValueQ","ValueX","ValueZ","ValueY") = False
 </summary>
 <remarks> 
 #New: 3.1502;23.01.2021;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringIsLikeString(System.String,System.String)">
 <summary>
 Vergleicht via Windows WildCard (keine regulären ausdruecke) ob:
 <br/>#Doc: - StrCompareBase_p like StrCompareWith_p - oder - StrCompareWith_p like StrCompareBase_p
 </summary>
 <param name="StrCompareBase_p"></param>
 <param name="StrCompareWith_p"></param>
 <remarks>New: 2.899;16.11.2011;J.Fes
 last.change: 2.1210;11.11.2014;S.Gueth</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringTrimLIfWordIstOnFirstPos(System.String,System.String)">
 <summary>
 Beschreibung: schneidet ein String ab wenn ab der 1 Position des Strings das abzuschneidende Word steht
 <br/>#Exa: StringTrimLIfWordIstOnFirstPos("12XXX","12") -> "XXX"
 <br/>#Exa: StringTrimLIfWordIstOnFirstPos("XX12XXX","12") -> "XX12XXX"
 </summary>
 <param name="str_p"></param>
 <param name="StringToCutLeft_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringTrimRNChars(System.String,System.Int32)">
 <summary>
 Verkürzt einen String Recht um N-Chars
 </summary>
 <param name="Value_p"></param>
 <param name="CutRightCharsN_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringTrimLNChars(System.String,System.Int32)">
 <summary>
 Verkürzt einen String Links um N-Chars
 </summary>
 <param name="Value_p"></param>
 <param name="CutLeftCharsN_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringFilterNumBeginnL(System.String,System.String)">
 <summary>
 Filtert aus einem String alle Zahlen solange ein Zahlen Zeichen folgt
<br/>#Exa: VarX = StringFilterNumBeginnL("123.20H7") = "123.20"]
<br/>#Exa: VarX = StringFilterNumBeginnL("-123.20H7") = "-123.20"]
<br/>#Exa: VarX = StringFilterNumBeginnL("XXX-123.20H7") = "-123.20"]
<br/>#Exa: VarX = StringFilterNumBeginnL("XXX+-123.20H7") = "-123.20"]
<br/>#Exa: VarX = StringFilterNumBeginnL("XXX-+123.20H7") = "123.20"]
<br/>#Exa: VarX = StringFilterNumBeginnL("X.XX-+123.20H7") = "123.20"]
<br/>#Exa: VarX = StringFilterNumBeginnL("M16RZ12") = "16"]
 <br/>#Doc:   [Info Use Val Convert 1.1]
 </summary>
 <param name="str_p"></param>
 <param name="onEmptyResultUseString_p"></param>
 <remarks>2.1196;25.04.2013;J.Fes;last.change: umstellung auf RegularExpressions</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringTrimEndBlankCrLf(System.String)">
 <summary>
 trimt am ende eines strings blanks  vbCr vbLf
 </summary>
 <param name="str_p"></param>
 <remarks>New: 2.1199;22.07.2013;J.Fes</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringRemoveDoubledChar(System.String,System.Char)">
 <summary>
 removes Doubled Chars from str_p
 </summary>
 <param name="str_p">Input String</param>
 <param name="charDublRemove_p">Char to remove DoubledChar</param>
 <remarks>#New: 3.1273;29.09.2016;J.Fes</remarks>
 <example>StringRemoveDoubledChar('Test###Test##Test', "#"c) -> 'Test#Test#Test'</example>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringRemoveDoubledBlank(System.String)">
 <summary>
 removes doubled 'Bank' from str_p
 </summary>
 <param name="str_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringRemoveDoubledQuotationMarkSingle(System.String)">
 <summary>
 removes doubled QuotationMark '"'  from str_p
 </summary>
 <param name="str_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringRemoveDoubledQuotationMarkDouble(System.String)">
 <summary>
 removes doubled QuotationMark '"'  from str_p
 </summary>
 <param name="str_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringPadRight(System.String,System.Int32,System.Char,System.String,System.Char)">
 <summary>
 füllt die Rechte Seite eines Strings unter angegeben bedingungen auf
 <br/>#Exa: StringPadRight("123", 10, "."c, ": ") wird zu: '123.....: '
 </summary>
 <param name="String_p"></param>
 <param name="StrLen_p"></param>
 <param name="paddingChar_p"></param>
 <param name="RightLastString_p"></param>
 <param name="toLongTrailingChar_p"></param>
 <remarks>2.1196;14.04.2013;J.Fes;last.change: berücksichtigt jetzt String_p.Length + RightLastString_p.Length</remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.RealToStringLB(System.Double,System.Int32,System.Int32)">
 <summary>
 Wandelt eine RealZahl in String mit führenden " "
 // Vorkomma Stellen dürfen nicht unterdrückt werden
 // Rundung der nachkommastellen werden berücksichtigt
 <br/>#Exa: RealToStringLB(256.999995,2,2) -> 257.00
 </summary>
 <param name="Real_p"></param>
 <param name="nStellenVorKomma_p"></param>
 <param name="nStellenNachKomma_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringFillToLengthR(System.String,System.Int32,System.String,System.String)">
 <summary>
 Verlängert oder verkürtzt ein String auf LengthNew und füllt mit fillCar1 und fillCharEnd
 <br/>#Exa: StringFillToLengthR("12345678",10,"~","*") -> 12345678~*
 </summary>
 <param name="str_p"></param>
 <param name="LengthNew_p"></param>
 <param name="fillStrLeft_p"></param>
 <param name="fillStrEnd_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringToDouble(System.String)">
 <summary>
 #Beschreibung: bildet aus einem String einen Real Wert
 <br/>#Exa: StringToDouble("1.2345") -> 1,2345
 <br/>#Exa: StringToDouble("1,2345") -> 1,2345
 </summary>
 <param name="str_p"></param>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringToListOfString(System.String)">
 <summary>
 <br/>returns String_p As List(Of String)
 <br/>#Doc:String is split up by vbCrLf vbLf
 </summary>
 <param name="String_p"></param>
 <remarks> 
 #New: 3.1453;14.02.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringToTextStringBuilder(System.String)">
 <summary>
 returns String_p as Text.StringBuilder
 </summary>
 <param name="String_p"></param>
 <remarks> 
 #New: 3.1453;14.02.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.CaseInsesitiveReplace(System.String,System.String,System.String,System.StringComparison)">
 <summary>
 replace a string case insensitive
 </summary>
 <remarks> 
 <br/>#New: 3.1502;14.10.2020;S.Gueth
 <br/>Source: https://codesnippets.fesslersoft.de/case-insensitive-string-replace/
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringGetLRonChar(System.String,System.Char,System.String@,System.String@,System.Boolean)">
 <summary>
 Returns for value left and right values sperated by SplitChar_p
 <br/>#Exa: StringToDouble("param1=value1","="c, StrL, StrR) -> strL_r = "param1" strR_r = "value1" 
 </summary>
 <remarks> 
 #New: 3.1503;21.04.2021;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_ToolsString.StringLupOrNewTimeStampNoteCell(System.String,System.Boolean)">
 <summary>
 returns StringLupOrNewTimeStamp for gridcell note
 </summary>
 <remarks> 
 #New: 3.1800;19.12.2023;A.Stein
 </remarks>
</member>
<member name="M:JF.Tools.JF_Tools_OS.PathInsertPathPart(System.String,System.Boolean)">
 <summary>
 fügt der aktuellen %Path% Variable den übergebenen PathInsert_p ein
 wenn PathInsert_p noch nicht in %PATH% Variablen enthalten ist. 
 </summary>
 <remarks>
 #LUp: 3.1288;12.01.2017;J.Fes Renamed from JF_PathInsertPathPart to PathInsertPathPart
 #New: 3.1419;07.08.2017;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Tools_OS.PathInsertPath2(System.String,System.Boolean,System.Boolean,System.Boolean,System.String)">
 <summary>
 Inserts into %path% PathInsert_p to begin or end of path and cleanup optional path variable
 <para/>#Doc: If Path_pr is empty then %path% is used
 </summary>
 <remarks> 
 #New: 3.1419;07.08.2017;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Tools_OS.PathEnvCleanUp(System.Boolean,System.String,System.EnvironmentVariableTarget)">
 <summary>
 Cleans from current path env duplicated path entrys and sets the new 'path' to 'EnvironmentVariableTarget.Process'
 </summary>
 <remarks> 
 #New: 3.1288;12.01.2017;J.Fes
 #LUp: 3.1488;22.01.2019;J.Fes Path cleanup repaired 
 </remarks>
</member>
<member name="M:JF.Tools.JF_Tools_OS.FileShowSelectedWithExplorer(System.String)">
 <summary>
 Startet den Windows Explorer mit selectierten 'FileToShowWithExplorer_DPNE'
 </summary>
 <param name="FileToShowWithExplorer_DPNE_p"></param>
</member>
<member name="M:JF.Tools.JF_Tools_OS.DirShowWithExplorer(System.String)">
 <summary>
 Startet den Windows Explorer und zeigt den Inhalt des übergebnen Directory's an
 </summary>
 <param name="DirShowWithExplorer_DP_p"></param>
</member>
<member name="M:JF.Tools.JF_Tools_OS.UserNameGet">
 <summary>
 gibt OS UserName zurück 
 </summary>
</member>
<member name="M:JF.Tools.JF_Tools_OS.GetEnvironmentVariable(System.String,System.Nullable{System.EnvironmentVariableTarget}@,System.String@)">
 <summary>
 returns value of EnvVal_p 
 <para/>#Doc: if EnvVar_p not exist then '' is returend
 <para/>#Doc: ENVSource_pr returns 'UNK' if EnvVarName_p not Exist 
 <para/>#Doc: ENVSource_pr returns 'P' if value comming from  EnvironmentVariableTarget.Process  
 <para/>#Doc: ENVSource_pr returns 'U' if value comming from  EnvironmentVariableTarget.User  
 <para/>#Doc: ENVSource_pr returns 'M' if value comming from  EnvironmentVariableTarget.Machine  
 </summary>
<param name="EnvironmentVariableTarget_p">
if EnvironmentVariableTarget_p? = nothing then value is searched by: env Process ... User ... Machine
</param>
 <remarks> 
 #New: 3.1461;04.04.2018;J.Fes
 #LUp: 3.1491;08.03.2020;J.Fes add Nothing condition for EnvironmentVariableTarget_p?
 #LUp: 3.1491;15.04.2020;J.Fes add ENVSource_pr
 </remarks>
</member>
<member name="M:JF.Tools.JF_Tools_OS.SetEnvironmentVariables(System.String,System.EnvironmentVariableTarget,System.String[])">
 <summary>
 sets for EnvValue_p to EnvironmentVariableTarget_p n EnvVars_p 
 </summary>
 <remarks> 
 #New: 3.1488;03.12.2018;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_Tools_OS.GetLocalIPs">
 <summary>
 Gibt ein Stringarray mit den Lokalen IPs zurück
 </summary>
</member>
<member name="M:JF.Tools.JF_Tools_OS.GetLocalIP">
 <summary>
 Gibt einen String mit der ersten gefundenen gültigen IP zurück.
 </summary>
</member>
<member name="T:JF.Tools.JF_Tools_OS.OsInfo">
 <summary>
 Class to get Info about Operating System Details
 </summary>
 <remarks>2.1210;06.03.2015;J.Fes/A.Becker</remarks>
</member>
<member name="M:JF.Tools.JF_Tools_OS.OsInfo.Is64BitOperatingSystem">
 <summary>
 The function determines whether the current operating system is a 
 64-bit operating system.
 </summary>
 <returns>
 The function returns true if the operating system is 64-bit; 
 otherwise, it returns false.
 </returns>
</member>
<member name="M:JF.Tools.JF_Tools_OS.OsInfo.DoesWin32MethodExist(System.String,System.String)">
 <summary>
 The function determins whether a method exists in the export 
 table of a certain module.
 </summary>
 <param name="moduleName">The name of the module</param>
 <param name="methodName">The name of the method</param>
 <returns>
 The function returns true if the method specified by methodName 
 exists in the export table of the module specified by moduleName.
 </returns>
</member>
<member name="T:JF.Tools.JF_UpdateHis_cls">
 <summary>
 Class to organice Update history. #Example use to transfer settings  
 </summary> <remarks> 
 #New: 3.1490;13.11.2019;J.Fes
 </remarks>
</member>
<member name="T:JF.Tools.JF_UpdateHis_cls.UpdateDat_cls">
 <summary>
 Defines Update Base Data
 </summary>
 <remarks> 
 #New: 3.1490;13.11.2019;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JF_UpdateHis_cls.UpdateDat_cls.Version">
 <summary>
 defines Version 1 / 2 / 3
 Importand Note Version number musst be UNIC !!
 </summary>
</member>
<member name="P:JF.Tools.JF_UpdateHis_cls.UpdateDat_cls.VersionDevelopedAtDateTime">
 <summary>
 keeps DateTime stamp when update version has been defined by development  
 </summary>
</member>
<member name="P:JF.Tools.JF_UpdateHis_cls.UpdateDat_cls.UpdateDoneAtDateTime">
 <summary>
 keeps info when Update to Version has been done = now
 </summary>
</member>
<member name="P:JF.Tools.JF_UpdateHis_cls.UpdateDat_cls.UpdateNote">
 <summary>
 keeps info about the update. Like Strukture Update .
 </summary>
</member>
<member name="P:JF.Tools.JF_UpdateHis_cls.UpdateHistoryList">
 <summary>
 Contains Update History List
 </summary>
</member>
<member name="M:JF.Tools.JF_UpdateHis_cls.UpdateDataAdd(JF.Tools.JF_UpdateHis_cls.UpdateDat_cls@)">
 <summary>
 add's a new Update Object to UpdateHistory
 </summary>
 <remarks> 
 #New: 3.1490;13.11.2019;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_UpdateHis_cls.UpdateDataAdd(System.Int32@,System.DateTime@,System.String@,System.Boolean)">
 <summary>
 add's a new Update Object to UpdateHistory
 <para/>#Doc: use this function when update is done 
 </summary>
 <remarks> 
 #New: 3.1490;13.11.2019;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.JF_UpdateHis_cls.UpdateNeeded(JF.Tools.JF_UpdateHis_cls.UpdateDat_cls)">
 <summary>
 Returns if Update is needet to be processd 
 <para/>#Doc: Update is needet (return = true) if UpdateDatCurrent_p.Version not found in UpdateHistory
 </summary>
 <param name="UpdateDatCurrent_p"></param>
</member>
<member name="T:JF.Tools.JF_WindowMgr">
 <summary>
  classen zum window handling
 </summary>
 <remarks>New: 2.1196;27.03.2013;J.Fes</remarks>
</member>
<member name="T:JF.Tools.JF_WindowMgr.Win32Api">
 <summary>
 Die Klasse beinhaltet die benötigten Api-Funktionen und Konstanten.
 </summary>
</member>
<member name="M:JF.Tools.JF_WindowMgr.SetApplicationAsChild(System.String,System.IntPtr)">
 <summary>
 Die Prozedur startet die übergebene Anwendung und setzt sie in die aufrufende Form.
 </summary>
 <param name="CallingApplication">bspw. notepad.exe</param>
 <param name="PanelControl_hWndNewParent">Panel-Control, in das die Anwendung eingebettet werden soll</param>
</member>
<member name="T:JF.Tools.KeyboardApi.KeyCode">
 <summary>
 Enum for Modifier Keys with Virtual Key Codes.
 </summary>
</member>
<member name="F:JF.Tools.KeyboardApi.KeyCode.VK_SHIFT">
 <summary>SHIFT key</summary>
</member>
<member name="F:JF.Tools.KeyboardApi.KeyCode.VK_CONTROL">
 <summary>CTRL key</summary>
</member>
<member name="F:JF.Tools.KeyboardApi.KeyCode.VK_MENU">
 <summary>ALT key</summary>
</member>
<member name="F:JF.Tools.KeyboardApi.KeyCode.VK_CAPITAL">
 <summary>CAPS LOCK key</summary>
</member>
<member name="F:JF.Tools.KeyboardApi.KeyCode.VK_LSHIFT">
 <summary>Left SHIFT key</summary>
</member>
<member name="F:JF.Tools.KeyboardApi.KeyCode.VK_RSHIFT">
 <summary>Right SHIFT key</summary>
</member>
<member name="F:JF.Tools.KeyboardApi.KeyCode.VK_LCONTROL">
 <summary>Left CONTROL key</summary>
</member>
<member name="F:JF.Tools.KeyboardApi.KeyCode.VK_RCONTROL">
 <summary>Right CONTROL key</summary>
</member>
<member name="F:JF.Tools.KeyboardApi.KeyCode.VK_LMENU">
 <summary>Left MENU key (Alt key)</summary>
</member>
<member name="F:JF.Tools.KeyboardApi.KeyCode.VK_RMENU">
 <summary>Right MENU key (Alt key)</summary>
</member>
<member name="T:JF.Tools.LoadOrSave_Action">
 <summary>
 Specifies storage scope and action.
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.Value">
 <summary>
 The storage action.
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.StorageScope">
 <summary>
 The storage scope.
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.UseDefaultFileName">
 <summary>
 If true the default file name should be used.
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.UseCustomizedFileName">
 <summary>
 If true the default file name should be used.
 </summary>
</member>
<member name="M:JF.Tools.LoadOrSave_Action.StorageScopeFallbackGet">
 <summary>
 Returns the same LoadOrSave_Action with a higher scope level.<br />
 e.g. instead of UserLevel it sets CustomerLevel
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.Is_Load">
 <summary>
 Load data
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.Is_Save">
 <summary>
 Save data
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.Is_StorageScope_User">
 <summary>
 Data scope: user
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.Is_StorageScope_Customer">
 <summary>
 Data scope: customer
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.Is_StorageScope_Application">
 <summary>
 Data scope: application
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.Is_StorageScope_ApplicationDefault">
 <summary>
 Data scope: application defaults
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.UserDefaultLoad">
 <summary>
 Load the user specific data using default filename
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.UserDefaultSave">
 <summary>
 Save the user specific data using default filename
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.LoadDefault">
 <summary>
 Load the customers specific data using default filename
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.SaveDefault">
 <summary>
 Save the customers specific data using default filename
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.LoadCustom">
 <summary>
 Load the customers specific data using user defined filename
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.SaveCustom">
 <summary>
 Save the customers specific data using user defined filename
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.ApplDefaultLoad">
 <summary>
 Load the application default data using default filename
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.ApplLoad">
 <summary>
 Load the application default data using default filename
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.ApplDefaultSave">
 <summary>
 Save the application default data using default filename
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.GloballDefaultSave">
 <summary>
 Save the global default data using default filename
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.GloballDefaultRestore">
 <summary>
 Load the global default data using default filename
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.GloballDefaultLoad">
 <summary>
 Load the global default data using default filename
 </summary>
</member>
<member name="P:JF.Tools.LoadOrSave_Action.ApplSave">
 <summary>
 Save the application default data using default filename
 </summary>
</member>
<member name="T:JF.Tools.LoadOrSave_Action.StorageScope_Enum">
 <summary>
 defines the storage scope alternatives
 </summary>
</member>
<member name="F:JF.Tools.LoadOrSave_Action.StorageScope_Enum.User">
 <summary>
 Data scope: user
 </summary>
</member>
<member name="F:JF.Tools.LoadOrSave_Action.StorageScope_Enum.Customer">
 <summary>
 Data scope: customer
 </summary>
</member>
<member name="F:JF.Tools.LoadOrSave_Action.StorageScope_Enum.Application">
 <summary>
 Data scope: application defaults
 </summary>
</member>
<member name="F:JF.Tools.LoadOrSave_Action.StorageScope_Enum.ApplicationDefault">
 <summary>
 Data scope: application
 </summary>
</member>
<member name="T:JF.Tools.LoadOrSave_Action.Value_Enum">
 <summary>
 defines action options
 </summary>
</member>
<member name="F:JF.Tools.LoadOrSave_Action.Value_Enum.Load">
 <summary>
 Load data
 </summary>
</member>
<member name="F:JF.Tools.LoadOrSave_Action.Value_Enum.Save">
 <summary>
 Save data
 </summary>
</member>
<member name="T:JF.Tools.MathExpression">
 <summary>
 Calculator for simple math formulas from strings like "(3 + 1) * 4"
 Supports only simple operators: plus (+), minus (-), multiply (*) and divide (/)
 Decimal numbers are supported with dot (123.45) or comma (123,45) separator.
 Thousands separators (1,234.56) are not supported.
 New: A.Becker/04.01.2024
 </summary>
</member>
<member name="M:JF.Tools.MathExpression.EvaluateAsInteger(System.String)">
 <summary>
 Calculates the result of a given expression.
 Returns the rounded integer value of the result.
 </summary>
 <param name="expression">The formula to evaluate, e.g. "(3 + 1) * 4"</param>
</member>
<member name="M:JF.Tools.MathExpression.TryEvaluateAsInteger(System.String,System.Int32@)">
 <summary>
 Tries to calculate the result of a given expression.
 Returns the rounded value as integer in the result reference argument.
 Returns success status.
 </summary>
 <param name="expression">The formula to evaluate, e.g. "(3 + 1) * 4"</param>
 <param name="result">The calculated result value.</param>
 <returns>Returns true if evaluation succeeded.</returns>
</member>
<member name="M:JF.Tools.MathExpression.EvaluateAsDouble(System.String)">
 <summary>
 Calculates the result of a given expression.
 Returns the value of the result as a double.
 </summary>
 <param name="expression">The formula to evaluate, e.g. "(3 + 1) * 4"</param>
</member>
<member name="M:JF.Tools.MathExpression.TryEvaluateAsDouble(System.String,System.Double@)">
 <summary>
 Tries to calculate the result of a given expression.
 Returns the value as double in the result reference argument.
 Returns success status.
 </summary>
 <param name="expression">The formula to evaluate, e.g. "(3 + 1) * 4"</param>
 <param name="result">The calculated result value.</param>
 <returns>Returns true if evaluation succeeded.</returns>
</member>
<member name="M:JF.Tools.MathExpression.EvaluateAsDecimal(System.String)">
 <summary>
 Calculates the result of a given expression.
 Returns the value of the result as a decimal.
 </summary>
 <param name="expression">The formula to evaluate, e.g. "(3 + 1) * 4"</param>
</member>
<member name="M:JF.Tools.MathExpression.TryEvaluateAsDecimal(System.String,System.Decimal@)">
 <summary>
 Tries to calculate the result of a given expression.
 Returns the value as decimal in the result reference argument.
 Returns success status.
 </summary>
 <param name="expression">The formula to evaluate, e.g. "(3 + 1) * 4"</param>
 <param name="result">The calculated result value.</param>
 <returns>Returns true if evaluation succeeded.</returns>
</member>
<member name="T:JF.Tools.PropertyChangedNotifyingBase">
 <summary>
 ApplDokuIntern: 2.1210;16.12.2014;A.Becker
 Generic DataClass to provide GUI bindable Properties 
 Princip: Data are stored in privat Dictonary. All Actions are using the Data stored in this Dictonary
 </summary>
</member>
<member name="M:JF.Tools.PropertyChangedNotifyingBase.GetValue(System.String)">
 <summary>
 Returns the current string value for a property, if not available, the default value will be returned.
 </summary>
</member>
<member name="M:JF.Tools.PropertyChangedNotifyingBase.GetValue``1(System.String)">
 <summary>
 Returns the current value for a property, if not available, the default value will be returned.
 </summary>
</member>
<member name="M:JF.Tools.PropertyChangedNotifyingBase.SetValue(System.Object,System.Boolean,System.String)">
 <summary>
 Stores the value for a property, PropertyChanged event will be raised if value has changed.
 </summary>
 <param name="newValue">The new property value.</param>
 <param name="forcePropertyChangedEvent">If true, the PropertyChanged event will be raised even if the properties value did not changed.</param>
 <param name="propertyName">The name of the property will be filled in by the compiler using the name of the calling property.</param>
</member>
<member name="M:JF.Tools.PropertyChangedNotifyingBase.ResetPropertyToDefaultValue(System.String)">
 <summary>
 Restores the value of a named property to the default value.
 </summary>
</member>
<member name="M:JF.Tools.PropertyChangedNotifyingBase.ResetAllPropertiesToDefafaultValue">
 <summary>
 Restores the value of all public properties to the default value.
 </summary>
</member>
<member name="T:JF.Tools.PropertyChangedNotifyingBase.ExcludeFromResetToDefaultValueAttribute">
 <summary>
 Using this attribute a property can be exclueded from the<see cref="M:JF.Tools.PropertyChangedNotifyingBase.ResetAllPropertiesToDefafaultValue"/>() method.
 </summary>
</member>
<member name="T:JF.Tools.PropertyChangedNotifyingBase.ResetAlsoAttribute">
 <summary>
 Using this attribute a reset of a property can trigger resets of dependend properties.<br />
 You must avoid circular references!
 </summary>
</member>
<member name="M:JF.Tools.PropertyChangedNotifyingBase.InitializePropertyDetails">
 <summary>
 Initializes the PropertyDetails store by reading property attributes
 </summary>
</member>
<member name="M:JF.Tools.PropertyChangedNotifyingBase.GetDefaultValue``1(System.String)">
 <summary>
 Returns the default value for a property by name.
 </summary>
</member>
<member name="M:JF.Tools.PropertyChangedNotifyingBase.OnPropertyValueGet(System.String,System.Object@)">
 <summary>
 Will be called when the current value of a property is requested.<br />
 The retrieved value can be modified.<br />
 The default implementation calls the <see cref="E:JF.Tools.PropertyChangedNotifyingBase.PropertyValueGet"/> event.
 </summary>
 <param name="propertyName">Name of the property of which the value is about to be set.</param>
 <param name="value">The value whch will be returned, can be modified.</param>
</member>
<member name="E:JF.Tools.PropertyChangedNotifyingBase.PropertyValueGet">
 <summary>
 Will be called while a value of a property is requested.<br />
 The the value can be modified.
 </summary>
</member>
<member name="P:JF.Tools.PropertyChangedNotifyingBase.ValueGetEventArgs.PropertyName">
 <summary>
 Name of the property of which the value is about to be set.
 </summary>
</member>
<member name="P:JF.Tools.PropertyChangedNotifyingBase.ValueGetEventArgs.Value">
 <summary>
 The properties value.
 </summary>
</member>
<member name="M:JF.Tools.PropertyChangedNotifyingBase.OnPropertyValueSet(System.String,System.Object,System.Object@,System.Boolean@)">
 <summary>
 Will be called before a new value of a property is set.<br />
 The setting of the value can be canceled or the new value can be modified.<br />
 The default implementation calls the <see cref="E:JF.Tools.PropertyChangedNotifyingBase.PropertyValueSet"/> event.
 </summary>
 <param name="propertyName">Name of the property of which the value is about to be set.</param>
 <param name="oldValue">The previous value.</param>
 <param name="newValue">The new value, can ba changed.</param>
 <param name="cancelSet">The set operation can be cancelled by setting this argument to true.</param>
</member>
<member name="E:JF.Tools.PropertyChangedNotifyingBase.PropertyValueSet">
 <summary>
 Will be called before a new value of a property is set.<br />
 The setting of the value can be canceled or the new value can be modified.
 </summary>
</member>
<member name="P:JF.Tools.PropertyChangedNotifyingBase.ValueSetEventArgs.PropertyName">
 <summary>
 Name of the property of which the value is about to be set.
 </summary>
</member>
<member name="P:JF.Tools.PropertyChangedNotifyingBase.ValueSetEventArgs.OldValue">
 <summary>
 The previous value.
 </summary>
</member>
<member name="P:JF.Tools.PropertyChangedNotifyingBase.ValueSetEventArgs.NewValue">
 <summary>
 The new value, can ba changed.
 </summary>
</member>
<member name="M:JF.Tools.PropertyChangedNotifyingBase.RaisePropertyChangedForAllProprties">
 <summary>
 Forces raising of PropertyChanged events for all public properties.
 </summary>
</member>
<member name="E:JF.Tools.PropertyChangedNotifyingBase.PropertyChanged">
 <summary>
 Event will be raised if any property data changed 
 </summary>
</member>
<member name="P:JF.Tools.PropertyChangedNotifyingBase.PropertyValueChangedEventArgs.OldValue">
 <summary>
 The previous value.
 </summary>
</member>
<member name="P:JF.Tools.PropertyChangedNotifyingBase.PropertyValueChangedEventArgs.NewValue">
 <summary>
 The new value, can ba changed.
 </summary>
</member>
<member name="T:JF.Tools.PropertyGrid.PropertyValueLookupSourceAttribute">
 <summary>
 Declares a source providing lookup values for a property.
 </summary>
 <remarks>
 #New: 3.2000;02.10.2024;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.PropertyGrid.PropertyValueLookupSourceAttribute.#ctor(System.String,System.Type)">
 <summary>
 Declares a source providing lookup values for a property.
 </summary>
 <param name="memberName">The name of a property or method which returns the lookup data as an IEnumerable.</param>
 <param name="staticSourceType">Optional: Specifies a type which provides the method statically.</param>
</member>
<member name="M:JF.Tools.PropertyGrid.PropertyValueLookupSourceAttribute.#ctor(System.String,System.Object[],System.Type)">
 <summary>
 Declares a source providing lookup values for a property.
 </summary>
 <param name="memberName">The name of a method which returns the lookup data as an IEnumerable.</param>
 <param name="methodParameters">Parameters which are required to call the method. Must match the method signature.</param>
 <param name="staticSourceType">Optional: Specifies a type which provides the method statically.</param>
</member>
<member name="P:JF.Tools.PropertyGrid.PropertyValueLookupSourceAttribute.MemberName">
 <summary>
 The name of a Method or Property which provides the lookup data as an IEnumerable.
 </summary>
</member>
<member name="P:JF.Tools.PropertyGrid.PropertyValueLookupSourceAttribute.MethodParameters">
 <summary>
 If <see cref="P:JF.Tools.PropertyGrid.PropertyValueLookupSourceAttribute.MemberName"/> specifies a method, these parameters will be used to call the method.
 </summary>
</member>
<member name="P:JF.Tools.PropertyGrid.PropertyValueLookupSourceAttribute.StaticSourceType">
 <summary>
 If specified, the method or property will be reflected statically from this type instead of the current data context.
 </summary>
</member>
<member name="T:JF.Tools.StringLikeExtensions">
 <summary>
 Bietet Wildcard und LIKE Vergleiche als Erweiterungsmethode. Auch für NetStandard nutzbar.
 Anwendung: string.IsLikeWildcard("*pattern?")
 Anwendung: string.IsLike("*pattern?[a-z]#")
 New: 30.01.2024/A.Becker
 </summary>
</member>
<member name="M:JF.Tools.StringLikeExtensions.IsLikeWildcard(System.String,System.String)">
 <summary>
 Prüft ob der String dem angegebenen Wildcard entspricht. (case insensitive, uses only * and ? as placeholder)
 </summary>
</member>
<member name="M:JF.Tools.StringLikeExtensions.IsLikeWildcard(System.String,System.String,JF.Tools.StringLikeExtensions.ComparisonMode)">
 <summary>
 Prüft ob der String dem angegebenen Wildcard entspricht. (uses only * and ? as placeholder)
 </summary>
</member>
<member name="M:JF.Tools.StringLikeExtensions.IsLike(System.String,System.String)">
 <summary>
 Prüft ob der String dem angegebenen Like-Pattern entspricht. (case insensitive)
 https://learn.microsoft.com/de-de/dotnet/visual-basic/language-reference/operators/like-operator
 </summary>
</member>
<member name="M:JF.Tools.StringLikeExtensions.IsLike(System.String,System.String,JF.Tools.StringLikeExtensions.ComparisonMode)">
 <summary>
 Prüft ob der String dem angegebenen Like-Pattern entspricht.
 https://learn.microsoft.com/de-de/dotnet/visual-basic/language-reference/operators/like-operator
 </summary>
</member>
<member name="M:JF.Tools.StringLikeExtensions.GetRegexFromWildcardPattern(System.String,System.Nullable{System.Text.RegularExpressions.RegexOptions})">
 <summary>
 Returns a regex instance for the specified wildcard pattern
 </summary>
 <remarks>
 #New: 3.2000;06.09.2024;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.StringLikeExtensions.GetRegexFromLikePattern(System.String,System.Nullable{System.Text.RegularExpressions.RegexOptions})">
 <summary>
 Returns a regex instance for the specified like pattern
 </summary>
 <remarks>
 #New: 3.2000;06.09.2024;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.StringLikeExtensions.GetRegex(System.String,System.Nullable{System.Text.RegularExpressions.RegexOptions})">
 <summary>
 Returns a regex instance for the specified regex pattern (instance will be cached)
 </summary>
 <remarks>
 #New: 3.2000;06.09.2024;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.StringLikeExtensions.GetRegexPatternFromWildcardPattern(System.String)">
 <summary>
 Converts a wildcard pattern into an equivalent regex pattern.
 </summary>
 <remarks>
 #New: 3.2000;06.09.2024;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.StringLikeExtensions.GetRegexPatternFromLikePattern(System.String)">
 <summary>
 Converts a like pattern into an equivalent regex pattern.
 </summary>
 <remarks>
 #New: 3.2000;06.09.2024;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.StringLikeExtensions.GenerateRegexPatternFromLikePattern(System.String)">
 <summary>
 Generates a regex pattern equivalent fron a like pattern
 </summary>
 <remarks>
 #New: 3.2000;06.09.2024;A.Becker
 </remarks>
</member>
<member name="T:JF.Tools.ThreadBackgroundAborter_cls">
 <summary>
 Use only for control blocking threads   
 </summary>
</member>
<member name="T:JF.Tools.ThreadSafeValue`1">
 <summary>
 Implementiert eine thread-safe Variante für WerteTypen
 </summary>
</member>
<member name="P:JF.Tools.ThreadSafeValue`1.Value">
 <summary>
 Bietet Zugriff auf das enthaltene Objekt, wird ThreadSafe ausgeführt
 </summary>
</member>
<member name="T:JF.Tools.ThreadSaveObject`1">
 <summary>
 Implementiert eine thread-safe Variante für beliebige Objekte
 </summary>
</member>
<member name="P:JF.Tools.ThreadSaveObject`1.Value">
 <summary>
 bietet Zugriff auf das verwaltete Objekt
 um die nötige Sperrlokig muss sich der Aufrufer selbst kümmern!
 </summary>
</member>
<member name="M:JF.Tools.ThreadSaveObject`1.AcquireWriterLock">
 <summary>fordert eine Schreibsperre mit 10ms Timeout an</summary>
</member>
<member name="M:JF.Tools.ThreadSaveObject`1.AcquireWriterLock(System.Int32)">
 <summary>fordert eine Schreibsperre mit definierbarem Timeout an</summary>
</member>
<member name="M:JF.Tools.ThreadSaveObject`1.AcquireWriterLock(System.TimeSpan)">
 <summary>fordert eine Schreibsperre mit definierbarem Timeout an</summary>
</member>
<member name="M:JF.Tools.ThreadSaveObject`1.ReleaseWriterLock">
 <summary>gibt eine Schreibsperre wieder frei</summary>
</member>
<member name="M:JF.Tools.ThreadSaveObject`1.AcquireReaderLock">
 <summary>fordert eine Lesesperre mit 10ms Timeout an</summary>
</member>
<member name="M:JF.Tools.ThreadSaveObject`1.AcquireReaderLock(System.Int32)">
 <summary>fordert eine Lesesperre mit definierbarem Timeout an</summary>
</member>
<member name="M:JF.Tools.ThreadSaveObject`1.AcquireReaderLock(System.TimeSpan)">
 <summary>fordert eine Lesesperre mit definierbarem Timeout an</summary>
</member>
<member name="M:JF.Tools.ThreadSaveObject`1.ReleaseReaderLock">
 <summary>gibt eine Lesesperre wieder frei</summary>
</member>
<member name="T:JF.Tools.TimeScheduler_cls">
 <summary>
 provides a class for analysing TimeScheduler data
 </summary>
 <remarks>
 #Doc: TestMe via:?JF.PlmJobManager.JobServer.TimeScheduler_cls_TEST.Test
 #LUp: 3.1489;11.05.2019;J.Fes
 #New: 3.2000;11.02.2025;J.Fes
 3.2000;11.02.2025;J.Fes#LUp: 3.2000;11.02.2025;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.Result_Obj">
 <summary>
 Contains Result 
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.JobClientControl_Obj">
 <summary>
 JobClientControl Class is used to organise the JobClient actions
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.TOverLapAuto_sec">
 <summary>
 Default Period of time (Units:sec) after which a TimePoint is validated as OK
 <br/>#Exa: TP=10:25 + 60 sec -> TPLeft=10:25 TPRight=10:26
 </summary>
 <remarks>
 <br/>#New:2.1210;27.03.2014;J.Fes;last.change: from Public to Private
 <br/>#LUp: 3.2000;30.01.2025;J.Fes switch to If Me.TOverLap_TimeSpann.Seconds > 0 Then
 </remarks>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.TOverLapParsedFromScheduleDef_sec">
 <summary>
 Period of time (Units:sec) after which a TimePoint is validated as OK
 <br/>#Doc:Value is parsed from ScheduleDef
 <br/>#Doc:This Value is used when ScheduleDef contains [.. TOVerLap=xx] 
 <br/>#Doc: |-> In all other case default value from JobServer Setting is used
 <br/>#Exa:[...  TOVerLap=10] = 10 sec overlap time is used
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.RedoActiv">
 <summary>
 Returns if Redo is active
 <br/>See1:<see cref="P:JF.Tools.JobClientControl_cls.RedoIntervallActiv"/>
 <br/>See2:<seealso cref="P:JF.Tools.JobClientControl_cls.RedoIntervall"/>
 </summary>
 <remarks> 
 #New: 3.2000;31.01.2025;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.TWR">
 <summary>
 Returns TWR reconnect WaitTime of JobClient if in Scheduletime
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.TWW">
 <summary>
 Returns TWW reconnect WaitTime of JobClient if out of Scheduletime
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.TsElemKey">
 <summary>
 Returnes parsed TsElemKey #Exa: 'DA' 'TS' 'TP' 'ReBoot' ..
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.TsElemValue">
 <summary>
 Returnes parsed TsElemValue #Exa: '04.02.2025_19:25-04.02.2025_19:26'
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ScheduleSegmentLastAnalysed">
 <summary>
 Returns last analysed TimeScheduleSegment property contains the origin Scheduler def 
 <br/>#Exa: [TS=04.02.2025_19:25-04.02.2025_19:26] #Debug1 J.Fes
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ScheduleSegmentLastAnalysedData">
 <summary>
 Returns last analysed TimeScheduleSegment property contains the parsed Scheduler def data
 <br/>#Exa: TS=04.02.2025_19:25-04.02.2025_19:26
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ScheduleAnalyseComment">
 <summary>
 Returns Schedule Analyse Comment Data 
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ScheduleIsDateSpan">
 <summary>
 Returns if result is to be validated by DateSpann 
 #Example: DA=19.02.2013-22.02.2013
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ResultIsDatePoint">
 <summary>
 Returns if result is validated by DatePoint
  <see cref="P:JF.Tools.TimeScheduler_cls.ResultIsTS_TimeSpan"/>
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ResultIsTS_DateAndTimeSpan">
 <summary>
 Returns if result is validated by DateSpan Segment
 <br/>[TS=27.01.2025_10:00-28.01.2025_21:00 ]
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ResultIsTP_DT">
 <summary>
 Returns if scheduler segment is a TimePoint 
 <br/>Check is done on base Me.TPs_DT.Count > 0 find minimum 1 entry in Time Points
 <br/>#Exa: TP=10:00 TP=15:00 ...
 </summary>
 <remarks> 
 #LUp: 3.2000;07.02.2025;J.Fes checks is now based if TP are found
 </remarks>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ResultIsTS_TimeSpan">
 <summary>
 Returns if result is validated by TimeSpan Segment
 <br/>#Doc: former name was 'ResultIsTimeSpan'
 <br/>#Exa: [TS=05:00-18:00] from 5am to 6pm
 <br/>#Exa: [TS=18:00-05:00] from 6pm to next day 5am
 <br/>#Exa: [TS=18:00-00:00] from 6pm 12am
 <br/>#Exa: [TS=00:00-18:00] from 12am to next day 6pm
 <br/>#Exa: [TS=00:00-00:00] special case the hole day
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ResultIsTS_TimeSpanIsHoleDay">
 <summary>
 entire day happend TS=00:00-00:00 !!
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.DoL_DT">
 <summary>
 Contains Left Date(only) (Min) #Exa: 27.01.2025 00:00
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.DoR_DT">
 <summary>
 Contains Right Date(Only) (Max) 28.01.2025 00:00
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ToL_DT">
 <summary>
 Contains Left Time-Only (Min) #Exa: 01.01.1900 08:00
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.TP_DT">
 <summary>
 Contains Right TP Value Time-Only (Max) #Exa: 01.01.1900 12:30
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ToR_DT">
 <summary>
 <br/>Contains Right Time-Only (Max) 
 <br/>#Exa: 01.01.1900 12:30
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.RedoStartOffset">
 <summary>
 <br/>Contains Redo Time Shift Hint value is only value.TimeOfDay
 <br/>#Doc: Naming '_oT' Only time
 <br/>#Exa: TP=00:10 -> 01.01.1900 00:10:00 -> 10 min -> 600 (sec)
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.DTL_DT">
 <summary>
 Returns entire Left Date + Time via:Me.DoL_DT.Date.Add(ToL_DT.TimeOfDay)
 </summary>
 <remarks> 
 #New: 3.2000;26.01.2025;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.DTR_DT">
 <summary>
 Returns entire Right Date + Time via:Me.DoR_DT.Date.Add(ToR_DT.TimeOfDay)
 </summary>
 <remarks> 
 #New: 3.2000;26.01.2025;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.DTRmax_DT">
 <summary>
 Returns Right Max DateTime inc Me.ScheduleTimeSpann
 <br/>#Doc: Returns Me.TPR_D.Add(Me.ScheduleTimeSpann)
 </summary>
 <returns></returns>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ResultSchedulerTimePoint">
 <summary>
 Returns value of analysed Scheduler Time Point 
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ResultIsDateDependent">
 <summary>
 Returns if scheduler segment is Date dependet
  #Doc: Me.ResultScheduleStringLastAnalysedSegment.ToUpper.Contains("DA=")
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ResultScheduldeDateTimeIsValid">
 <summary>
 Returns if curent scheduler defenition is validatet as True/OK
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.RebootIsValid">
 <summary>
 Returns if RebootDo = true and Me.ResultWeekDayOk = true
 </summary>
 <remarks> 
 <br/>#New: 3.2000;10.02.2025;J.Fes
 </remarks>>
</member>
<member name="F:JF.Tools.TimeScheduler_cls.ResultWeekDayOk">
 <summary>
 Returns if WeekDay evaluation ist OK
 </summary>
</member>
<member name="F:JF.Tools.TimeScheduler_cls.DateTimeC_DT">
 <summary>
 contains the time point that is given to be checked if schedule is now active / trigger action
 <br/>#Doc: legacy name was 'DateTimeCompare_p'
 </summary>
</member>
<member name="F:JF.Tools.TimeScheduler_cls.PLastStart_DT">
 <summary>
 contains the time point when process did last started
 </summary>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.TimeScheduleString">
 <summary>
 contains time scheduler string 
  <br/>#Exa: [DA=11.05.2019-14.05.2019 WD=1 WD=2 WD=3 WD=4 WD=5 WD=6 WD=7 TP=15:00] #My Notes
 </summary>
</member>
<member name="F:JF.Tools.TimeScheduler_cls.TimeScheduleSegments">
 <summary>
 Contains time schedule 
 </summary>
</member>
<member name="F:JF.Tools.TimeScheduler_cls.TimeScheduleData">
 <summary>
 Contains TimeScheduleData parsed from TimeScheduleString
 </summary>
</member>
<member name="F:JF.Tools.TimeScheduler_cls.TimeScheduleDescripton_p">
 <summary>
 Keeps Descrption Text as Info  
 </summary>
 <remarks>
 #New: 2.1196;07.04.2013;J.Fes
 </remarks>
</member>
<member name="F:JF.Tools.TimeScheduler_cls.HasNCores">
 <summary>
 If defined, cores can be replaced with #CA# in Job.Schedule (JobsMax)
 </summary>
 <remarks>
 #New: 3.1800;04.01.2024;A.Stein
 #LUp: 3.2000;28.01.2025;J.Fes Replace default valu HasNCores from:Nothing to:0 
 </remarks>
</member>
<member name="P:JF.Tools.TimeScheduler_cls.ScheduleString_is_AtEndOfTime">
 <summary>
 Returns value if Shedule ist at end of time Point or at end of TimeFrame
 <br/>#Doc: see Function: <see cref="M:JF.Tools.TimeScheduler_cls.CheckIf_ScheduleString_is_AtEndOfTime"/>
 </summary>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.CheckIf_ScheduleString_is_AtEndOfTime">
 <summary>
 checks whether Me.DateTimeCompare_p is later than the time period described by the scheduler string
 <br/>Note: The data are evaluated and transferred when ScheduleString_Valid_by_Time is executed
 <br/>#Doc: the result is "true" if Me.DateTimeCompare_p is after or equal to the MAX DateTime of the SchedulerString time period
 <br/>#Doc: the result is "false" if Me.DateTimeCompare_p is before the MAX DateTime of the SchedulerString period
 </summary>
 <remarks>
 #LUp: 2.1195;18.03.2013;J.Fes;Check WD=
 </remarks>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.DateTimeGetMax(System.DateTime,System.DateTime)">
 <summary>
 Returns DateTime max from DateTime1_p // DateTime2_p
 </summary>
 <param name="DateTime1_p"></param>
 <param name="DateTime2_p"></param>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.TimeGetMax(System.DateTime,System.DateTime)">
 <summary>
 Returns DateTime based on DateTime1_p.TimeOfDay DateTime2_p.TimeOfDay
 #Doc: if DateTime2.TimeOfDay > DateTime1.TimeOfDay returns value DateTime2_p
 </summary>
 <param name="DateTime1_p"></param>
 <param name="DateTime2_p"></param>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.TimeScheduleParseData(System.String)">
 <summary>
 setzt ItemName an den anfang des Arrays und schiebt alles andere nach unten 
 </summary>
 <remarks> 
 #LUp: 3.2000;21.01.2025;J.Fes order is now correct
 </remarks>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.ToString">
 <summary>
 Returns TimeScheduler All details as string
 </summary>
 <remarks>
 #New: 2.1196;07.04.2013;J.Fes
 #LUp: 3.2000;25.01.2025;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.ToString1Descrption">
 <summary>
 Returns Description details
 </summary>
 <remarks> 
 #LUp: 3.2000;25.01.2025;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.ToString2ParaAndResParsedData">
 <summary>
 Returns Data details about Parameter and Res:ParsedData  
 </summary>
 <remarks> 
 #LUp: 3.2000;25.01.2025;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.ScheduleString_Valid_by_Time(System.DateTime,System.DateTime,System.String,System.TimeSpan,System.Int32,System.Int32)">
 <summary>
 detects an element of TimeScheduleString in the time range of TimePointCompare_DateTimeNow
 <br/>#Doc: Methode-1 with paramter PLastStart_p
 </summary>
 <param name="TRW_DefaultValue_p">Default Value for TRW.<br/>#Hint: use in JobServer:MyAppl_Settings.ServerSettings.JobClient_WaitTimeForNextServerConnection()</param>
 <param name="TWW_DefaultValue_p">Default Value for TWW.<br/>#Hint: use in JobServer:MyAppl_Settings.ServerSettings.JobClient_TWW_WaitWaitTime</param>
 <remarks>
 <br/>#LUp: 2.1195;18.03.2013;J.Fes;"#Change: verlegt aus dem JobServer in JFProgLib"
 <br/>#LUp: 3.2000;06.02.2025;J.Fes;ReDesing 
 </remarks>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.TimeTxtParse(System.String)">
 <summary>
 Returns for Time Txt_p with Value "0", "00", "00:0" or Empty Value "00:00"
 </summary>
 <remarks> 
 <br/>#New: 3.2000;18.02.2026;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.ScheduleString_Valid_by_Time(System.DateTime,System.String,System.TimeSpan,System.Int32,System.Int32)">
 <summary>
 detects an element of TimeScheduleString in the time range of TimePointCompare_DateTimeNow 
 <br/>#Doc Methode-2 without parameter PLastStart_p
 </summary>
 <remarks> 
 <br/>#LUp: 3.2000;06.02.2025;J.Fes
 <br/>#LUp: 3.2000;13.03.2025;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.CheckIf_DateTimeCompare_IsValid(System.DateTime,System.DateTime)">
 <summary>
  checks if TimePointC_p is beween TimePointL_p and TimePointR_p
  <br/>#Doc: see doc inside 
 </summary>
 <remarks> 
 #New: 3.1489;23.05.2019;J.Fes
 #LUp: 3.2000;23.01.2025;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.Reboot_Valid_by_Time(System.String,System.DateTime)">
 <summary>
 Checks if Reboot is valid
 </summary>
 <remarks> 
 #New: 3.2000;03.02.2025;J.Fes
 </remarks>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.RedoCalc(System.DateTime,System.DateTime,System.DateTime,System.DateTime,System.DateTime,System.DateTime,System.DateTime,System.String@)">
 <summary>
 <br/>Evaluates/Calulates for ReDo scheduling if Client current DateTime is valid
 <br/>#Doc: see: file://V:/JobManager/ProgEntw/Ver03/JobManagerV3/10-Documentation.Application.Working/03-Documentation_Usage/02-JobManager_Docu_User_en.pptx
 <br/>#Doc:      |-> @Slides: 'Control times via Scheduling'  -> 'Graphical Overview Scheduling Key and Assignments'
 </summary>
 <remarks> 
 <br/>#New: 3.1489;23.05.2019;J.Fes
 <br/>#LUp: 3.2000;29.01.2025;J.Fes Refactoring
 <br/>#LUp: 3.2000;18.02.2026;J.Fes add RedoStartOffset + Optimisation
 </remarks>
 <param name="DTCient_p">        <br/>JobClient current DatetimePoint</param> 
 <param name="PStartLast_p">     <br/>Process started last DateTimePoint</param> 
 <param name="RedoStartOffset_p"><br/>Redo Start time offset
                                 <br/>#Exa: [WD=* TS=00:00-00:00 ReDo=00:30 RedoStartOffset=00:10 TOverLap=00:00:60] defines that trigger1:0+1min=60sec trigger2:600+1min=660sec trigger3:1260sec trigger4:1860sec ...
 <param name="ToL_p">Compare TimeOfDay Left</param>
 <param name="ToR_p">Compare TimeOfDay Right</param>
 <param name="DoL_p">Compare Datetime Left</param>
 <param name="DoR_p">Compare Datetime Right</param>
 </param>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.DateTimeIsTimeNull(System.DateTime)">
 <summary>
 Returns if Time of DateTime = 00:00
 </summary>
 <param name="DateTime_p"></param>
</member>
<member name="M:JF.Tools.TimeScheduler_cls.DateTimeChkEndOfDay(System.DateTime,System.DateTime)">
 <summary>
 Checks if DateTimeChk_p.TimeOfDay.TotalSeconds = 0 and returns Based on DateTimeBase_p the DateTime for the Day
 </summary>
</member>
<member name="T:JF.Tools.JobClientControl_cls">
 <summary>
 JobClientControl Class is used to organise the JobClient actions
 </summary>
</member>
<member name="P:JF.Tools.JobClientControl_cls.JobExecuteMax">
 <summary>
 contains Number of jobs that are currently allowed to run simultaneously on the client
 </summary>
</member>
<member name="P:JF.Tools.JobClientControl_cls.RedoIntervall">
 <summary>
 contains the number of redo (sec) #EXA:[Redo=600]
 </summary>
 <remarks>
 #New: 2.1210;13.08.2014;J.Fes
 </remarks>
</member>
<member name="P:JF.Tools.JobClientControl_cls.RedoIntervallActiv">
 <summary>
 returns if redo is activ
 </summary>
 <remarks> 
 #New: 3.1489;23.05.2019;J.Fes
 #LUp: 3.2000;14.02.2024;S.Gueth
 </remarks>
</member>
<member name="P:JF.Tools.JobClientControl_cls.LastReboot_DT">
 <summary>
 Contains Host Last Reboot Date + Time
 </summary>
 <remarks> 
 <br/>#New: 3.2000;11.02.2025;J.Fes
 </remarks>>
</member>
<member name="P:JF.Tools.JobClientControl_cls.RebootDo">
 <summary>
 returns if Type:Reboot is active
 </summary>
</member>
<member name="P:JF.Tools.JobClientControl_cls.TestModeAktive">
 <summary>
 returns if JobClient is in TestMode 
 </summary>
</member>
<member name="T:JF.Tools.UtcDateTime">
 <summary>
 Repräsentiert ein <see cref="T:System.DateTime"/>-Objekt, das garantiert im UTC-Zeitformat vorliegt und XML-serialisierbar ist.
 </summary>
 <remarks>
  Diese Struktur erzwingt UTC-Zeit durch Konstruktorlogik oder automatische Konvertierung lokaler Zeitangaben.
  Bei XML-Serialisierung erfolgt die Ausgabe im UTC-Format gemäß ISO 8601 („...Z“).
  Nicht definierte Werte (Unspecified) werden explizit abgelehnt.
  Der Minimalwert (<see cref="P:JF.Tools.UtcDateTime.MinValue"/>) wird intern zur Repräsentation von Null- oder leeren XML-Werten verwendet.
  #New: 16.09.2025;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.UtcDateTime.#ctor(System.DateTime)">
 <summary>
 Erstellt eine neue Instanz von <see cref="T:JF.Tools.UtcDateTime"/> aus einem <see cref="T:System.DateTime"/>.
 </summary>
 <param name="inputTimestamp">Ein DateTime-Wert mit Kind = Utc oder Local. Local wird in UTC konvertiert. Unspecified ist nicht erlaubt.</param>
 <exception cref="T:System.ArgumentException">Wird ausgelöst, wenn der <paramref name="inputTimestamp"/> den DateTimeKind „Unspecified“ besitzt.</exception>
</member>
<member name="P:JF.Tools.UtcDateTime.Value">
 <summary>
 Gibt den enthaltenen <see cref="T:System.DateTime"/>-Wert im UTC-Format zurück.
 </summary>
 <value>Ein UTC-<see cref="T:System.DateTime"/>.</value>
</member>
<member name="M:JF.Tools.UtcDateTime.op_Implicit(System.DateTime)~JF.Tools.UtcDateTime">
 <summary>
 Ermöglicht die automatische Konvertierung eines <see cref="T:System.DateTime"/> nach <see cref="T:JF.Tools.UtcDateTime"/>.
 </summary>
 <param name="d">Ein DateTime-Wert mit Kind = Utc oder Local.</param>
 <returns>Eine neue Instanz von <see cref="T:JF.Tools.UtcDateTime"/>.</returns>
</member>
<member name="M:JF.Tools.UtcDateTime.op_Implicit(JF.Tools.UtcDateTime)~System.DateTime">
 <summary>
 Ermöglicht die automatische Konvertierung eines <see cref="T:JF.Tools.UtcDateTime"/> zurück zu <see cref="T:System.DateTime"/>.
 </summary>
 <param name="u">Ein <see cref="T:JF.Tools.UtcDateTime"/>.</param>
 <returns>Der enthaltene UTC-<see cref="T:System.DateTime"/>.</returns>
</member>
<member name="M:JF.Tools.UtcDateTime.ToString">
 <summary>
 Gibt den UTC-Zeitwert im ISO-8601-kompatiblen XML-Format zurück (inkl. „Z“-Suffix).
 </summary>
 <returns>Der serialisierte Zeitwert als Zeichenfolge.</returns>
</member>
<member name="M:JF.Tools.UtcDateTime.Parse(System.String,System.Nullable{JF.Tools.UtcDateTime})">
 <summary>
 Parses a serialized UTC date/time string into a <see cref="T:JF.Tools.UtcDateTime"/> instance.
 </summary>
 <param name="serializedUtcDateTime">The date/time string to parse, expected in a valid XML-compliant UTC format.</param>
 <param name="defaultResult">
 Optional fallback result returned if parsing fails; if not provided, an exception is thrown upon failure.
 </param>
 <returns>
 A <see cref="T:JF.Tools.UtcDateTime"/> instance representing the parsed date and time, or <paramref name="defaultResult"/> if parsing fails and is provided.
 </returns>
 <remarks>
   Throws if input is null or empty and no fallback is given.  
   Parsing uses <see cref="M:System.Xml.XmlConvert.ToDateTimeOffset(System.String)"/> and always returns time in UTC.  
   Parsing exceptions are caught; <paramref name="defaultResult"/> is returned if provided.  
   #New: 17.09.2025;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.UtcDateTime.TryParse(System.String,JF.Tools.UtcDateTime@)">
 <summary>
 Tries to parse a serialized UTC date/time string into a <see cref="T:JF.Tools.UtcDateTime"/> instance without throwing exceptions.
 </summary>
 <param name="serializedUtcDateTime">The date/time string to parse, expected in a valid XML-compliant format.</param>
 <param name="resultUtcDateTime">The resulting <see cref="T:JF.Tools.UtcDateTime"/> if parsing succeeds; otherwise <see cref="P:JF.Tools.UtcDateTime.MinValue"/>.</param>
 <returns>
 <c>True</c> if parsing succeeded; <c>False</c> otherwise.
 </returns>
 <remarks>
   Automatically appends a "Z" suffix if no offset is present to ensure UTC interpretation.  
   Fails silently by returning <c>False</c> and setting <paramref name="resultUtcDateTime"/> to <see cref="P:JF.Tools.UtcDateTime.MinValue"/>.  
   Uses <see cref="M:System.Xml.XmlConvert.ToDateTimeOffset(System.String)"/> internally.  
   #New: 17.09.2025;A.Becker
 </remarks>
</member>
<member name="M:JF.Tools.UtcDateTime.PrepareSerializedUtcDateTime(System.String@,System.Exception@)">
 <summary>
 Prepares and validates the serialized date/time string by trimming and ensuring proper UTC notation.
 </summary>
 <param name="serializedUtcDateTime">The string to validate and prepare.</param>
 <param name="invalidException">The resulting exception if validation fails; otherwise <c>Nothing</c>.</param>
 <returns>
 <c>True</c> if the input is valid and has been prepared; <c>False</c> if validation failed.
 </returns>
</member>
<member name="M:JF.Tools.UtcDateTime.HasOffsetOrZ(System.String)">
 <summary>
 Determines whether the specified string ends with a UTC offset or the "Z" UTC suffix.
 </summary>
 <param name="s">The string to check.</param>
 <returns><c>True</c> if the string ends with a UTC offset or "Z"; otherwise, <c>False</c>.</returns>
</member>
<member name="M:JF.Tools.UtcDateTime.GetSchema">
 <summary>
 Wird für die XML-Schema-Generierung nicht verwendet.
 </summary>
 <returns>Immer <c>Nothing</c>.</returns>
</member>
<member name="M:JF.Tools.UtcDateTime.WriteXml(System.Xml.XmlWriter)">
 <summary>
 Serialisiert den UTC-Zeitwert als XML-Zeichenfolge.
 </summary>
 <param name="writer">Das <see cref="T:System.Xml.XmlWriter"/>-Objekt zum Schreiben.</param>
</member>
<member name="M:JF.Tools.UtcDateTime.ReadXml(System.Xml.XmlReader)">
 <summary>
 Deserialisiert einen Zeitwert aus einer XML-Zeichenfolge. Leere oder „nil“-Elemente ergeben <see cref="F:System.DateTime.MinValue"/> in UTC.
 </summary>
 <param name="reader">Das <see cref="T:System.Xml.XmlReader"/>-Objekt zum Lesen.</param>
</member>
<member name="P:JF.Tools.UtcDateTime.MinValue">
 <summary>
 Gibt den UTC-Minimalwert für <see cref="T:JF.Tools.UtcDateTime"/> zurück. Praktisch für Null- oder leere XML-Werte.
 </summary>
 <value>Ein <see cref="T:JF.Tools.UtcDateTime"/> mit Wert <see cref="F:System.DateTime.MinValue"/> (UTC).</value>
</member>
<member name="P:JF.Tools.UtcDateTime.Now">
 <summary>
 Gibt den UTC-Minimalwert für <see cref="T:JF.Tools.UtcDateTime"/> zurück. Praktisch für Null- oder leere XML-Werte.
 </summary>
 <value>Ein <see cref="T:JF.Tools.UtcDateTime"/> mit Wert <see cref="P:System.DateTime.UtcNow"/> (UTC).</value>
</member>
<member name="T:JF.Tools.VisualBasicLegacyMethodsForNetStandard">
 <summary>
 Compatibility Class to support various VB-internal methods not supported in .NETSTANDARD
 When compiling for other than NETSTANDARD the methods simply forward to the Microsoft.VisualBasic.Strings methods.
 </summary>
 <remarks>
 #New: 3.2000;30.04.2024;A.Becker
 </remarks>
</member>
<member name="T:JF.Tools.Wildcard_cls">
 <summary>
 Stellt einen unveränderlichen Wildcard dar.
 Basiert intern auf der RegEx Implementierung aus System.Text.RegularExpressions.
 </summary>
</member>
<member name="M:JF.Tools.Wildcard_cls.#ctor(System.String)">
 <summary>
 Initialisiert eine neue Instanz der Wildcard_cls Klasse mit dem angegebenen Wildcard String
 </summary>
 <param name="wildcardPattern">für diese Instanz zu nutzender Wildcard String</param>
</member>
<member name="M:JF.Tools.Wildcard_cls.#ctor(System.String,System.Text.RegularExpressions.RegexOptions)">
 <summary>
 Initialisiert eine neue Instanz der Wildcard_cls Klasse mit dem angegebenen Wildcard String unter Angebe weiterer Optionen
 </summary>
 <param name="wildcardPattern">für diese Instanz zu nutzender Wildcard String</param>
 <param name="options">weitere Optionen für diese Wildcard_cls Instanz</param>
</member>
<member name="M:JF.Tools.Wildcard_cls.WildcardToRegex(System.String)">
 <summary>
 Konvertiert einen Wildcard-String in einen entsprechenden regulären Ausdruck
 </summary>
 <param name="wildcardPattern">zu konvertierender Wildcard String</param>
 <returns>Regulärer Ausdruck, der dem zu konvertierenden Wildcard String entspricht</returns>
</member>
<member name="M:JF.Tools.Wildcard_cls.IsMatch(System.String,System.String)">
 <summary>
 Gibt an, ob der Wildcard String in der angegebenen Eingabezeichenfolge eine Entsprechung findet
 </summary>
 <param name="input">die nach einer Übereinstimmung zu durchsuchende Zeichenfolge</param>
 <param name="wildcardPattern">das Wildcard Muster zu dem die Übereinstimmung gesucht werden soll</param>
 <returns>true, wenn die Eingabezeichenfolge dem angegebenen Wildcard entspricht</returns>
</member>
<member name="M:JF.Tools.Wildcard_cls.IsMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
 <summary>
 Gibt an, ob der Wildcard String in der angegebenen Eingabezeichenfolge eine Entsprechung findet
 </summary>
 <param name="input">die nach einer Übereinstimmung zu durchsuchende Zeichenfolge</param>
 <param name="wildcardPattern">das Wildcard Muster zu dem die Übereinstimmung gesucht werden soll</param>
 <param name="options">eine bitweise OR Verknüpfung von RegexOptions</param>
 <returns>true, wenn die Eingabezeichenfolge dem angegebenen Wildcard entspricht</returns>
</member>
<member name="M:JF.Tools.Wildcard_cls.Match(System.String,System.String)">
 <summary>
 Durchsucht die angegebene Eingabezeichenfolge nach einem Vorkommen des im pattern vorgegebenen Wildcard Strings
 </summary>
 <param name="input">die nach einer Übereinstimmung zu durchsuchende Zeichenfolge</param>
 <param name="wildcardPattern">das Wildcard Muster zu dem die Übereinstimmung gesucht werden soll</param>
 <returns>die erste gefundene Übereinstimmung</returns>
</member>
<member name="M:JF.Tools.Wildcard_cls.Match(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
 <summary>
 Durchsucht die angegebene Eingabezeichenfolge nach einem Vorkommen des im pattern vorgegebenen Wildcard Strings
 </summary>
 <param name="input">die nach einer Übereinstimmung zu durchsuchende Zeichenfolge</param>
 <param name="wildcardPattern">das Wildcard Muster zu dem die Übereinstimmung gesucht werden soll</param>
 <param name="options">eine bitweise OR Verknüpfung von RegexOptions</param>
 <returns>die erste gefundene Übereinstimmung</returns>
</member>
<member name="M:JF.Tools.Wildcard_cls.Matches(System.String,System.String)">
 <summary>
 Durchsucht die angegebene Eingabezeichenfolge nach allen Vorkommen des im pattern vorgegebenen Wildcard Strings
 </summary>
 <param name="input">die nach einer Übereinstimmung zu durchsuchende Zeichenfolge</param>
 <param name="wildcardPattern">das Wildcard Muster zu dem die Übereinstimmung gesucht werden soll</param>
 <returns>Collection mit Übereinstimmungen</returns>
</member>
<member name="M:JF.Tools.Wildcard_cls.Matches(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
 <summary>
 Durchsucht die angegebene Eingabezeichenfolge nach allen Vorkommen des im pattern vorgegebenen Wildcard Strings
 </summary>
 <param name="input">die nach einer Übereinstimmung zu durchsuchende Zeichenfolge</param>
 <param name="wildcardPattern">das Wildcard Muster zu dem die Übereinstimmung gesucht werden soll</param>
 <param name="options">eine bitweise OR Verknüpfung von RegexOptions</param>
 <returns>Collection mit Übereinstimmungen</returns>
</member>
<member name="M:JF.Tools.DevelopmentGuidlineDokumentation.TestExample">
 <summary>
 Descripe methode
 <para/>#Doc: My descrption XXX 
 </summary>
 <remarks> 
 #New: 3.1489;17.04.2019;J.Fes
 </remarks>
</member>
</members>
</doc>
