From e1a2005d8af2a68efc93241b5e023ecb21a86fdb Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Wed, 30 Dec 2020 14:11:04 +0100 Subject: [PATCH] MS --- ToolCollection/ClassNIWindream.vb | 3 + ToolCollection/My Project/AssemblyInfo.vb | 2 +- ToolCollection/frmDIHauptseite.vb | 86 ++++++---- ToolCollection/frmNIHauptseite.vb | 158 +++++++++++++----- .../frmNIVerknuepfungen.Designer.vb | 45 +++-- ToolCollection/frmNIVerknuepfungen.resx | 4 - ToolCollection/frmNIVerknuepfungen.vb | 91 +++++----- ToolCollection/frmStart.vb | 21 ++- 8 files changed, 259 insertions(+), 151 deletions(-) diff --git a/ToolCollection/ClassNIWindream.vb b/ToolCollection/ClassNIWindream.vb index ef2a182..f8c119f 100644 --- a/ToolCollection/ClassNIWindream.vb +++ b/ToolCollection/ClassNIWindream.vb @@ -455,6 +455,9 @@ Public Class ClassNIWindream ' _Logger.Debug("Typ des windream-Indexes: 36865 Vektor alphanumerisch") 'Vektor Kommazahl vektor = True + Case 8193 + _Logger.Debug("Typ des WMIndexes: manuellerVolltext") + convertValue = CStr(value) Case Else _Logger.Warn("Typ des windream-Indexes konnte nicht bestimmt werden!") _Logger.Debug("Versuch des Auslesens (vType): " & vType) diff --git a/ToolCollection/My Project/AssemblyInfo.vb b/ToolCollection/My Project/AssemblyInfo.vb index 8779692..9e4cf28 100644 --- a/ToolCollection/My Project/AssemblyInfo.vb +++ b/ToolCollection/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + diff --git a/ToolCollection/frmDIHauptseite.vb b/ToolCollection/frmDIHauptseite.vb index bed645b..7a13134 100644 --- a/ToolCollection/frmDIHauptseite.vb +++ b/ToolCollection/frmDIHauptseite.vb @@ -1998,7 +1998,17 @@ Public Class frmDIHauptseite End If Case WMObjectVariableValueTypeInteger - convertValue = CInt(werte) + Try + convertValue = CInt(werte) + Catch ex As Exception + ClassLoggerDI.Add("Convert value to integer", $"Error while converting value [{werte}] to integer", ex) + indexInfos.Add($"Error while converting value [{werte}] to integer") + Return indexInfos + + + End Try + Case 11 + convertValue = Convert.ToInt64(werte) Case WMObjectVariableValueTypeFloat werte = werte.ToString.Replace(".", ",") convertValue = CDbl(werte) @@ -2056,74 +2066,82 @@ Public Class frmDIHauptseite Case WMObjectVariableValueTypeDefaultValue ' zu klären !!!! convertValue = vbEmpty + Case Else ' wenn es sich um einen TypVektorIndex handelt If TypDesIndexes >= 4096 And TypDesIndexes < 8192 Or TypDesIndexes = 36865 Then If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- Es handelt sich um einen Vektorindex", False) - Dim temp_arr As New ArrayList + Dim oTemp_arr As New ArrayList Select Case TypDesIndexes Case 4097 If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4097", False) For Each wert As Object In werte - ''Führende Nullen Entfernen - 'If werte.ToString.StartsWith("0") Then - ' Dim werteString As String = CStr(CInt(wert.ToString)) - ' wert = werteString - ' temp_arr.Add(CStr(wert)) - ' ClassLoggerDI.Add("- Führende Nullen wurden entfernt", False) - 'Else - ' temp_arr.Add(CStr(wert)) - 'End If - temp_arr.Add(CStr(wert)) + oTemp_arr.Add(CStr(wert)) If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- Wert " & CStr(wert) & " konvertiert", False) Next Case 4098 If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4098 Integer", False) If count_Values = 1 Then - temp_arr.Add(CInt(werte)) + oTemp_arr.Add(CInt(werte)) Else For Each wert As Object In werte - temp_arr.Add(CInt(wert)) + oTemp_arr.Add(CInt(wert)) Next End If Case 4099 If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4099 (Float)", False) - For Each wert As Object In werte - wert = wert.ToString.Replace(".", ",") - temp_arr.Add(CDbl(wert)) - Next + If count_Values = 1 Then + werte = werte.ToString.Replace(".", ",") + oTemp_arr.Add(CDbl(werte)) + Else + For Each wert As Object In werte + wert = wert.ToString.Replace(".", ",") + oTemp_arr.Add(CDbl(wert)) + Next + End If + Case 4100 If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4100 (Boolean)", False) If count_Values = 1 Then - temp_arr.Add(CBool(werte)) + oTemp_arr.Add(CBool(werte)) Else For Each wert As Object In werte - temp_arr.Add(CBool(wert)) + oTemp_arr.Add(CBool(wert)) Next + End If Case 4101 If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 4101 Date", False) For Each wert As Object In werte 'wert = - temp_arr.Add(CDate(wert)) + oTemp_arr.Add(CDate(wert)) Next + Case 4107 ' Vektor64bit + oTemp_arr.Add(Convert.ToInt64(werte)) + 'convertValue = Convert.ToInt64(werte) Case WMObjectVariableValueTypeTimeStamp If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ DateTime " & WMObjectVariableValueTypeTimeStamp.ToString, False) For Each wert As Object In werte - temp_arr.Add(CLng(wert)) + oTemp_arr.Add(CLng(wert)) Next Case 4104 If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ Currency", False) For Each wert As Object In werte Dim aValue As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(werte) - temp_arr.Add(aValue) + oTemp_arr.Add(aValue) Next Case 4107 If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ Integer 64bit", False) - For Each wert As Object In werte - temp_arr.Add(CInt(wert)) - Next + + If count_Values = 1 Then + oTemp_arr.Add(Convert.ToInt64(werte)) + Else + For Each wert As Object In werte + oTemp_arr.Add(Convert.ToInt64(wert)) + Next + + End If Case 36865 If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex vom Typ 36865", False) 'For Each wert As Object In werte @@ -2141,9 +2159,9 @@ Public Class frmDIHauptseite ' If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- Wert " & CStr(wert) & " konvertiert", False) 'Next Try - temp_arr.Add(CStr(werte)) + oTemp_arr.Add(CStr(werte)) Catch ex As Exception - temp_arr.Add(werte) + oTemp_arr.Add(werte) End Try Case WMObjectVariableValueTypeUndefined If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex Undefined", False) @@ -2152,21 +2170,21 @@ Public Class frmDIHauptseite If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex Boolean", False) For Each wert As Object In werte Try - temp_arr.Add(CBool(wert)) + oTemp_arr.Add(CBool(wert)) Catch ex As Exception ' Nothing zuweisen damit SetVariableValue nicht ausgeführt wird - temp_arr = Nothing + oTemp_arr = Nothing End Try Next Case WMObjectVariableValueTypeFixedPoint If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex WMObjectVariableValueTypeFixedPoint", False) For Each wert As Object In werte - temp_arr.Add(CDbl(wert)) + oTemp_arr.Add(CDbl(wert)) Next Case WMObjectVariableValueTypeTime If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex WMObjectVariableValueTypeTime", False) For Each wert As Object In werte - temp_arr.Add(CDate(wert)) + oTemp_arr.Add(CDate(wert)) Next Case WMObjectVariableValueTypeVariant If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- VektorIndex WMObjectVariableValueTypeVariant", False) @@ -2206,10 +2224,10 @@ Public Class frmDIHauptseite 'End Select - If temp_arr.Count > 0 Then + If oTemp_arr.Count > 0 Then If My.Settings.vLogErrorsonly = False Then ClassLoggerDI.Add("- Einträge in temp_arr also Speichern des Arrays in convertValue", False) convertValue = Nothing - convertValue = temp_arr.ToArray + convertValue = oTemp_arr.ToArray Else convertValue = vbEmpty End If diff --git a/ToolCollection/frmNIHauptseite.vb b/ToolCollection/frmNIHauptseite.vb index a8570e1..b13ab42 100644 --- a/ToolCollection/frmNIHauptseite.vb +++ b/ToolCollection/frmNIHauptseite.vb @@ -1292,6 +1292,10 @@ Public Class frmNIHauptseite If Me.aktivesProfil.SQL_Anweisung.StartsWith("EXECUTEVB") Then _Logger.Debug("Execute VB-Script after indexing......") Dim oVBScriptRAW As String = Me.aktivesProfil.SQL_Anweisung.Replace("EXECUTEVB ", "") + oVBScriptRAW = oVBScriptRAW.Replace("EXECUTEVB", "") + oVBScriptRAW = oVBScriptRAW.Replace("EXECUTEVB ", "") + + _Logger.Debug("oVBScriptRAW [" & oVBScriptRAW & "]") ' Regulären Ausdruck zum Auslesen der windream-Indexe definieren Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" @@ -1337,69 +1341,137 @@ Public Class frmNIHauptseite 'MsgBox(Me.aktivesDokument.aPath & vbNewLine & vbNewLine & Me.aktivesDokument.aName) Next - _Logger.Debug("VBSCRIPTCOMMAND after replacing variables: " & oVBScriptCommand) + _Logger.Debug("VBSCRIPTCOMMAND after replacing variables [" & oVBScriptCommand & "]") Try Dim oArrParams As String() oArrParams = oVBScriptCommand.Split("#") - _Logger.Debug("VBSplit1 - Path: " & oArrParams(0).ToString) - - - Dim myProcess As New Process - Dim oProcessID - myProcess.StartInfo.FileName = oArrParams(0) - - ' Dim startInfo As New ProcessStartInfo(arr_split(0)) - ' startInfo.CreateNoWindow = True - Dim oParamArg As String = "" - - Dim i As Integer = 0 - Dim oStepArg As String - For Each oParam As String In oArrParams - If i <> 0 Then - If i = 1 Then - oStepArg = $"""{oParam.Replace("'", """")}""" - Else - oStepArg = $" ""{oParam.Replace("'", """")}""" + _Logger.Debug("VBSCRIPTCOMMAND - Path [" & oArrParams(0).ToString & "]") + Dim oVBScriptFile = oArrParams(0).ToString + _Logger.Debug("oVBScriptFile - Path [" & oVBScriptFile & "]") + If File.Exists(oVBScriptFile) Then + Dim start As New ProcessStartInfo + Dim task As New Process + + Dim oParamArg As String = "" + + Dim i As Integer = 0 + Dim oStepArg As String + For Each oParam As String In oArrParams + If i <> 0 Then + If i = 1 Then + oStepArg = $"{oParam.Replace("'", """")}" + Else + oStepArg = $" {oParam.Replace("'", """")}" + End If + oParamArg += oStepArg End If - oParamArg += oStepArg - End If - - i += 1 - Next - myProcess.StartInfo.Arguments = oParamArg - _Logger.Debug("Argument from myProcess: " & myProcess.StartInfo.Arguments) - myProcess.Start() - - 'Process.Start(startInfo) - - oProcessID = myProcess.Id - _Logger.Debug("Script executed!") - - If IsNumeric(oProcessID) Then - _Logger.Debug("got an PROCID: " & oProcessID.ToString) + i += 1 + Next - Dim oMyProcess As Process - oMyProcess = Process.GetProcessById(oProcessID) + Dim args As String = String.Format("""{0}"" ""{1}""", oArrParams(0).ToString, oParamArg) + start.FileName = "C:\WINDOWS\system32\cscript.exe" + start.Arguments = args + _Logger.Debug("Argument(s) For myProcess [" & args & "]") + start.UseShellExecute = False + ' start.RedirectStandardOutput = True + ' start.RedirectStandardError = False + task.StartInfo = start + task.StartInfo.CreateNoWindow = True Dim _sw As Stopwatch = New Stopwatch() _sw.Start() - - Do While oMyProcess.HasExited = False - + task.Start() + ' so = task.StandardOutput + Do While task.HasExited = False If _sw.Elapsed.TotalSeconds = 30 Then - _Logger.Debug("Still waiting (30 sec) for ending of process-id: " & oProcessID.ToString) + _Logger.Debug("Still waiting (30 sec) for ending of Task") ElseIf _sw.Elapsed.TotalMinutes = 1 Then - _Logger.Debug("Still waiting (60 sec) for ending of process-id: " & oProcessID.ToString & " - Exit now", True) + _Logger.Debug("Still waiting (60 sec) for ending of Task - Exit now", True) Exit Do End If Loop _Logger.Debug("...process has exited: ") _sw.Stop() + + 'Dim myProcess As New Process + 'Dim oProcessID + 'myProcess.StartInfo.FileName = oVBScriptFile + + 'Dim startInfo As New ProcessStartInfo(oVBScriptFile) + 'startInfo.CreateNoWindow = True + 'myProcess.StartInfo.Arguments = oParamArg + '_Logger.Debug("Argument For myProcess [" & myProcess.StartInfo.Arguments & "]") + 'myProcess.Start() + 'oProcessID = myProcess.Id + '_Logger.Debug("Script executed!") + 'If IsNumeric(oProcessID) Then + ' _Logger.Debug("got an PROCID: " & oProcessID.ToString) + + + ' Dim oMyProcess1 As Process + ' oMyProcess1 = Process.GetProcessById(oProcessID) + + ' Dim _sw1 As Stopwatch = New Stopwatch() + ' _sw1.Start() + + ' Do While oMyProcess1.HasExited = False + + ' If _sw1.Elapsed.TotalSeconds = 30 Then + ' _Logger.Debug("Still waiting (30 sec) for ending of process-id: " & oProcessID.ToString) + ' ElseIf _sw1.Elapsed.TotalMinutes = 1 Then + ' _Logger.Debug("Still waiting (60 sec) for ending of process-id: " & oProcessID.ToString & " - Exit now", True) + ' Exit Do + ' End If + ' Loop + ' _Logger.Debug("...process has exited: ") + ' _sw1.Stop() + 'End If + + + + Else + _Logger.Warn($"VBSCRIPT not File.exists: {oVBScriptFile}") End If + + + 'task.WaitForExit() + ' MsgBox(so.ReadToEnd) + 'myProcess.StartInfo.Arguments = oParamArg + '_Logger.Debug("Argument For myProcess [" & myProcess.StartInfo.Arguments & "]") + 'myProcess.Start() + + ''Process.Start(startInfo) + + 'oProcessID = myProcess.Id + '_Logger.Debug("Script executed!") + + 'If IsNumeric(oProcessID) Then + ' _Logger.Debug("got an PROCID: " & oProcessID.ToString) + + + ' Dim oMyProcess As Process + ' oMyProcess = Process.GetProcessById(oProcessID) + + ' Dim _sw As Stopwatch = New Stopwatch() + ' _sw.Start() + + ' Do While oMyProcess.HasExited = False + + ' If _sw.Elapsed.TotalSeconds = 30 Then + ' _Logger.Debug("Still waiting (30 sec) for ending of process-id: " & oProcessID.ToString) + ' ElseIf _sw.Elapsed.TotalMinutes = 1 Then + ' _Logger.Debug("Still waiting (60 sec) for ending of process-id: " & oProcessID.ToString & " - Exit now", True) + ' Exit Do + ' End If + ' Loop + ' _Logger.Debug("...process has exited: ") + ' _sw.Stop() + 'End If + Catch ex As Exception _Logger.Warn("Unexpected error in running script: " & ex.Message) End Try diff --git a/ToolCollection/frmNIVerknuepfungen.Designer.vb b/ToolCollection/frmNIVerknuepfungen.Designer.vb index 68cac17..9388fc0 100644 --- a/ToolCollection/frmNIVerknuepfungen.Designer.vb +++ b/ToolCollection/frmNIVerknuepfungen.Designer.vb @@ -22,7 +22,6 @@ Partial Class frmNIVerknuepfungen 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. _ Private Sub InitializeComponent() - Me.components = New System.ComponentModel.Container() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmNIVerknuepfungen)) Me.txtfinalSkriptUpdate = New System.Windows.Forms.TextBox() Me.cmbDatenbankSpalten = New System.Windows.Forms.ComboBox() @@ -58,6 +57,7 @@ Partial Class frmNIVerknuepfungen Me.btnTestSQL = New System.Windows.Forms.Button() Me.Label9 = New System.Windows.Forms.Label() Me.gbUpdate = New System.Windows.Forms.GroupBox() + Me.Label2 = New System.Windows.Forms.Label() Me.Button5 = New System.Windows.Forms.Button() Me.Label1 = New System.Windows.Forms.Label() Me.lblsaveSQLAnweisung = New System.Windows.Forms.Label() @@ -82,7 +82,7 @@ Partial Class frmNIVerknuepfungen Me.cmbDataviews = New System.Windows.Forms.ComboBox() Me.lblDescrQuelle = New System.Windows.Forms.Label() Me.lblDescrIndex = New System.Windows.Forms.Label() - Me.lbxIndex = New System.Windows.Forms.ListBox() + Me.lbxWMIndex = New System.Windows.Forms.ListBox() Me.lblDescrangelegteVerknuepf = New System.Windows.Forms.Label() Me.tabctrlbottom = New System.Windows.Forms.TabControl() Me.TabPage6 = New System.Windows.Forms.TabPage() @@ -573,6 +573,7 @@ Partial Class frmNIVerknuepfungen ' 'gbUpdate ' + Me.gbUpdate.Controls.Add(Me.Label2) Me.gbUpdate.Controls.Add(Me.Button5) Me.gbUpdate.Controls.Add(Me.Label1) Me.gbUpdate.Controls.Add(Me.lblsaveSQLAnweisung) @@ -590,6 +591,15 @@ Partial Class frmNIVerknuepfungen Me.gbUpdate.TabStop = False Me.gbUpdate.Text = "SQL-Befehl oder Skript (ausgeführt nach jedem Dateidurchlauf)" ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Location = New System.Drawing.Point(237, 18) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(394, 13) + Me.Label2.TabIndex = 55 + Me.Label2.Text = "EXECUTEVB PathToMyVBScriptfile.vbs Argument#Argument2#Argument3" + ' 'Button5 ' Me.Button5.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) @@ -611,9 +621,9 @@ Partial Class frmNIVerknuepfungen Me.Label1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label1.Location = New System.Drawing.Point(8, 18) Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(892, 26) + Me.Label1.Size = New System.Drawing.Size(223, 13) Me.Label1.TabIndex = 52 - Me.Label1.Text = resources.GetString("Label1.Text") + Me.Label1.Text = "VB-Skript Command with following construct:" ' 'lblsaveSQLAnweisung ' @@ -701,7 +711,7 @@ Partial Class frmNIVerknuepfungen Me.rbTables.ImeMode = System.Windows.Forms.ImeMode.NoControl Me.rbTables.Location = New System.Drawing.Point(132, 8) Me.rbTables.Name = "rbTables" - Me.rbTables.Size = New System.Drawing.Size(67, 17) + Me.rbTables.Size = New System.Drawing.Size(68, 17) Me.rbTables.TabIndex = 29 Me.rbTables.Text = "Tabellen" Me.rbTables.UseVisualStyleBackColor = True @@ -900,14 +910,14 @@ Partial Class frmNIVerknuepfungen Me.lblDescrIndex.TabIndex = 19 Me.lblDescrIndex.Text = "1. windream-Index wählen:" ' - 'lbxIndex + 'lbxWMIndex ' - Me.lbxIndex.FormattingEnabled = True - Me.lbxIndex.Location = New System.Drawing.Point(10, 95) - Me.lbxIndex.Name = "lbxIndex" - Me.lbxIndex.Size = New System.Drawing.Size(138, 134) - Me.lbxIndex.Sorted = True - Me.lbxIndex.TabIndex = 18 + Me.lbxWMIndex.FormattingEnabled = True + Me.lbxWMIndex.Location = New System.Drawing.Point(10, 95) + Me.lbxWMIndex.Name = "lbxWMIndex" + Me.lbxWMIndex.Size = New System.Drawing.Size(138, 134) + Me.lbxWMIndex.Sorted = True + Me.lbxWMIndex.TabIndex = 18 ' 'lblDescrangelegteVerknuepf ' @@ -1140,7 +1150,7 @@ Partial Class frmNIVerknuepfungen Me.Label12.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label12.Location = New System.Drawing.Point(5, 17) Me.Label12.Name = "Label12" - Me.Label12.Size = New System.Drawing.Size(647, 13) + Me.Label12.Size = New System.Drawing.Size(646, 13) Me.Label12.TabIndex = 38 Me.Label12.Text = "Wenn ein SQL-Ergebnis geliefert wurde wird dieses Dokument als fertig indexiert m" & "arkiert! Voraussetzung Indextyp: Boolean" @@ -1343,7 +1353,7 @@ Partial Class frmNIVerknuepfungen Me.rbFT_single.AutoSize = True Me.rbFT_single.Location = New System.Drawing.Point(6, 21) Me.rbFT_single.Name = "rbFT_single" - Me.rbFT_single.Size = New System.Drawing.Size(202, 17) + Me.rbFT_single.Size = New System.Drawing.Size(201, 17) Me.rbFT_single.TabIndex = 3 Me.rbFT_single.Text = "Nur Bestimmte Position auswerten" Me.rbFT_single.UseVisualStyleBackColor = True @@ -1820,7 +1830,7 @@ Partial Class frmNIVerknuepfungen Me.pnlZielQuelle.Controls.Add(Me.txteindeutigerIndex) Me.pnlZielQuelle.Controls.Add(Me.txtManIndexwert) Me.pnlZielQuelle.Controls.Add(Me.lvwVerknuepfungen) - Me.pnlZielQuelle.Controls.Add(Me.lbxIndex) + Me.pnlZielQuelle.Controls.Add(Me.lbxWMIndex) Me.pnlZielQuelle.Controls.Add(Me.lblDescrQuelle) Me.pnlZielQuelle.Controls.Add(Me.Label5) Me.pnlZielQuelle.Controls.Add(Me.btnUnlink) @@ -1847,7 +1857,7 @@ Partial Class frmNIVerknuepfungen Me.rbFunctionsTb.ImeMode = System.Windows.Forms.ImeMode.NoControl Me.rbFunctionsTb.Location = New System.Drawing.Point(322, 8) Me.rbFunctionsTb.Name = "rbFunctionsTb" - Me.rbFunctionsTb.Size = New System.Drawing.Size(111, 17) + Me.rbFunctionsTb.Size = New System.Drawing.Size(112, 17) Me.rbFunctionsTb.TabIndex = 81 Me.rbFunctionsTb.Text = "Functions (Table)" Me.rbFunctionsTb.UseVisualStyleBackColor = True @@ -2026,7 +2036,7 @@ Partial Class frmNIVerknuepfungen Friend WithEvents cmbDataviews As System.Windows.Forms.ComboBox Friend WithEvents lblDescrQuelle As System.Windows.Forms.Label Friend WithEvents lblDescrIndex As System.Windows.Forms.Label - Friend WithEvents lbxIndex As System.Windows.Forms.ListBox + Friend WithEvents lbxWMIndex As System.Windows.Forms.ListBox Friend WithEvents tabctrlbottom As System.Windows.Forms.TabControl Friend WithEvents TabPage1 As System.Windows.Forms.TabPage Friend WithEvents TabPage2 As System.Windows.Forms.TabPage @@ -2121,4 +2131,5 @@ Partial Class frmNIVerknuepfungen Friend WithEvents Button5 As Button Friend WithEvents rbFunctionsTb As RadioButton Friend WithEvents rbFunctionsSc As RadioButton + Friend WithEvents Label2 As Label End Class diff --git a/ToolCollection/frmNIVerknuepfungen.resx b/ToolCollection/frmNIVerknuepfungen.resx index 6568d71..06f82f7 100644 --- a/ToolCollection/frmNIVerknuepfungen.resx +++ b/ToolCollection/frmNIVerknuepfungen.resx @@ -120,10 +120,6 @@ 17, 17 - - VB-Skript Command must start with prefix 'EXECUTEVB '. VB-Command and arguments must be seperated via an #. For double quotes in executing please use single quotes in configuration. -SQL-Command can be written like sql. - 134, 17 diff --git a/ToolCollection/frmNIVerknuepfungen.vb b/ToolCollection/frmNIVerknuepfungen.vb index e51bee1..6649101 100644 --- a/ToolCollection/frmNIVerknuepfungen.vb +++ b/ToolCollection/frmNIVerknuepfungen.vb @@ -113,17 +113,18 @@ Public Class frmNIVerknuepfungen Private Sub LoadIndexesToListViews() Try ' Indexliste - Me.lbxIndex.Items.Clear() + Me.lbxWMIndex.Items.Clear() Me.cmbIndex_Statusfertig.Items.Clear() Dim indexe = _windream.GetIndicesByObjecttype(Me._selectedProfil.Dokumenttyp.aName, False, "NI") If indexe IsNot Nothing Then 'Erst die windream-Indexe in die Standard Listbox eintragen For Each index As String In indexe - Me.lbxIndex.Items.Add(index) + Me.lbxWMIndex.Items.Add(index) Me.cmbIndex_Statusfertig.Items.Add(index) Next - Me.lbxIndex.Items.Add("WD-Dateiname") + Me.lbxWMIndex.Items.Add("WD-Dateiname") + Me.lbxWMIndex.Items.Add("Manueller Volltext") Me.cmbIndex_Statusfertig.Items.Add("") Me.cmbIndex_Statusfertig.SelectedIndex = -1 @@ -247,11 +248,11 @@ Public Class frmNIVerknuepfungen For Each link As ClassNIVerknüpfung In Me._selectedProfil._links.Links Me.lvwVerknuepfungen.Items.Add(New Windows.Forms.ListViewItem(New String() {link.Index, link.Spalte, link.From})) ' wenn es den aktuellen Index noch in der Indexliste gibt - If Me.lbxIndex.Items.Contains(link.Index) Then + If Me.lbxWMIndex.Items.Contains(link.Index) Then Dim indextype As String = ClassNIWindream.GetIndex_Type(link.Index) If Not indextype.StartsWith("Vektor") Then ' dann diesen Eintrag löschen - Me.lbxIndex.Items.Remove(link.Index) + Me.lbxWMIndex.Items.Remove(link.Index) End If @@ -315,11 +316,11 @@ Public Class frmNIVerknuepfungen For Each link As ClassNIVerknüpfung In Me._selectedProfil._links.Links Me.lvwVerknuepfungen.Items.Add(New Windows.Forms.ListViewItem(New String() {link.Index, link.Spalte, link.From})) ' wenn es den aktuellen Index noch in der Indexliste gibt - If Me.lbxIndex.Items.Contains(link.Index) Then + If Me.lbxWMIndex.Items.Contains(link.Index) Then Dim indextype As String = ClassNIWindream.GetIndex_Type(link.Index) If Not indextype.StartsWith("Vektor") Then ' dann diesen Eintrag löschen - Me.lbxIndex.Items.Remove(link.Index) + Me.lbxWMIndex.Items.Remove(link.Index) End If End If Next @@ -395,11 +396,11 @@ Public Class frmNIVerknuepfungen i += 1 Me.lvwVerknuepfungen.Items.Add(New Windows.Forms.ListViewItem(New String() {link.Index, link.Spalte, link.SelectAnweisung})) ' wenn es den aktuellen Index noch in der Indexliste gibt - If Me.lbxIndex.Items.Contains(link.Index) Then + If Me.lbxWMIndex.Items.Contains(link.Index) Then Dim indextype As String = ClassNIWindream.GetIndex_Type(link.Index) If Not indextype.StartsWith("Vektor") Then ' dann diesen Eintrag löschen - Me.lbxIndex.Items.Remove(link.Index) + Me.lbxWMIndex.Items.Remove(link.Index) End If End If Next @@ -445,11 +446,11 @@ Public Class frmNIVerknuepfungen For Each link As ClassNIVerknüpfung In Me._selectedProfil._links.Links Me.lvwVerknuepfungen.Items.Add(New Windows.Forms.ListViewItem(New String() {link.Index, link.Spalte, link.From})) ' wenn es den aktuellen Index noch in der Indexliste gibt - If Me.lbxIndex.Items.Contains(link.Index) Then + If Me.lbxWMIndex.Items.Contains(link.Index) Then Dim indextype As String = ClassNIWindream.GetIndex_Type(link.Index) If Not indextype.StartsWith("Vektor") Then ' dann diesen Eintrag löschen - Me.lbxIndex.Items.Remove(link.Index) + Me.lbxWMIndex.Items.Remove(link.Index) End If End If Next @@ -1383,7 +1384,7 @@ Public Class frmNIVerknuepfungen Try ' wenn sowohl ein Index als auch eine Spalte ausgewählt wurde - If (Me.lbxIndex.SelectedItems.Count > 0) And ((Me.lbxQuelle1.SelectedItems.Count > 0) Or Me.txtManIndexwert.Text <> "") Then + If (Me.lbxWMIndex.SelectedItems.Count > 0) And ((Me.lbxQuelle1.SelectedItems.Count > 0) Or Me.txtManIndexwert.Text <> "") Then Dim Indexquelle, Datenquelle As String If Me.txtManIndexwert.Text <> "" Then @@ -1394,21 +1395,21 @@ Public Class frmNIVerknuepfungen Datenquelle = Me.cmbDataviews.SelectedItem End If ' Eintrag in ListView machen - Me.lvwVerknuepfungen.Items.Add(New Windows.Forms.ListViewItem(New String() {Me.lbxIndex.SelectedItem, Indexquelle, Datenquelle})) + Me.lvwVerknuepfungen.Items.Add(New Windows.Forms.ListViewItem(New String() {Me.lbxWMIndex.SelectedItem, Indexquelle, Datenquelle})) ' das Textfeld der SQL-Anweisung leeren Me.txtSelectAnweisung.Text = "" ' dem Profil den neuen Link anhängen - Me._selectedProfil._links.AddLink(Me.lbxIndex.SelectedItem, Indexquelle, Datenquelle, Me.txtSelectAnweisung.Text, vktState) + Me._selectedProfil._links.AddLink(Me.lbxWMIndex.SelectedItem, Indexquelle, Datenquelle, Me.txtSelectAnweisung.Text, vktState) ' Liste mit Spalten deselektieren Me.lbxQuelle1.SelectedIndex = -1 If Me.txtManIndexwert.Text = "" Then - Dim indextype As String = ClassNIWindream.GetIndex_Type(Me.lbxIndex.SelectedItem) + Dim indextype As String = ClassNIWindream.GetIndex_Type(Me.lbxWMIndex.SelectedItem) If Not indextype.StartsWith("Vektor") Then ' dann diesen Eintrag löschen - Me.lbxIndex.Items.Remove(Me.lbxIndex.SelectedItem) + Me.lbxWMIndex.Items.Remove(Me.lbxWMIndex.SelectedItem) End If Else Me.txtManIndexwert.Text = "" @@ -1425,7 +1426,7 @@ Public Class frmNIVerknuepfungen Try Dim _value As String ' wenn sowohl ein Index als auch eine Spalte ausgewählt wurde - If (Me.lbxIndex.SelectedItems.Count > 0) And ((Me.trvwxml.SelectedNode Is Nothing = False Or Me.txtManIndexwert.Text <> "")) Then + If (Me.lbxWMIndex.SelectedItems.Count > 0) And ((Me.trvwxml.SelectedNode Is Nothing = False Or Me.txtManIndexwert.Text <> "")) Then If Me.txtManIndexwert.Text <> "" Then _value = "%" & Me.txtManIndexwert.Text & "%" Me.txtManIndexwert.Text = "" @@ -1449,10 +1450,10 @@ Public Class frmNIVerknuepfungen End If ' Eintrag in ListView machen - Me.lvwVerknuepfungen.Items.Add(New Windows.Forms.ListViewItem(New String() {Me.lbxIndex.SelectedItem, _value})) + Me.lvwVerknuepfungen.Items.Add(New Windows.Forms.ListViewItem(New String() {Me.lbxWMIndex.SelectedItem, _value})) ' dem Profil den neuen Link anhängen - Me._selectedProfil._links.AddLink(Me.lbxIndex.SelectedItem, _value, "", "", vktState) + Me._selectedProfil._links.AddLink(Me.lbxWMIndex.SelectedItem, _value, "", "", vktState) ' den Index aus Liste mit Indexen löschen ' Me.lbxIndexDatei.Items.Remove(Me.lbxIndexDatei.SelectedItem) @@ -1473,7 +1474,7 @@ Public Class frmNIVerknuepfungen Try Dim _value As String ' wenn sowohl ein Index als auch eine Spalte ausgewählt wurde - If (Me.lbxIndex.SelectedItems.Count > 0) And ((Me.txtregex.Text <> "" Or Me.txtManIndexwert.Text <> "")) Then + If (Me.lbxWMIndex.SelectedItems.Count > 0) And ((Me.txtregex.Text <> "" Or Me.txtManIndexwert.Text <> "")) Then If Me.txtManIndexwert.Text <> "" Then _value = "%" & txtManIndexwert.Text & "%" Me.txtManIndexwert.Text = "" @@ -1510,13 +1511,13 @@ Public Class frmNIVerknuepfungen Ft_area = Ft_area & ";" & "False" End If ' dem Profil den neuen Link anhängen - Me._selectedProfil._links.AddLink(Me.lbxIndex.SelectedItem, _value, "ft", Ft_area) + Me._selectedProfil._links.AddLink(Me.lbxWMIndex.SelectedItem, _value, "ft", Ft_area) ' Eintrag in ListView machen - Me.lvwVerknuepfungen.Items.Add(New Windows.Forms.ListViewItem(New String() {Me.lbxIndex.SelectedItem, _value, Ft_area})) - Dim indextype As String = ClassNIWindream.GetIndex_Type(Me.lbxIndex.SelectedItem) + Me.lvwVerknuepfungen.Items.Add(New Windows.Forms.ListViewItem(New String() {Me.lbxWMIndex.SelectedItem, _value, Ft_area})) + Dim indextype As String = ClassNIWindream.GetIndex_Type(Me.lbxWMIndex.SelectedItem) If Not indextype.StartsWith("Vektor") Then ' dann diesen Eintrag löschen - Me.lbxIndex.Items.Remove(lbxIndex.SelectedItem) + Me.lbxWMIndex.Items.Remove(lbxWMIndex.SelectedItem) End If ' definieren das am aktuellen Profil Änderungen vorgenommen wurden @@ -1532,7 +1533,7 @@ Public Class frmNIVerknuepfungen Try ' wenn sowohl ein Index als auch eine Spalte ausgewählt wurde - If (Me.lbxIndex.SelectedItems.Count > 0) And ((Me.lbxQuelle1.SelectedItems.Count > 0) Or Me.txtManIndexwert.Text <> "") Then + If (Me.lbxWMIndex.SelectedItems.Count > 0) And ((Me.lbxQuelle1.SelectedItems.Count > 0) Or Me.txtManIndexwert.Text <> "") Then ' wenn im ListView ein Element selektiert wurde If Me.lvwVerknuepfungen.SelectedItems.Count > 0 Then @@ -1548,20 +1549,20 @@ Public Class frmNIVerknuepfungen Datenquelle = "AD" End If ' Eintrag in ListView machen - Me.lvwVerknuepfungen.Items.Add(New Windows.Forms.ListViewItem(New String() {Me.lbxIndex.SelectedItem, Indexquelle, Datenquelle})) + Me.lvwVerknuepfungen.Items.Add(New Windows.Forms.ListViewItem(New String() {Me.lbxWMIndex.SelectedItem, Indexquelle, Datenquelle})) ' das Textfeld der SQL-Anweisung leere - Me.txtLDAP_EinschrUserGroup.Text = "(" & Indexquelle & "=[%" & Me.lbxIndex.SelectedItem & "])" + Me.txtLDAP_EinschrUserGroup.Text = "(" & Indexquelle & "=[%" & Me.lbxWMIndex.SelectedItem & "])" ' dem Profil den neuen Link anhängen - Me._selectedProfil._links.AddLink(Me.lbxIndex.SelectedItem, Indexquelle, Datenquelle, Me.txtLDAP_EinschrUserGroup.Text) + Me._selectedProfil._links.AddLink(Me.lbxWMIndex.SelectedItem, Indexquelle, Datenquelle, Me.txtLDAP_EinschrUserGroup.Text) ' Liste mit Spalten deselektieren Me.lbxQuelle1.SelectedIndex = -1 If Me.txtManIndexwert.Text = "" Then - Dim indextype As String = ClassNIWindream.GetIndex_Type(Me.lbxIndex.SelectedItem) + Dim indextype As String = ClassNIWindream.GetIndex_Type(Me.lbxWMIndex.SelectedItem) If Not indextype.StartsWith("Vektor") Then ' dann diesen Eintrag löschen - Me.lbxIndex.Items.Remove(Me.lbxIndex.SelectedItem) + Me.lbxWMIndex.Items.Remove(Me.lbxWMIndex.SelectedItem) End If Else Me.txtManIndexwert.Text = "" @@ -1586,10 +1587,10 @@ Public Class frmNIVerknuepfungen If (Me.lvwVerknuepfungen.SelectedItems.Count > 0) Then ' wenn der Index nicht in der Liste der Indexe steht - If Me.lbxIndex.FindStringExact(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) = Windows.Forms.ListBox.NoMatches Then + If Me.lbxWMIndex.FindStringExact(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) = Windows.Forms.ListBox.NoMatches Then ' diesen Index hinzufügen - Me.lbxIndex.Items.Add(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) + Me.lbxWMIndex.Items.Add(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) End If ' den Link aus dem aktuellen Profil entfernen @@ -1608,10 +1609,10 @@ Public Class frmNIVerknuepfungen If (Me.lvwVerknuepfungen.SelectedItems.Count > 0) Then ' wenn der Index nicht in der Liste der Indexe steht - If Me.lbxIndex.FindStringExact(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) = Windows.Forms.ListBox.NoMatches Then + If Me.lbxWMIndex.FindStringExact(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) = Windows.Forms.ListBox.NoMatches Then ' diesen Index hinzufügen - Me.lbxIndex.Items.Add(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) + Me.lbxWMIndex.Items.Add(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) End If ' den Link aus dem aktuellen Profil entfernen @@ -1630,9 +1631,9 @@ Public Class frmNIVerknuepfungen If (Me.lvwVerknuepfungen.SelectedItems.Count > 0) Then ' wenn der Index nicht in der Liste der Indexe steht - If Me.lbxIndex.FindStringExact(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) = Windows.Forms.ListBox.NoMatches Then + If Me.lbxWMIndex.FindStringExact(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) = Windows.Forms.ListBox.NoMatches Then ' diesen Index hinzufügen - Me.lbxIndex.Items.Add(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) + Me.lbxWMIndex.Items.Add(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) End If ' den Link aus dem aktuellen Profil entfernen Me._selectedProfil._links.RemoveLink(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text, Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(1).Text, "ft") @@ -1649,10 +1650,10 @@ Public Class frmNIVerknuepfungen If (Me.lvwVerknuepfungen.SelectedItems.Count > 0) Then ' wenn der Index nicht in der Liste der Indexe steht - If Me.lbxIndex.FindStringExact(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) = Windows.Forms.ListBox.NoMatches Then + If Me.lbxWMIndex.FindStringExact(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) = Windows.Forms.ListBox.NoMatches Then ' diesen Index hinzufügen - Me.lbxIndex.Items.Add(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) + Me.lbxWMIndex.Items.Add(Me.lvwVerknuepfungen.SelectedItems.Item(0).SubItems(0).Text) End If ' den Link aus dem aktuellen Profil entfernen @@ -2197,11 +2198,11 @@ Public Class frmNIVerknuepfungen Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnaddUniqueIndex.Click - If (Me.lbxIndex.SelectedItems.Count > 0) Then + If (Me.lbxWMIndex.SelectedItems.Count > 0) Then ' Eintrag in textBox aktualisieren - Me.txteindeutigerIndex.Text = Me.lbxIndex.SelectedItem + Me.txteindeutigerIndex.Text = Me.lbxWMIndex.SelectedItem - Dim text As String = Me.lbxIndex.SelectedItem + Dim text As String = Me.lbxWMIndex.SelectedItem If Me._selectedProfil IsNot Nothing Then Me._selectedProfil.Desk_windreamIndex = text @@ -3377,7 +3378,7 @@ Public Class frmNIVerknuepfungen check_changes_ftArea() End Sub - Private Sub lbxIndex_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lbxIndex.SelectedIndexChanged + Private Sub lbxIndex_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lbxWMIndex.SelectedIndexChanged Select Case Me._selectedProfil.Ni_Art Case "fulltext" ' wenn im ListView ein Element selektiert wurde @@ -3388,7 +3389,7 @@ Public Class frmNIVerknuepfungen Me.chkboxWhitespace.Checked = False Me.txtregex.Text = "" End Select - selectedIndex_Type = ClassNIWindream.GetIndex_Type(lbxIndex.SelectedItem) + selectedIndex_Type = ClassNIWindream.GetIndex_Type(lbxWMIndex.SelectedItem) If selectedIndex_Type Is Nothing = False Then visinvisible_Vektor_ins_State() End If @@ -3579,4 +3580,8 @@ Public Class frmNIVerknuepfungen End If End Sub + + Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click + + End Sub End Class \ No newline at end of file diff --git a/ToolCollection/frmStart.vb b/ToolCollection/frmStart.vb index 9882473..95984c2 100644 --- a/ToolCollection/frmStart.vb +++ b/ToolCollection/frmStart.vb @@ -22,16 +22,17 @@ Public Class frmStart 'End Sub Private Sub Delete_LogFiles() Try - Dim vDate = DateAdd("d", -CInt(My.Settings.logolder_then), Now) - Dim log_files As ReadOnlyCollection(Of String) - log_files = My.Computer.FileSystem.GetFiles(My.Application.Info.DirectoryPath & "\Log", FileIO.SearchOption.SearchAllSubDirectories, "*.*") - If log_files.Count > 0 Then - For Each filename As String In log_files - If FileDateTime(filename) < vDate Then - IO.File.Delete(filename) - End If + ' Dim vDate = DateAdd("d", -CInt(My.Settings.logolder_then), Now) + + Try + Dim directory As New IO.DirectoryInfo(My.Application.Info.DirectoryPath & "\Log") + + For Each file As IO.FileInfo In directory.GetFiles + If (Now - file.CreationTime).Days > 29 Then file.Delete() Next - End If + Catch ex As Exception + + End Try Catch ex As Exception _Logger.Error(ex.Message) End Try @@ -46,8 +47,10 @@ Public Class frmStart _MyLogger = New LogConfig(LogConfig.PathType.CustomPath, Path.Combine(My.Application.Info.DirectoryPath, "Log"), Nothing, My.Application.Info.CompanyName, My.Application.Info.ProductName) _Logger = _MyLogger.GetLogger() + CURR_Logger = _Logger CURR_LogConfig = _MyLogger + Delete_LogFiles() 'Aktueller Benutzer Me.tslblVersion.Text = Environment.UserName.ToString Me.Text = Application.CompanyName & "-" & Application.ProductName