196 lines
6.5 KiB
VB.net
196 lines
6.5 KiB
VB.net
Imports System.IO
|
|
|
|
Public Class uscntr_SendMSG
|
|
|
|
Dim recserver As New List(Of String)
|
|
Public recuser As New cTSUser
|
|
Dim msg As String = " {0} /Server:{1} '{2}'" 'Username, Server, Nachricht
|
|
Dim msgfin As String = ""
|
|
Dim SingleUserRec As Boolean = False
|
|
Public RecUsersList As New List(Of cRecUsers)
|
|
Public RecArt As String = ""
|
|
|
|
Private Sub uscntr_SendMSG_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
'txtLabelInfo.Text = ""
|
|
'FillPanWithServer()
|
|
Select Case RecArt
|
|
Case "", "Server"
|
|
FillPanWithServer()
|
|
SelectUniUser()
|
|
Case "User"
|
|
PanServerListe.Controls.Clear()
|
|
|
|
For Each u As cRecUsers In RecUsersList
|
|
' u.username & vbCrLf
|
|
Next
|
|
FillPanWithUser()
|
|
End Select
|
|
|
|
End Sub
|
|
|
|
Function FillPanWithServer()
|
|
PanServerListe.Controls.Clear()
|
|
|
|
Dim i As Integer = 0
|
|
Dim h As Integer = 0
|
|
|
|
For Each Server As String In Class1.TerminalServerList
|
|
If Server Like "TS*" Or Server Like "Term*" Or Server Like "TERM*" Then
|
|
Dim usrcntrl As New uscntr_TSServer
|
|
usrcntrl.btnServer.Text = Server
|
|
usrcntrl.Location = New Point(0, i * usrcntrl.Height)
|
|
i = i + 1
|
|
h = i * usrcntrl.Height
|
|
PanServerListe.Controls.Add(usrcntrl)
|
|
AddHandler usrcntrl.btnServer.Click, Function()
|
|
UpdateSelectedServerList()
|
|
End Function
|
|
End If
|
|
Next
|
|
|
|
|
|
Me.Height = h + 100
|
|
End Function
|
|
|
|
Function FillPanWithUser()
|
|
PanMain.Controls.Clear()
|
|
PanMain.AutoScroll = True
|
|
|
|
Dim i As Integer = 0
|
|
Dim h As Integer = 0
|
|
|
|
For Each User As cRecUsers In RecUsersList
|
|
|
|
Dim usrcntrl As New uscntr_MessageUser
|
|
usrcntrl.Label1.Text = User.userclientpc & " | " & User.username
|
|
usrcntrl.Location = New Point(0, i * usrcntrl.Height)
|
|
|
|
PanMain.Controls.Add(usrcntrl)
|
|
AddHandler usrcntrl.btnDelete.Click, Function()
|
|
PanMain.Controls.Remove(usrcntrl)
|
|
RecUsersList.Remove(User)
|
|
ReloadUsers()
|
|
End Function
|
|
i = i + 1
|
|
h = i * usrcntrl.Height
|
|
Next
|
|
|
|
|
|
End Function
|
|
|
|
Function ReloadUsers()
|
|
FillPanWithUser()
|
|
End Function
|
|
|
|
Sub UpdateSelectedServerList()
|
|
recserver.Clear()
|
|
For Each uc As uscntr_TSServer In PanServerListe.Controls
|
|
If uc.selected Then
|
|
' LabelInfo.Text &= uc.btnServer.Text & vbCrLf
|
|
recserver.Add(uc.btnServer.Text)
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub cmdVorschau_Click(sender As Object, e As EventArgs) Handles cmdVorschau.Click
|
|
'If SingleUserRec = True Then
|
|
' MsgBox("msg" & msgfin)
|
|
'Else
|
|
' For Each srv As String In recserver
|
|
' MsgBox(String.Format(msg, "*", srv, TextBox1.Text))
|
|
' Next
|
|
'End If
|
|
Dim mehmehmeh As String = ""
|
|
For Each uUsersr In RecUsersList
|
|
mehmehmeh &= uUsersr.userclientpc & " | " & uUsersr.username & vbCrLf
|
|
Next
|
|
' MsgBox(mehmehmeh)
|
|
End Sub
|
|
|
|
Function SelectUniUser() 'wenn nur ein Empfänger
|
|
If recuser.BenutzerAnmeldeName.Length > 0 Then
|
|
SingleUserRec = True
|
|
recuser.genNameKurz()
|
|
'LabelInfo.Text = String.Format(msg, recuser.NameKurz, recuser.TSServer, "Das ist ein Test!")
|
|
For Each uc As uscntr_TSServer In PanServerListe.Controls
|
|
If uc.btnServer.Text = recuser.TSServer Then uc.btnServer.PerformClick()
|
|
uc.btnServer.Enabled = False
|
|
Next
|
|
End If
|
|
End Function
|
|
|
|
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
|
|
If SingleUserRec = True Then
|
|
msgfin = String.Format(msg, recuser.NameKurz, recuser.TSServer, TextBox1.Text)
|
|
Else
|
|
msgfin = String.Format(msg, "*", ErsterEintragVonListOfString(recserver), TextBox1.Text)
|
|
End If
|
|
' LabelInfo.Text = "msg" & msgfin
|
|
End Sub
|
|
|
|
Private Sub cmdSenden_Click(sender As Object, e As EventArgs) Handles cmdSenden.Click
|
|
If MsgBox("Nachricht senden?", MsgBoxStyle.OkCancel, "Senden?") = MsgBoxResult.Ok Then
|
|
Select Case RecArt
|
|
Case "", "Server"
|
|
SendServer()
|
|
Case "User"
|
|
SendUser()
|
|
End Select
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Function SendServer()
|
|
If SingleUserRec = True Then
|
|
cExtProgramme.msgsend(msgfin)
|
|
Else
|
|
For Each srv As String In recserver
|
|
cExtProgramme.msgsend(String.Format(msg, "*", srv, TextBox1.Text))
|
|
Threading.Thread.Sleep(3000)
|
|
Next
|
|
End If
|
|
End Function
|
|
|
|
Private Function SendUser()
|
|
If Not RecUsersList.Count > 0 Then MsgBox("Keine User in Liste") : Exit Function
|
|
If Not File.Exists(Application.StartupPath & "\msgsend.bat") Then File.Create(Application.StartupPath & "\msgsend.bat")
|
|
Dim msgbat As String = Application.StartupPath & "\msgsend.bat"
|
|
Dim battext As String = ""
|
|
For Each u As cRecUsers In RecUsersList
|
|
'MsgBox(u.username)
|
|
battext &= (cExtProgramme.msgsend(String.Format(msg, u.username, u.userclientpc & "." & u.domain, TextBox1.Text), True)) & vbCrLf
|
|
|
|
Next
|
|
|
|
Class1.WriteToFile(msgbat, battext)
|
|
Threading.Thread.Sleep(3000)
|
|
|
|
Process.Start(msgbat)
|
|
'MsgBox(battext)
|
|
End Function
|
|
|
|
Function ErsterEintragVonListOfString(liste As List(Of String))
|
|
If liste.Count > 0 Then
|
|
Return liste(0)
|
|
Else
|
|
Return ""
|
|
End If
|
|
End Function
|
|
|
|
Private Sub PanMain_Paint(sender As Object, e As PaintEventArgs) Handles PanMain.Paint
|
|
|
|
End Sub
|
|
End Class
|
|
|
|
Public Class cRecUsers
|
|
Property domain As String = ""
|
|
Property username As String = ""
|
|
Property userclientpc As String = ""
|
|
|
|
Public Sub New(_domain As String, _username As String, _userclientpc As String)
|
|
Me.domain = _domain
|
|
Me.username = _username
|
|
Me.userclientpc = _userclientpc
|
|
End Sub
|
|
End Class
|