Version 3.5.4.0: Verbesserungen und Refactoring

Die Assembly-Version wurde auf 3.5.4.0 aktualisiert.
In `clsPatterns.vb` wurden neue Ersetzungen (`INT_VALUE_WMDocID`, `INT_VALUE_IDBID`) hinzugefügt.
Die Methode `ReplacePattern` unterstützt nun einen optionalen Parameter `value`, um gezielte Ersetzungen zu ermöglichen.
Die Logik der Methode wurde entsprechend erweitert.

In `taskFLOW.vbproj` wurde die Referenz auf `DigitalData.Controls.DocumentViewer` aktualisiert und der Pfad auf das neue Verzeichnis `DDMonorepo` geändert.
Ein `<SubType>`-Eintrag wurde für `frmMain.aa.resx` hinzugefügt.
This commit is contained in:
Developer01
2026-10-02 18:27:46 +02:00
parent 8063a893d3
commit e425835d28
3 changed files with 22 additions and 21 deletions

View File

@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("3.5.3.0")> <Assembly: AssemblyVersion("3.5.4.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")> <Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: NeutralResourcesLanguage("")> <Assembly: NeutralResourcesLanguage("")>

View File

@@ -193,32 +193,29 @@ Public Class clsPatterns
Public Shared Function ReplaceInternalValues(pInput As String) As String Public Shared Function ReplaceInternalValues(pInput As String) As String
Dim oResult = pInput Dim oResult = pInput
Try Try
' Replace Username(s)
While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_USERNAME) While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_USERNAME)
oResult = ReplacePattern(oResult, PATTERN_INT, USER_USERNAME) oResult = ReplacePattern(oResult, PATTERN_INT, USER_USERNAME, INT_VALUE_USERNAME)
End While End While
' Replace Machinename(s)
While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_MACHINE) While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_MACHINE)
oResult = ReplacePattern(oResult, PATTERN_INT, Environment.MachineName) oResult = ReplacePattern(oResult, PATTERN_INT, Environment.MachineName, INT_VALUE_MACHINE)
End While End While
' Replace Domainname(s)
While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_DOMAIN) While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_DOMAIN)
oResult = ReplacePattern(oResult, PATTERN_INT, Environment.UserDomainName) oResult = ReplacePattern(oResult, PATTERN_INT, Environment.UserDomainName, INT_VALUE_DOMAIN)
End While End While
' Replace CurrentDate(s)
While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_DATE) While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_DATE)
oResult = ReplacePattern(oResult, PATTERN_INT, Now.ToShortDateString) oResult = ReplacePattern(oResult, PATTERN_INT, Now.ToShortDateString, INT_VALUE_DATE)
End While End While
While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_WMDocID) While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_WMDocID)
oResult = ReplacePattern(oResult, PATTERN_INT, CURRENT_DOC_ID) oResult = ReplacePattern(oResult, PATTERN_INT, CURRENT_DOC_ID, INT_VALUE_WMDocID)
End While End While
While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_IDBID) While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_IDBID)
oResult = ReplacePattern(oResult, PATTERN_INT, CURRENT_DOC_ID) oResult = ReplacePattern(oResult, PATTERN_INT, CURRENT_DOC_ID, INT_VALUE_IDBID)
End While End While
Return oResult Return oResult
@@ -644,7 +641,7 @@ Public Class clsPatterns
Return results Return results
End Function End Function
Public Shared Function ReplacePattern(input As String, type As String, replacement As String) As String Public Shared Function ReplacePattern(input As String, type As String, replacement As String, Optional value As String = Nothing) As String
Dim elements As MatchCollection = MyRegex.Matches(input) Dim elements As MatchCollection = MyRegex.Matches(input)
If IsNothing(replacement) Then If IsNothing(replacement) Then
@@ -652,14 +649,18 @@ Public Class clsPatterns
End If End If
For Each element As Match In elements For Each element As Match In elements
' if group 1 contains the 'pattern' the replace whole group with 'replacement' Dim matchType As String = element.Groups(1).Value
' and return it Dim matchValue As String = element.Groups(2).Value
If element.Groups(1).Value = type Then
Return Regex.Replace(input, element.Groups(0).Value, replacement) If matchType = type Then
' ► Wenn ein Value angegeben wurde, nur exakt diesen ersetzen
If value IsNot Nothing AndAlso matchValue <> value Then
Continue For
End If
Return Regex.Replace(input, Regex.Escape(element.Groups(0).Value), replacement)
End If End If
Next Next
' no replacement made
Return input Return input
End Function End Function

View File

@@ -151,9 +151,8 @@
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.XtraVerticalGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraVerticalGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DigitalData.Controls.DocumentViewer, Version=2.6.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Controls.DocumentViewer">
<SpecificVersion>False</SpecificVersion> <HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll</HintPath>
<HintPath>..\..\..\..\2_DLL Projekte\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Controls.LookupGrid"> <Reference Include="DigitalData.Controls.LookupGrid">
<HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.LookupGrid\bin\Debug\DigitalData.Controls.LookupGrid.dll</HintPath> <HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.LookupGrid\bin\Debug\DigitalData.Controls.LookupGrid.dll</HintPath>
@@ -935,6 +934,7 @@
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmMain.aa.resx"> <EmbeddedResource Include="frmMain.aa.resx">
<DependentUpon>frmMain.vb</DependentUpon> <DependentUpon>frmMain.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmMain.en.resx"> <EmbeddedResource Include="frmMain.en.resx">
<DependentUpon>frmMain.vb</DependentUpon> <DependentUpon>frmMain.vb</DependentUpon>