diff --git a/Dokumentation/Classes/cExtProgramme.vb b/Dokumentation/Classes/cExtProgramme.vb
index 143429d..0b154e4 100644
--- a/Dokumentation/Classes/cExtProgramme.vb
+++ b/Dokumentation/Classes/cExtProgramme.vb
@@ -269,20 +269,28 @@ Public Class cExtProgramme
If Username.Length > 0 And Password.Length > 0 Then
AnmeldeDatenVorhanden = True
commandcmd("cmdkey /generic:" & host & " /user:" & Username & " /pass:" & Password)
- Threading.Thread.Sleep(3000)
+ Threading.Thread.Sleep(2000)
End If
- Dim rdpfile As String = RDPFileErstellen(host)
+ ''1 RDP Datei erstellen
+ 'Dim rdpfile As String = RDPFileErstellen(host)
+
+ 'mstsc.StartInfo.FileName = "mstsc.exe"
+ 'mstsc.StartInfo.UseShellExecute = False
+ ''mstsc.StartInfo.Arguments = " /v: " & host & rdpASadmin & FensterString
+ 'mstsc.StartInfo.Arguments = " " & rdpfile
+
+ '2 direkt verbinden
mstsc.StartInfo.FileName = "mstsc.exe"
mstsc.StartInfo.UseShellExecute = False
- 'mstsc.StartInfo.Arguments = " /v: " & host & rdpASadmin & FensterString
- mstsc.StartInfo.Arguments = " " & rdpfile
+ mstsc.StartInfo.Arguments = " /v: " & host & rdpASadmin & FensterString
+
mstsc.Start()
If AnmeldeDatenVorhanden = True Then
- Threading.Thread.Sleep(3000)
+ Threading.Thread.Sleep(5000)
Dim Abmeldung As New Process
commandcmd("cmdkey /delete:" & host)
@@ -310,6 +318,7 @@ desktopheight:i:1080
session bpp:i:32
winposstr:s:0,1,-2219,191,-283,1310
compression:i:1
+prompt for credentials:i:0
keyboardhook:i:1
audiocapturemode:i:0
videoplaybackmode:i:1
diff --git a/Dokumentation/Classes/cPRTG.vb b/Dokumentation/Classes/cPRTG.vb
new file mode 100644
index 0000000..1124885
--- /dev/null
+++ b/Dokumentation/Classes/cPRTG.vb
@@ -0,0 +1,45 @@
+Imports System.Net
+
+Imports Newtonsoft.Json.Linq
+Public Class cPRTG
+
+
+
+ Public Async Function getValuefromPRTG(sensorId As String, kanalnummer As Integer) As Task(Of String)
+ Dim prtgServer As String = "https://management01.verag.ost.dmn"
+ 'Dim sensorId As String = "8223"
+ Dim username As String = "admin"
+ Dim passhash As String = "1828632597"
+ 'Dim kanalnummer As Integer = 8
+
+ Dim url As String = $"{prtgServer}/api/table.json?content=channels&columns=objid,name,lastvalue&id={sensorId}&username={username}&passhash={passhash}"
+
+
+
+ ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
+ ServicePointManager.ServerCertificateValidationCallback = Function(sender, cert, chain, sslPolicyErrors) True
+
+ Try
+ Using client As New WebClient()
+ client.Encoding = System.Text.Encoding.UTF8
+ Dim jsonText As String = Await client.DownloadStringTaskAsync(url)
+
+ Dim json As JObject = JObject.Parse(jsonText)
+ Dim channels = json("channels")
+
+ If TypeOf channels Is JArray AndAlso kanalnummer >= 0 AndAlso kanalnummer < channels.Count Then
+ Dim channel = channels(kanalnummer)
+ Dim name = channel("name").ToString()
+ Dim value = channel("lastvalue").ToString().Replace("Â", "").Trim()
+ Return $"{value}"
+ Else
+ Return $"Kanal {kanalnummer} ungültig oder nicht vorhanden."
+ End If
+ End Using
+
+ Catch ex As Exception
+ Return "Fehler: " & ex.Message
+ End Try
+ End Function
+
+End Class
diff --git a/Dokumentation/Dokumentation.vbproj b/Dokumentation/Dokumentation.vbproj
index 900d50e..922eb94 100644
--- a/Dokumentation/Dokumentation.vbproj
+++ b/Dokumentation/Dokumentation.vbproj
@@ -186,6 +186,9 @@
..\packages\NetSpell.2.1.7\lib\NetSpell.SpellChecker.dll
+
+ ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll
+
..\packages\Otp.NET.1.4.0\lib\net461\Otp.NET.dll
@@ -288,6 +291,7 @@
+
True
True
diff --git a/Dokumentation/Main.Designer.vb b/Dokumentation/Main.Designer.vb
index 64d4112..0ae8cd4 100644
--- a/Dokumentation/Main.Designer.vb
+++ b/Dokumentation/Main.Designer.vb
@@ -99,6 +99,7 @@ Partial Class Main
Me.DateienToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.AnydeskToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.PuttyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.IPAdresseKopierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator()
Me.DgvMainContextMenuItemLink = New System.Windows.Forms.ToolStripMenuItem()
Me.LinkÖffnenMitEdgeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
@@ -128,7 +129,9 @@ Partial Class Main
Me.panTSSitzungen = New System.Windows.Forms.Panel()
Me.Timer_Refresh = New System.Windows.Forms.Timer(Me.components)
Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
- Me.IPAdresseKopierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+ Me.lblTempServerraum100 = New System.Windows.Forms.Label()
+ Me.lblTempServerraum15 = New System.Windows.Forms.Label()
+ Me.Timer_Temperatur = New System.Windows.Forms.Timer(Me.components)
Me.Panel2.SuspendLayout()
Me.Panel4.SuspendLayout()
CType(Me.picAVISOMessenger, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -281,12 +284,12 @@ Partial Class Main
'
Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TelefonManuellZuweisenToolStripMenuItem})
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
- Me.ContextMenuStrip1.Size = New System.Drawing.Size(210, 26)
+ Me.ContextMenuStrip1.Size = New System.Drawing.Size(211, 26)
'
'TelefonManuellZuweisenToolStripMenuItem
'
Me.TelefonManuellZuweisenToolStripMenuItem.Name = "TelefonManuellZuweisenToolStripMenuItem"
- Me.TelefonManuellZuweisenToolStripMenuItem.Size = New System.Drawing.Size(209, 22)
+ Me.TelefonManuellZuweisenToolStripMenuItem.Size = New System.Drawing.Size(210, 22)
Me.TelefonManuellZuweisenToolStripMenuItem.Text = "Telefon manuell zuweisen"
'
'btnTSSitzungen
@@ -535,60 +538,60 @@ Partial Class Main
'
Me.ToolStripMenuItem1.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NetzwerkeToolStripMenuItem, Me.AnsichtDruckenToolStripMenuItem, Me.ExportToolStripMenuItem, Me.ImportToolStripMenuItem, Me.BenutzerToolStripMenuItem, Me.AllesSichernCSVToolStripMenuItem, Me.ToolStripSeparator1, Me.UpdateToolStripMenuItem, Me.ExitToolStripMenuItem})
Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
- Me.ToolStripMenuItem1.Size = New System.Drawing.Size(50, 20)
+ Me.ToolStripMenuItem1.Size = New System.Drawing.Size(49, 20)
Me.ToolStripMenuItem1.Text = "Extras"
'
'NetzwerkeToolStripMenuItem
'
Me.NetzwerkeToolStripMenuItem.Name = "NetzwerkeToolStripMenuItem"
- Me.NetzwerkeToolStripMenuItem.Size = New System.Drawing.Size(176, 22)
+ Me.NetzwerkeToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.NetzwerkeToolStripMenuItem.Text = "Tabellen bearbeiten"
'
'AnsichtDruckenToolStripMenuItem
'
Me.AnsichtDruckenToolStripMenuItem.Name = "AnsichtDruckenToolStripMenuItem"
- Me.AnsichtDruckenToolStripMenuItem.Size = New System.Drawing.Size(176, 22)
+ Me.AnsichtDruckenToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.AnsichtDruckenToolStripMenuItem.Text = "Drucken"
'
'ExportToolStripMenuItem
'
Me.ExportToolStripMenuItem.Name = "ExportToolStripMenuItem"
- Me.ExportToolStripMenuItem.Size = New System.Drawing.Size(176, 22)
+ Me.ExportToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.ExportToolStripMenuItem.Text = "Export"
'
'ImportToolStripMenuItem
'
Me.ImportToolStripMenuItem.Name = "ImportToolStripMenuItem"
- Me.ImportToolStripMenuItem.Size = New System.Drawing.Size(176, 22)
+ Me.ImportToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.ImportToolStripMenuItem.Text = "Import"
'
'BenutzerToolStripMenuItem
'
Me.BenutzerToolStripMenuItem.Name = "BenutzerToolStripMenuItem"
- Me.BenutzerToolStripMenuItem.Size = New System.Drawing.Size(176, 22)
+ Me.BenutzerToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.BenutzerToolStripMenuItem.Text = "Benutzer"
'
'AllesSichernCSVToolStripMenuItem
'
Me.AllesSichernCSVToolStripMenuItem.Name = "AllesSichernCSVToolStripMenuItem"
- Me.AllesSichernCSVToolStripMenuItem.Size = New System.Drawing.Size(176, 22)
+ Me.AllesSichernCSVToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.AllesSichernCSVToolStripMenuItem.Text = "Alles Sichern (CSV)"
'
'ToolStripSeparator1
'
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
- Me.ToolStripSeparator1.Size = New System.Drawing.Size(173, 6)
+ Me.ToolStripSeparator1.Size = New System.Drawing.Size(174, 6)
'
'UpdateToolStripMenuItem
'
Me.UpdateToolStripMenuItem.Name = "UpdateToolStripMenuItem"
- Me.UpdateToolStripMenuItem.Size = New System.Drawing.Size(176, 22)
+ Me.UpdateToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.UpdateToolStripMenuItem.Text = "Update"
'
'ExitToolStripMenuItem
'
Me.ExitToolStripMenuItem.Name = "ExitToolStripMenuItem"
- Me.ExitToolStripMenuItem.Size = New System.Drawing.Size(176, 22)
+ Me.ExitToolStripMenuItem.Size = New System.Drawing.Size(177, 22)
Me.ExitToolStripMenuItem.Text = "Exit"
'
'ToolStripMenuItem2
@@ -607,7 +610,7 @@ Partial Class Main
'TicketsystemToolStripMenuItem
'
Me.TicketsystemToolStripMenuItem.Name = "TicketsystemToolStripMenuItem"
- Me.TicketsystemToolStripMenuItem.Size = New System.Drawing.Size(87, 20)
+ Me.TicketsystemToolStripMenuItem.Size = New System.Drawing.Size(88, 20)
Me.TicketsystemToolStripMenuItem.Text = "Ticketsystem"
'
'PascomToolStripMenuItem
@@ -625,6 +628,8 @@ Partial Class Main
'Panel3
'
Me.Panel3.BackColor = System.Drawing.SystemColors.GradientInactiveCaption
+ Me.Panel3.Controls.Add(Me.lblTempServerraum15)
+ Me.Panel3.Controls.Add(Me.lblTempServerraum100)
Me.Panel3.Controls.Add(Me.btnSync)
Me.Panel3.Controls.Add(Me.lblCount)
Me.Panel3.Controls.Add(Me.btnNeu)
@@ -641,7 +646,7 @@ Partial Class Main
Me.Panel3.Dock = System.Windows.Forms.DockStyle.Left
Me.Panel3.Location = New System.Drawing.Point(0, 130)
Me.Panel3.Name = "Panel3"
- Me.Panel3.Size = New System.Drawing.Size(200, 765)
+ Me.Panel3.Size = New System.Drawing.Size(200, 831)
Me.Panel3.TabIndex = 2
'
'btnSync
@@ -877,14 +882,14 @@ Partial Class Main
Me.DgVMain.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.[Single]
Me.DgVMain.RowHeadersVisible = False
Me.DgVMain.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
- Me.DgVMain.Size = New System.Drawing.Size(860, 665)
+ Me.DgVMain.Size = New System.Drawing.Size(860, 731)
Me.DgVMain.TabIndex = 3
'
'DGVMainContext
'
Me.DGVMainContext.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DgvMainContextMenuItemHost, Me.DateienToolStripMenuItem, Me.AnydeskToolStripMenuItem, Me.PuttyToolStripMenuItem, Me.IPAdresseKopierenToolStripMenuItem, Me.ToolStripSeparator4, Me.DgvMainContextMenuItemLink, Me.LinkÖffnenMitEdgeToolStripMenuItem, Me.ToolStripSeparator5, Me.SMBToolStripMenuItem, Me.IPAdresseInZwischenablageToolStripMenuItem, Me.TeamviewerVerbindenToolStripMenuItem, Me.RDPToolStripMenuItem, Me.RDPFensterToolStripMenuItem, Me.ToolStripSeparator3, Me.ObjektLöschenToolStripMenuItem, Me.ToolStripSeparator2, Me.NetzwerkdateienToolStripMenuItem, Me.ToolsToolStripMenuItem})
Me.DGVMainContext.Name = "ContextMenuStrip2"
- Me.DGVMainContext.Size = New System.Drawing.Size(230, 380)
+ Me.DGVMainContext.Size = New System.Drawing.Size(230, 358)
'
'DgvMainContextMenuItemHost
'
@@ -910,6 +915,12 @@ Partial Class Main
Me.PuttyToolStripMenuItem.Size = New System.Drawing.Size(229, 22)
Me.PuttyToolStripMenuItem.Text = "Putty"
'
+ 'IPAdresseKopierenToolStripMenuItem
+ '
+ Me.IPAdresseKopierenToolStripMenuItem.Name = "IPAdresseKopierenToolStripMenuItem"
+ Me.IPAdresseKopierenToolStripMenuItem.Size = New System.Drawing.Size(229, 22)
+ Me.IPAdresseKopierenToolStripMenuItem.Text = "IP Adresse kopieren"
+ '
'ToolStripSeparator4
'
Me.ToolStripSeparator4.Name = "ToolStripSeparator4"
@@ -1020,7 +1031,7 @@ Partial Class Main
Me.PanTools.Controls.Add(Me.CmdTest)
Me.PanTools.Controls.Add(Me.CMdTest2)
Me.PanTools.Dock = System.Windows.Forms.DockStyle.Bottom
- Me.PanTools.Location = New System.Drawing.Point(200, 795)
+ Me.PanTools.Location = New System.Drawing.Point(200, 861)
Me.PanTools.Name = "PanTools"
Me.PanTools.Size = New System.Drawing.Size(860, 100)
Me.PanTools.TabIndex = 4
@@ -1094,7 +1105,7 @@ Partial Class Main
Me.panTSSitzungen.Dock = System.Windows.Forms.DockStyle.Right
Me.panTSSitzungen.Location = New System.Drawing.Point(1060, 130)
Me.panTSSitzungen.Name = "panTSSitzungen"
- Me.panTSSitzungen.Size = New System.Drawing.Size(434, 765)
+ Me.panTSSitzungen.Size = New System.Drawing.Size(434, 831)
Me.panTSSitzungen.TabIndex = 5
Me.panTSSitzungen.Visible = False
'
@@ -1106,17 +1117,34 @@ Partial Class Main
'Timer1
'
'
- 'IPAdresseKopierenToolStripMenuItem
+ 'lblTempServerraum100
'
- Me.IPAdresseKopierenToolStripMenuItem.Name = "IPAdresseKopierenToolStripMenuItem"
- Me.IPAdresseKopierenToolStripMenuItem.Size = New System.Drawing.Size(229, 22)
- Me.IPAdresseKopierenToolStripMenuItem.Text = "IP Adresse kopieren"
+ Me.lblTempServerraum100.AutoSize = True
+ Me.lblTempServerraum100.Location = New System.Drawing.Point(15, 747)
+ Me.lblTempServerraum100.Name = "lblTempServerraum100"
+ Me.lblTempServerraum100.Size = New System.Drawing.Size(116, 13)
+ Me.lblTempServerraum100.TabIndex = 20
+ Me.lblTempServerraum100.Text = "lblTempServerraum100"
+ '
+ 'lblTempServerraum15
+ '
+ Me.lblTempServerraum15.AutoSize = True
+ Me.lblTempServerraum15.Location = New System.Drawing.Point(15, 767)
+ Me.lblTempServerraum15.Name = "lblTempServerraum15"
+ Me.lblTempServerraum15.Size = New System.Drawing.Size(110, 13)
+ Me.lblTempServerraum15.TabIndex = 21
+ Me.lblTempServerraum15.Text = "lblTempServerraum15"
+ '
+ 'Timer_Temperatur
+ '
+ Me.Timer_Temperatur.Enabled = True
+ Me.Timer_Temperatur.Interval = 30000
'
'Main
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.ClientSize = New System.Drawing.Size(1494, 895)
+ Me.ClientSize = New System.Drawing.Size(1494, 961)
Me.Controls.Add(Me.DgVMain)
Me.Controls.Add(Me.PanTools)
Me.Controls.Add(Me.panTSSitzungen)
@@ -1257,4 +1285,7 @@ Partial Class Main
Friend WithEvents lblOfflinemodus As Label
Friend WithEvents btnSync As Button
Friend WithEvents IPAdresseKopierenToolStripMenuItem As ToolStripMenuItem
+ Friend WithEvents lblTempServerraum15 As Label
+ Friend WithEvents lblTempServerraum100 As Label
+ Friend WithEvents Timer_Temperatur As Timer
End Class
diff --git a/Dokumentation/Main.resx b/Dokumentation/Main.resx
index 98c4d9e..9aa8dbc 100644
--- a/Dokumentation/Main.resx
+++ b/Dokumentation/Main.resx
@@ -123,158 +123,158 @@
- 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
- kp+lkl80pJKfpZJfNKSSn6WSXzSkkp+lkl80pJKfpZJfNKSSn6WSXzSkkp//2f/bAEMABgQEBAUEBgUF
- BgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/bAEMB
- BwcHDQwNGBAQGBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
- DAwMDP/AABEIAEYBQAMBEQACEQEDEQH/xAAfAAAABwEBAQEBAAAAAAAAAAAEBQMCBgEABwgJCgv/xAC1
- EAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPBUtHhMxZi8CRygvElQzRT
- kqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE1OT0ZXWFlaW1xdXl9WZ2hpam
- tsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6vr/
- xAAfAQACAgMBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgv/xAC1EQACAgECAwUFBAUGBAgDA20BAAIRAwQh
- EjFBBVETYSIGcYGRMqGx8BTB0eEjQhVSYnLxMyQ0Q4IWklMlomOywgdz0jXiRIMXVJMICQoYGSY2RRon
- ZHRVN/Kjs8MoKdPj84SUpLTE1OT0ZXWFlaW1xdXl9UZWZnaGlqa2xtbm9kdXZ3eHl6e3x9fn9zhIWGh4
- iJiouMjY6Pg5SVlpeYmZqbnJ2en5KjpKWmp6ipqqusra6vr/3QAEACj/2gAMAwEAAhEDEQA/APQeZTjO
- xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Ku
- xV2KuxV2KuxV2KuxV//Q9B5lOM7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY
- q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX/9H0HmU4zsVYB5w/PH8vvKOtyaLrd1PDfxIk
- jpHBJIvGReS/Eop0yJmAyESUl/6Gh/KL/lvuf+kWX+mDxAngKe+VPzw/LPzTfJp+l6wq38hpFa3KSW7u
- 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
+ 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
+ hc6yvc/37f0np/mep7/prr1VwKep01Obn5f22wbRW8tDYEbrS8Naz3uvsexm3/tLTi/4f17EfbcNn6SQ
+ 36UjVwny/O2KOcrkSAl//9H0FJfNKSmYn6WSXzSkkp+lkl80pJKfpZJfNKSSn6WSXzSkkp+lkl80pJKf
+ pZJfNKSSn6WSXzSkkp+lkl80pJKfpZJfNKSSn//Z/9sAQwAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoL
+ CgoMEAwMDAwMDBAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/9sAQwEHBwcNDA0YEBAYFA4ODhQU
+ Dg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgARgFAAwER
+ AAIRAQMRAf/EAB8AAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKC//EALUQAAIBAwMCBAIGBwMEAgYC
+ cwECAxEEAAUhEjFBUQYTYSJxgRQykaEHFbFCI8FS0eEzFmLwJHKC8SVDNFOSorJjc8I1RCeTo7M2F1Rk
+ dMPS4ggmgwkKGBmElEVGpLRW01UoGvLj88TU5PRldYWVpbXF1eX1ZnaGlqa2xtbm9jdHV2d3h5ent8fX
+ 5/c4SFhoeIiYqLjI2Oj4KTlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/EAB8BAAICAwEBAQEBAAAA
+ AAAAAAEAAgMEBQYHCAkKC//EALURAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEyobHw
+ FMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp0+PzhJSk
+ tMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+DlJWWl5iZmp
+ ucnZ6fkqOkpaanqKmqq6ytrq+v/dAAQAKP/aAAwDAQACEQMRAD8A9B5lOM7FXYq7FXYq7FXYq7FXYq7F
+ XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX/9D0
+ HmU4zsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir
+ 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
@@ -304,6 +304,9 @@
1067, 17
+
+ 1312, 17
+
64
diff --git a/Dokumentation/Main.vb b/Dokumentation/Main.vb
index 5e22691..be8486f 100644
--- a/Dokumentation/Main.vb
+++ b/Dokumentation/Main.vb
@@ -44,7 +44,7 @@ Public Class Main
Private Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As IntPtr
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ Private Async Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
LblUhrzeit.Text = "Willkommen " & Class1.LoggedOnUser.Name
Class1.ini.LoadParameters()
SetAnsichtLautIni()
@@ -78,6 +78,7 @@ Public Class Main
.AlternatingRowsDefaultCellStyle.BackColor = ColorTranslator.FromHtml("#d7e4f2")
End With
End If
+ Await AktualisiereTemperaturenAsync()
TypeFilter()
@@ -659,10 +660,8 @@ Public Class Main
Return Userlist
End Function
- Private Sub CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click
- Dim sync As New cSQLSync
- sync.Main()
-
+ Public Async Sub CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click
+ Await AktualisiereTemperaturenAsync()
End Sub
Private Sub CMdTest2_Click(sender As Object, e As EventArgs) Handles CMdTest2.Click
Dim sync As New cSQL
@@ -1319,8 +1318,25 @@ exit"
Private Sub TimerUpdate_Tick(sender As Object, e As EventArgs) Handles TimerUpdate.Tick
If Class1.DebugMode = False Then CheckUpdate("Timer")
+ Dim prtg As New cPRTG
+
End Sub
+ Public Async Function AktualisiereTemperaturenAsync() As Task
+ Dim prtg As New cPRTG()
+
+ ' Aufgaben parallel starten
+ Dim task1 = prtg.getValuefromPRTG("8208", 9)
+ Dim task2 = prtg.getValuefromPRTG("8223", 9)
+
+ ' Ergebnisse abwarten
+ Dim result1 = Await task1
+ Dim result2 = Await task2
+
+ ' GUI aktualisieren
+ lblTempServerraum100.Text = "Temp. Serverraum 100: " & result1
+ lblTempServerraum15.Text = "Temp. Serverraum 15: " & result2
+ End Function
Private Sub DgVMain_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DgVMain.CellClick
@@ -1824,6 +1840,10 @@ exit"
Clipboard.SetText(DgVMain.CurrentRow.Cells("IPAdresse").Value)
End Sub
+ Private Async Sub Timer_Temperatur_Tick(sender As Object, e As EventArgs) Handles Timer_Temperatur.Tick
+ Await AktualisiereTemperaturenAsync()
+ End Sub
+
Private Sub Main_Closed(sender As Object, e As EventArgs) Handles Me.Closed
Class1.ini.prop_Kompansicht = ChkKompAnsicht.Checked
diff --git a/Dokumentation/My Project/Resources.Designer.vb b/Dokumentation/My Project/Resources.Designer.vb
index 82672b3..c19dec3 100644
--- a/Dokumentation/My Project/Resources.Designer.vb
+++ b/Dokumentation/My Project/Resources.Designer.vb
@@ -319,7 +319,7 @@ Namespace My.Resources
End Property
'''
- ''' Sucht eine lokalisierte Zeichenfolge, die 0.0.2.07 ähnelt.
+ ''' Sucht eine lokalisierte Zeichenfolge, die 0.0.2.08 ähnelt.
'''
Friend ReadOnly Property Version() As String
Get
diff --git a/Dokumentation/My Project/Resources.resx b/Dokumentation/My Project/Resources.resx
index a068fa6..ce55bf9 100644
--- a/Dokumentation/My Project/Resources.resx
+++ b/Dokumentation/My Project/Resources.resx
@@ -137,7 +137,7 @@
..\Resources\mail20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
- 0.0.2.07
+ 0.0.2.08
..\Resources\Link.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
diff --git a/Dokumentation/packages.config b/Dokumentation/packages.config
index 3eaeef2..4fff9bf 100644
--- a/Dokumentation/packages.config
+++ b/Dokumentation/packages.config
@@ -12,6 +12,7 @@
+