Ich nehme an, Du meinst die Eingabe der Angaben für den Chart
über die Benutzeroberfläche.
(Bei Änderungen innerhalb des Dateisystems kann der "FileSystemWatcher"
zusätzlich eingesetzt werden, um den Chart zu aktualisieren.)
Etwa so ... (Routine "GetFileHourCounter" wie oben)
Public Class frmFileHourCounter2
'Für Wahl des Datums
Dim dtpCriticalDay As New DateTimePicker With _
{.Parent = Me, .MinDate = CDate("1.1.2001")}
'Für Wahl des Ordners
Dim WithEvents btnFolder As New Button With _
{.Parent = Me, .Text = "Ordner wählen", .Width = 150, .Top = 30}
Dim lblfolder As New Label With _
{.Parent = Me, .Width = 150, .Left = 160, .Top = 30}
Dim fbd As New FolderBrowserDialog With _
{.Description = "Ordner für Erstellzeiten-Chart"}
Dim cht As New System.Windows.Forms.DataVisualization.Charting.Chart _
With {.Parent = Me, .Size = New Size(600, 500), .Top = 60}
Private Sub frmFileHourCounter_Load(sender As System.Object, _
e As System.EventArgs) Handles MyBase.Load
Me.Size = New Size(610, 580)
End Sub
Private Sub btnFolder_Click(sender As Object, _
e As System.EventArgs) Handles btnFolder.Click
With fbd
If .ShowDialog = _
Windows.Forms.DialogResult.Cancel Then Exit Sub
lblfolder.Text = .SelectedPath
Dim dt As DataTable = _
GetFileHourCounter(.SelectedPath, dtpCriticalDay.Value)
ShowChart(dt, .SelectedPath, dtpCriticalDay.Value.Date)
End With
End Sub
Private Sub ShowChart(ByVal dt As DataTable, _
folder As String, criticalday As Date)
With cht
.ChartAreas.Clear()
.Series.Clear()
.DataSource = Nothing
If dt Is Nothing Then
MsgBox("Keine Erstellzeiten-Tabelle für den Chart")
Exit Sub
End If
.ChartAreas.Add("Base")
.Series.Add("MySeries")
With .Series("MySeries")
.ChartArea = "Base"
.ChartType = DataVisualization.Charting.SeriesChartType.Line
.Color = Color.Blue
.BorderWidth = 3
.XValueMember = dt.Columns(0).ColumnName
.YValueMembers = dt.Columns(1).ColumnName
End With
With .ChartAreas("Base").AxisX
.Interval = 1
.Maximum = 24
.Minimum = 1
.LabelStyle.Angle = 45
.Title = "Erstellzeit der Dateien in " & folder & _
" am " & criticalday.Date.ToString("dd.MM.yyyy")
.TitleFont = New Font("Arial", 12, FontStyle.Bold)
End With
With .ChartAreas("Base").AxisY
.Title = "Anzahl der Dateien"
.IntervalType = _
DataVisualization.Charting.DateTimeIntervalType.Auto
End With
.DataSource = dt
End With
End Sub
End Class
Beitrag wurde zuletzt am 16.09.17 um 11:20:06 editiert. |