From 49bfc4b40bdc9222b224c9c440b0e09663d76e8d Mon Sep 17 00:00:00 2001 From: OlgunR Date: Thu, 6 Nov 2025 11:32:51 +0100 Subject: [PATCH] Starten und Stoppen der NI mit einzelnen Profilen - frmNIHauptseite --- .../My Project/Settings.Designer.vb | 14 +++++- ToolCollection/My Project/Settings.settings | 5 +- ToolCollection/app.config | 5 +- ToolCollection/frmNIHauptseite.resx | 3 -- ToolCollection/frmNIHauptseite.vb | 50 ++++++++++--------- 5 files changed, 48 insertions(+), 29 deletions(-) diff --git a/ToolCollection/My Project/Settings.Designer.vb b/ToolCollection/My Project/Settings.Designer.vb index 145764b..c4eb03f 100644 --- a/ToolCollection/My Project/Settings.Designer.vb +++ b/ToolCollection/My Project/Settings.Designer.vb @@ -585,7 +585,7 @@ Namespace My _ + Global.System.Configuration.DefaultSettingValueAttribute("01;02;03;08;09;10;11;12;13;14;15;16;17;18;19;20;21;22;23")> _ Public ReadOnly Property NI_WORKING_HOURS() As String Get Return CType(Me("NI_WORKING_HOURS"),String) @@ -769,6 +769,18 @@ Namespace My Me("vNIRunning") = value End Set End Property + + _ + Public Property vNIsingleProfileRunning() As Boolean + Get + Return CType(Me("vNIsingleProfileRunning"),Boolean) + End Get + Set + Me("vNIsingleProfileRunning") = value + End Set + End Property End Class End Namespace diff --git a/ToolCollection/My Project/Settings.settings b/ToolCollection/My Project/Settings.settings index 87f1bd8..d9ba8f3 100644 --- a/ToolCollection/My Project/Settings.settings +++ b/ToolCollection/My Project/Settings.settings @@ -132,7 +132,7 @@ 0 - 01;02;03;09;10;11;12;13;14;15;16;17;18;19;20;21;22;23 + 01;02;03;08;09;10;11;12;13;14;15;16;17;18;19;20;21;22;23 @@ -190,5 +190,8 @@ False + + False + \ No newline at end of file diff --git a/ToolCollection/app.config b/ToolCollection/app.config index 81903c3..aaf7023 100644 --- a/ToolCollection/app.config +++ b/ToolCollection/app.config @@ -168,6 +168,9 @@ False + + False + @@ -194,7 +197,7 @@ 0 - 01;02;03;09;10;11;12;13;14;15;16;17;18;19;20;21;22;23 + 01;02;03;08;09;10;11;12;13;14;15;16;17;18;19;20;21;22;23 diff --git a/ToolCollection/frmNIHauptseite.resx b/ToolCollection/frmNIHauptseite.resx index 623d18e..1705b2d 100644 --- a/ToolCollection/frmNIHauptseite.resx +++ b/ToolCollection/frmNIHauptseite.resx @@ -120,9 +120,6 @@ 248, 56 - - 248, 56 - Es wird empfohlen, das Intervall nicht auf weniger als 30 Minuten zu setzen, da der nächste Nachindexierungsdurchlauf nur gestartet werden kann, wenn der vorherige beendet wurde. Wenn zu erwarten ist, dass viele Dokumente nachindexiert werden sollen, sollte der Intervall für diesen Durchlauf entsprechend hoch gesetzt werden ( > 2 Stunden). diff --git a/ToolCollection/frmNIHauptseite.vb b/ToolCollection/frmNIHauptseite.vb index cd73a46..0d48e18 100644 --- a/ToolCollection/frmNIHauptseite.vb +++ b/ToolCollection/frmNIHauptseite.vb @@ -635,7 +635,7 @@ Public Class frmNIHauptseite ' nächstes Profil an ProgressBar1 bwProfil.ReportProgress(-2) Next - _singleProfileRun = "" + Catch ex As Exception _Logger.Error(ex) @@ -664,11 +664,24 @@ Public Class frmNIHauptseite _Logger.Info("") End If + Dim actdatetime = Now Dim newrun_dt As DateTime = actdatetime.AddMinutes(Me.numIntervall.Value) - Me.lblStatus.Text = $"(Status: WARTEN auf den nächsten Durchlauf: {newrun_dt.ToString})" - tslblStatus.Text = $"Status: WARTEN auf den nächsten Durchlauf: {newrun_dt.ToString}" - Me.tslblStatus.Visible = True + + If My.Settings.vNIRunning Then + Me.lblStatus.Text = $"(Status: WARTEN auf den nächsten Durchlauf: {newrun_dt.ToString})" + tslblStatus.Text = $"Status: WARTEN auf den nächsten Durchlauf: {newrun_dt.ToString}" + Me.tslblStatus.Visible = True + End If + + If Not String.IsNullOrWhiteSpace(_singleProfileRun) Then + _singleProfileRun = "" + My.Settings.vNIsingleProfileRunning = False + My.Settings.vNIRunning = False + Me.lblStatus.Text = $"(Status: Nachindexieren beendet)" + tslblStatus.Text = "Status: Nachindexieren beendet" + btnStartStop.Text = "Nachindexierung starten" + End If End Sub @@ -2768,7 +2781,9 @@ Public Class frmNIHauptseite End If manually_cancel = False Me.timRun.Interval = Me.numIntervall.Value * 60 * 1000 - Me.timRun.Start() + If My.Settings.vNIRunning Then + Me.timRun.Start() + End If 'Variable für den Fall Programmabbruch und Neustart! bwProfil = New BackgroundWorker bwsearch = New BackgroundWorker @@ -2866,19 +2881,19 @@ Public Class frmNIHauptseite Else TimerRefresh.Stop() End If - If My.Settings.vNIRunning Then + If My.Settings.vNIRunning Or My.Settings.vNIsingleProfileRunning Then If timRun.Enabled = True Then timRun.Stop() End If - Abbruch_NI("Manueller Abbruch 1 durch User " & Environment.UserName, False, False) My.Settings.vNIRunning = False My.Settings.Save() + Abbruch_NI("Manueller Abbruch 1 durch User " & Environment.UserName, False, False) Me.btnStartStop.Text = "Nachindexierung starten" Me.btnStartProfile.Enabled = True Else - Start_NachindexierungThreads() My.Settings.vNIRunning = True My.Settings.Save() + Start_NachindexierungThreads() Me.btnStartStop.Text = "Nachindexierung stoppen" Me.btnStartProfile.Enabled = False End If @@ -2888,19 +2903,8 @@ Public Class frmNIHauptseite 'NI Starten aus Profilübersicht Private Sub btnStartProfile_Click(sender As Object, e As EventArgs) Handles btnStartProfile.Click - If TimerRefresh.Enabled = False Then - TimerRefresh.Start() - Else - TimerRefresh.Stop() - End If If My.Settings.vNIRunning Then - 'If timRun.Enabled = True Then - ' timRun.Stop() - 'End If - 'Abbruch_NI("Manueller Abbruch 1 durch User " & Environment.UserName, False, False) - 'Me.btnStartStop.Text = "Nachindexierung starten" - Me.btnStartProfile.Enabled = True - MsgBox("Nachindexierung läuft bereits.", MsgBoxStyle.Information) + Me.btnStartProfile.Enabled = False Else Dim view As DevExpress.XtraGrid.Views.Grid.GridView = TryCast(gridProfileOverview.MainView, DevExpress.XtraGrid.Views.Grid.GridView) @@ -2912,12 +2916,12 @@ Public Class frmNIHauptseite Dim profilname As String = Convert.ToString(view.GetRowCellValue(view.FocusedRowHandle, "Name")) If Not String.IsNullOrWhiteSpace(profilname) Then _singleProfileRun = profilname - Start_NachindexierungThreads() - My.Settings.vNIRunning = True + My.Settings.vNIsingleProfileRunning = True My.Settings.Save() + Start_NachindexierungThreads() btnStartStop.Text = "Nachindexierung stoppen" btnStartProfile.Enabled = False - MsgBox($"Nachindexierung mit dem Profil: {profilname} gestartet.", MsgBoxStyle.Information) + Me.tcmain.SelectedTab = tpMain End If End If