• Hi leute, ich habe einen Chat gemacht (INC) also er ist noch nicht fertig, aber ich wollte ihn schon mal Posten und fragen ob er bei euch auch geht, da es da letzt probleme mit meinem Server gab, wenn dndere ihn gestartet haben! Also bei mir geht alles :thumbup:

    Client
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=\Pic\INC.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <INet.au3>
    ;~ #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListBoxConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #include <GuiEdit.au3>
    #include <GuiListBox.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $Sichtbar = True
    $Name = InputBox("INC", "Gib deinen Namen ein")
    If @error Then Exit
    $IP = InputBox("INC", "Die IP des Servers", _GetIP())
    If @error Then Exit

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\INC\Benutzeroberfläche\INC1.kxf
    $INC = GUICreate("INC - " & $Name, 503, 380, 291, 296)
    GUISetBkColor(0x4CEC00)
    GUISetIcon("C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\INC\Pic\INC.ico")
    $Edit1 = GUICtrlCreateEdit("", 3, 3, 368, 262, BitOR($ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL))
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    $List1 = GUICtrlCreateList("", 372, 3, 127, 262)
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    $Edit2 = GUICtrlCreateEdit("", 3, 267, 496, 89, BitOR($ES_WANTRETURN, $WS_VSCROLL))
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    $Senden = GUICtrlCreateButton("Senden", 423, 357, 75, 22, 0)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Checkbox1 = GUICtrlCreateCheckbox("Ton an", 3, 357, 97, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    Dim $Form2_AccelTable[1][2] = [["{ENTER}", $Senden]]
    GUISetAccelerators($Form2_AccelTable)
    #EndRegion ### END Koda GUI section ###
    TCPStartup()
    $Port = 31758
    $ConnectedSocket = TCPConnect($IP, $Port)
    If $ConnectedSocket = -1 Then
    MsgBox(16, "Error", "Es ist bei dem Verbindungsversuch ein Fehler aufgetreten, vermutlich ist kein Server gestartet!")
    Exit
    Else
    TCPSend($ConnectedSocket, "Name|" & $Name)
    MsgBox (64,"INC","Drücken Sie Strg+Q um INC unsichtbar bzw. sichtbar zu machen")
    HotKeySet ("^{q}","_Sichtbar")
    GUISetState(@SW_SHOW)
    EndIf
    While 1
    $Empfang = TCPRecv($ConnectedSocket, 9999)
    $sEmpfang = StringSplit($Empfang, "|")
    If IsArray($sEmpfang) = 1 Then
    If $sEmpfang[1] = "Namen" Then
    If GUICtrlRead($Checkbox1) = 1 Then
    _Beep(2)
    EndIf
    For $1 = 3 To $sEmpfang[2] + 2
    GUICtrlSetData($List1, $sEmpfang[$1])
    Next
    ElseIf $sEmpfang[1] = "Nachricht" Then
    $Edit2Read = GUICtrlRead($Edit1)
    If GUICtrlRead($Checkbox1) = 1 Then
    _Beep(1)
    EndIf
    If $Edit2Read <> "" Then
    $Text = $Edit2Read & @CRLF & $sEmpfang[2] & @CRLF & $sEmpfang[4]
    Else
    $Text = $sEmpfang[2] & @CRLF & $sEmpfang[4]
    EndIf
    GUICtrlSetData($Edit1, $Text)
    _Scroll($Edit1)
    ElseIf $sEmpfang[1] = "Off" Then
    $del = _GUICtrlListBox_FindString($List1, $sEmpfang[2])
    _GUICtrlListBox_DeleteString($List1, $del)
    EndIf
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    TCPSend($ConnectedSocket, "Off|" & $Name)
    Exit
    Case $Senden
    _Senden()
    EndSwitch
    WEnd
    Func _Senden()
    $Edit2Read = GUICtrlRead($Edit2)
    $An = GUICtrlRead($List1)
    If $Edit2Read <> "" Then
    If $An <> "" Then
    If $An <> $Name Then
    $Text2 = "Nachricht|" & $Name & " " & _NowTime(5) & "|" & $An & "|" & $Edit2Read
    TCPSend($ConnectedSocket, $Text2)
    GUICtrlSetData($Edit2, "")
    $Edit2Read = GUICtrlRead($Edit1)
    $sText2 = StringSplit($Text2, "|")
    If $Edit2Read <> "" Then
    $Text = $Edit2Read & @CRLF & $sText2[2] & @CRLF & $sText2[4]
    Else
    $Text = $sText2[2] & @CRLF & $sText2[4]
    EndIf
    GUICtrlSetData($Edit1, $Text)
    _Scroll($Edit1)
    Else
    MsgBox(16, "INC", "Du kannst keine Nachricht an dich selber schreiben!")
    EndIf
    Else
    MsgBox(16, "INC", "Wähle einen Benutzer aus!")
    EndIf
    Else
    MsgBox(16, "INC", "Du kannst keine Nachricht ohne Inhalt Senden!")
    EndIf
    EndFunc ;==>_Senden
    Func _Scroll($Felt)
    $Lines = _GUICtrlEdit_GetLineCount($Felt)
    _GUICtrlEdit_LineScroll($Felt, 0, $Lines)
    EndFunc ;==>_Scroll
    Func _Sichtbar()
    If $Sichtbar = True Then
    GUISetState (@SW_HIDE)
    $Sichtbar = False
    ElseIf $Sichtbar = False Then
    GUISetState (@SW_SHOW)
    $Sichtbar = True
    EndIf
    EndFunc
    Func _Beep($Beep)
    If $Beep = 1 Then
    Beep (1500,100)
    Beep (1000,100)
    Beep (800,100)
    ElseIf $Beep = 2 Then
    Beep (556,100)
    Beep (686,100)
    Beep (2200,100)
    EndIf
    EndFunc

    [/autoit]
    Server
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListBoxConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListBox.au3>
    #include <INet.au3>
    #include <GuiEdit.au3>
    _GetIP()
    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\INC\Benutzeroberfläche\INC-Server.kxf
    $INCServer = GUICreate("INC-Server", 644, 293, 378, 337)
    $Combo1 = GUICtrlCreateCombo(@IPAddress1, 3, 1, 145, 25)
    If @IPAddress2 <> "0.0.0.0" Then
    GUICtrlSetData(-1, @IPAddress2)
    EndIf
    If @IPAddress3 <> "0.0.0.0" Then
    GUICtrlSetData(-1, @IPAddress3)
    EndIf
    If @IPAddress4 <> "0.0.0.0" Then
    GUICtrlSetData(-1, @IPAddress4)
    EndIf
    $Edit1 = GUICtrlCreateEdit("", 3, 24, 356, 266,$WS_VSCROLL)
    GUICtrlSetData(-1, "")
    $List1 = GUICtrlCreateList("", 362, 4, 139, 278)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    $Label1 = GUICtrlCreateLabel("", 198, 3, 75, 17)
    $Button1 = GUICtrlCreateButton("OK", 150, 1, 48, 22, 0)
    $List2 = GUICtrlCreateList("", 502, 4, 139, 278)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    GUICtrlSetState($Button1, $GUI_HIDE)
    GUICtrlSetState($Combo1, $GUI_HIDE)
    GUISetState (@SW_HIDE)
    ExitLoop
    EndSwitch
    WEnd
    $IP = GUICtrlRead($Combo1)
    GUICtrlSetData($Label1, $IP)
    $MainSocket = TCPListen($IP, 31758)
    $zahl = -1
    Global $Speicher = ""
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    $ConnectedSocket = TCPAccept($MainSocket)
    If $ConnectedSocket > -1 Then
    $zahl = $zahl + 1
    $zahl1 = $zahl +1
    $Speicher = $ConnectedSocket
    EndIf
    If $Speicher <> "" Then
    $Neu = TCPRecv ($Speicher,9999)
    If $Neu <> "" Then
    $sNeu = StringSplit ($Neu,"|")
    If $sNeu[1] = "Name" Then
    GUICtrlSetData($List2, $sNeu[2] & "=" & $Speicher)
    GUICtrlSetData($List1, $sNeu[2])
    Local $text = ""
    For $i = 0 To _GUICtrlListBox_GetCount($List1) - 1
    If $i = 0 Then
    $text = $text & _GUICtrlListBox_GetText($List1, $i)
    Else
    $text = $text & "|" & _GUICtrlListBox_GetText($List1, $i)
    EndIf
    Next
    For $3 = 0 To $zahl
    $Benutzer2 = _GUICtrlListBox_GetText($List2, $3)
    If $Benutzer2 <> "" Then
    $sBenutzer2 = StringSplit($Benutzer2, "=")
    TCPSend($sBenutzer2[2], "Namen" & "|" & $zahl1 & "|" & $text)
    EndIf
    Next
    $Speicher = ""
    EndIf
    EndIf
    EndIf
    If $zahl > -1 Then
    For $1 = 0 To $zahl
    $Benutzer3 = _GUICtrlListBox_GetText($List2, $1)
    $sBenutzer3 = StringSplit($Benutzer3, "=")
    StringReplace ($sBenutzer3,"=","=")
    If $sBenutzer3[0] > 1 Then
    $Empfang = TCPRecv($sBenutzer3[2], 9999)
    If $Empfang <> "" Then
    $Edit1Read = GUICtrlRead($Edit1)
    GUICtrlSetData($Edit1, $Edit1Read & @CRLF & $Empfang)
    _Scroll($Edit1)
    $sEmpfang = StringSplit($Empfang, "|")
    If $sEmpfang[1] = "Nachricht" Then
    For $2 = 0 To $zahl
    $Benutzer = _GUICtrlListBox_GetText($List2, $2)
    $sBenutzer = StringSplit($Benutzer, "=")
    If $sBenutzer[1] = $sEmpfang[3] Then
    TCPSend($sBenutzer[2], $Empfang)
    EndIf
    Next
    ElseIf $sEmpfang[1] = "Off" Then
    $del = _GUICtrlListBox_FindString($List1, $sEmpfang[2])
    _GUICtrlListBox_DeleteString($List1, $del)
    $del = _GUICtrlListBox_FindString($List2, $sEmpfang[2])
    _GUICtrlListBox_DeleteString($List2, $del)
    $zahl = $zahl -1
    $zahl1 = $zahl +1
    For $3 = 0 To $zahl
    $Benutzer2 = _GUICtrlListBox_GetText($List2, $3)
    If $Benutzer2 <> "" Then
    $sBenutzer2 = StringSplit($Benutzer2, "=")
    TCPSend($sBenutzer2[2], "Off" & "|" & $sEmpfang[2])
    EndIf
    Next
    EndIf
    EndIf
    EndIf
    Next
    EndIf
    WEnd
    Func _Scroll($Felt)
    $Lines = _GUICtrlEdit_GetLineCount($Felt)
    _GUICtrlEdit_LineScroll($Felt, 0, $Lines)
    EndFunc ;==>_Scroll

    [/autoit]

    EDIT:
    Ein bischen was Aktualiesiert und Danke für die bishärigen 95 Downloads :thumbup:

    mfg. Jam00

    6 Mal editiert, zuletzt von Jam00 (21. April 2009 um 17:20)

    • Offizieller Beitrag

    Wie soll man das testen, wenn man die Beep.au3 nicht hat ?

  • Warum machst du

    [autoit]

    Func _Beep($Beep)
    If $Beep = 1 Then
    Beep (1500,100)
    Beep (1000,100)
    Beep (800,100)
    ElseIf $Beep = 2 Then
    Beep (556,100)
    Beep (686,100)
    Beep (2200,100)
    EndIf
    EndFunc

    [/autoit]


    die 5 Zeilen in ne Extra Datei?

    Jo, habs grad einmal getestet, scheint zu Funktionieren, zum üben ganz gut :).

  • gut :thumbup: ich hab das in eine Extra-Datei gemacht, weil das ja noch mehr werden soll, und ich das auch ändern will, und so find ich das übersichtlicher und ich kann die Töne einfach so ausprobieren, ohne die sachen zu starten ^^

    mfg. Jam00

  • He, des Prog is super! 8o
    Hetz brauch Ich nur noch nen Chat-Partner! ;(

    Großes Lob! :D :D :D :D :thumbup:


    MfG.
    tobi_girst

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • Werd ich machen :D , aber vorher: Das Icon vom Programm is nicht dabei (Laut Q-TXT in deinen Eigenen Dateien). Kannst du es bitte posten??? ;)

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • Jo. mach ich, aber ich hab einen Fehler Gefunden, hier das neue:

    Client
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=Pic\INC.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <INet.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListBoxConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #include <GuiEdit.au3>
    #include <GuiListBox.au3>
    #include "Beep.au3"

    [/autoit] [autoit][/autoit] [autoit]

    $Sichtbar = True
    $Name = InputBox("INC", "Gib deinen Namen ein")
    If @error Then Exit
    $IP = InputBox("INC", "Die IP des Servers", _GetIP())
    If @error Then Exit

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\INC\Benutzeroberfläche\INC1.kxf
    $INC = GUICreate("INC - " & $Name, 503, 380, 291, 296)
    GUISetBkColor(0x4CEC00)
    GUISetIcon("C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\INC\Pic\INC.ico")
    $Edit1 = GUICtrlCreateEdit("", 3, 3, 368, 262, BitOR($ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL))
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    $List1 = GUICtrlCreateList("", 372, 3, 127, 262)
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    $Edit2 = GUICtrlCreateEdit("", 3, 267, 496, 89, BitOR($ES_WANTRETURN, $WS_VSCROLL))
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    $Senden = GUICtrlCreateButton("Senden", 423, 357, 75, 22, 0)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Checkbox1 = GUICtrlCreateCheckbox("Ton an", 3, 357, 97, 17)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    Dim $Form2_AccelTable[1][2] = [["{ENTER}", $Senden]]
    GUISetAccelerators($Form2_AccelTable)
    #EndRegion ### END Koda GUI section ###
    TCPStartup()
    $Port = 31758
    $ConnectedSocket = TCPConnect($IP, $Port)
    If $ConnectedSocket = -1 Then
    MsgBox(16, "Error", "Es ist bei dem Verbindungsversuch ein Fehler aufgetreten, vermutlich ist kein Server gestartet!")
    Exit
    Else
    TCPSend($ConnectedSocket, "Name|" & $Name)
    MsgBox (64,"INC","Drücken Sie Strg+Q um INC unsichtbar bzw. sichtbar zu machen")
    HotKeySet ("^{q}","_Sichtbar")
    GUISetState(@SW_SHOW)
    EndIf
    While 1
    $Empfang = TCPRecv($ConnectedSocket, 9999)
    $sEmpfang = StringSplit($Empfang, "|")
    If IsArray($sEmpfang) = 1 Then
    If $sEmpfang[1] = "Namen" Then
    If GUICtrlRead($Checkbox1) = 1 Then
    _Beep(2)
    EndIf
    For $1 = 3 To $sEmpfang[2] + 2
    GUICtrlSetData($List1, $sEmpfang[$1])
    Next
    ElseIf $sEmpfang[1] = "Nachricht" Then
    $Edit2Read = GUICtrlRead($Edit1)
    If GUICtrlRead($Checkbox1) = 1 Then
    _Beep(1)
    EndIf
    If $Edit2Read <> "" Then
    $Text = $Edit2Read & @CRLF & $sEmpfang[2] & @CRLF & $sEmpfang[4]
    Else
    $Text = $sEmpfang[2] & @CRLF & $sEmpfang[4]
    EndIf
    GUICtrlSetData($Edit1, $Text)
    _Scroll($Edit1)
    ElseIf $sEmpfang[1] = "Off" Then
    $del = _GUICtrlListBox_FindString($List1, $sEmpfang[2])
    _GUICtrlListBox_DeleteString($List1, $del)
    EndIf
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    TCPSend($ConnectedSocket, "Off|" & $Name)
    Exit
    Case $Senden
    _Senden()
    EndSwitch
    WEnd
    Func _Senden()
    $Edit2Read = GUICtrlRead($Edit2)
    $An = GUICtrlRead($List1)
    If $Edit2Read <> "" Then
    If $An <> "" Then
    If $An <> $Name Then
    $Text2 = "Nachricht|" & $Name & " " & _NowTime(5) & "|" & $An & "|" & $Edit2Read
    TCPSend($ConnectedSocket, $Text2)
    GUICtrlSetData($Edit2, "")
    $Edit2Read = GUICtrlRead($Edit1)
    $sText2 = StringSplit($Text2, "|")
    If $Edit2Read <> "" Then
    $Text = $Edit2Read & @CRLF & $sText2[2] & @CRLF & $sText2[4]
    Else
    $Text = $sText2[2] & @CRLF & $sText2[4]
    EndIf
    GUICtrlSetData($Edit1, $Text)
    _Scroll($Edit1)
    Else
    MsgBox(16, "INC", "Du kannst keine Nachricht an dich selber schreiben!")
    EndIf
    Else
    MsgBox(16, "INC", "Wähle einen Benutzer aus!")
    EndIf
    Else
    MsgBox(16, "INC", "Du kannst keine Nachricht ohne Inhalt Senden!")
    EndIf
    EndFunc ;==>_Senden
    Func _Scroll($Felt)
    $Lines = _GUICtrlEdit_GetLineCount($Felt)
    _GUICtrlEdit_LineScroll($Felt, 0, $Lines)
    EndFunc ;==>_Scroll
    Func _Sichtbar()
    If $Sichtbar = True Then
    GUISetState (@SW_HIDE)
    $Sichtbar = False
    ElseIf $Sichtbar = False Then
    GUISetState (@SW_SHOW)
    $Sichtbar = True
    EndIf
    EndFunc

    [/autoit]
    Server
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListBoxConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListBox.au3>
    #include <INet.au3>
    #include <GuiEdit.au3>
    _GetIP()
    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Hendrik\Favoriten\Eigene Dateien\AutoIt\INC\Benutzeroberfläche\INC-Server.kxf
    $INCServer = GUICreate("INC-Server", 644, 293, 378, 337)
    $Combo1 = GUICtrlCreateCombo(@IPAddress1, 3, 1, 145, 25)
    If @IPAddress2 <> "0.0.0.0" Then
    GUICtrlSetData(-1, @IPAddress2)
    EndIf
    If @IPAddress3 <> "0.0.0.0" Then
    GUICtrlSetData(-1, @IPAddress3)
    EndIf
    If @IPAddress4 <> "0.0.0.0" Then
    GUICtrlSetData(-1, @IPAddress4)
    EndIf
    $Edit1 = GUICtrlCreateEdit("", 3, 24, 356, 266,$WS_VSCROLL)
    GUICtrlSetData(-1, "")
    $List1 = GUICtrlCreateList("", 362, 4, 139, 278)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    $Label1 = GUICtrlCreateLabel("", 198, 3, 75, 17)
    $Button1 = GUICtrlCreateButton("OK", 150, 1, 48, 22, 0)
    $List2 = GUICtrlCreateList("", 502, 4, 139, 278)
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    GUICtrlSetState($Button1, $GUI_HIDE)
    GUICtrlSetState($Combo1, $GUI_HIDE)
    GUISetState (@SW_HIDE)
    ExitLoop
    EndSwitch
    WEnd
    $IP = GUICtrlRead($Combo1)
    GUICtrlSetData($Label1, $IP)
    $MainSocket = TCPListen($IP, 31758)
    $zahl = -1
    Global $Speicher = ""
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    $ConnectedSocket = TCPAccept($MainSocket)
    If $ConnectedSocket > -1 Then
    $zahl = $zahl + 1
    $zahl1 = $zahl +1
    $Speicher = $ConnectedSocket
    EndIf
    If $Speicher <> "" Then
    $Neu = TCPRecv ($Speicher,9999)
    If $Neu <> "" Then
    $sNeu = StringSplit ($Neu,"|")
    If $sNeu[1] = "Name" Then
    GUICtrlSetData($List2, $sNeu[2] & "=" & $Speicher)
    GUICtrlSetData($List1, $sNeu[2])
    Local $text = ""
    For $i = 0 To _GUICtrlListBox_GetCount($List1) - 1
    If $i = 0 Then
    $text = $text & _GUICtrlListBox_GetText($List1, $i)
    Else
    $text = $text & "|" & _GUICtrlListBox_GetText($List1, $i)
    EndIf
    Next
    For $3 = 0 To $zahl
    $Benutzer2 = _GUICtrlListBox_GetText($List2, $3)
    If $Benutzer2 <> "" Then
    $sBenutzer2 = StringSplit($Benutzer2, "=")
    TCPSend($sBenutzer2[2], "Namen" & "|" & $zahl1 & "|" & $text)
    EndIf
    Next
    $Speicher = ""
    EndIf
    EndIf
    EndIf
    If $zahl > -1 Then
    For $1 = 0 To $zahl
    $Benutzer3 = _GUICtrlListBox_GetText($List2, $1)
    $sBenutzer3 = StringSplit($Benutzer3, "=")
    StringReplace ($sBenutzer3,"=","=")
    If $sBenutzer3[0] > 1 Then
    $Empfang = TCPRecv($sBenutzer3[2], 9999)
    If $Empfang <> "" Then
    $Edit1Read = GUICtrlRead($Edit1)
    GUICtrlSetData($Edit1, $Edit1Read & @CRLF & $Empfang)
    _Scroll($Edit1)
    $sEmpfang = StringSplit($Empfang, "|")
    If $sEmpfang[1] = "Nachricht" Then
    For $2 = 0 To $zahl
    $Benutzer = _GUICtrlListBox_GetText($List2, $2)
    $sBenutzer = StringSplit($Benutzer, "=")
    If $sBenutzer[1] = $sEmpfang[3] Then
    TCPSend($sBenutzer[2], $Empfang)
    EndIf
    Next
    ElseIf $sEmpfang[1] = "Off" Then
    $del = _GUICtrlListBox_FindString($List1, $sEmpfang[2])
    _GUICtrlListBox_DeleteString($List1, $del)
    $del = _GUICtrlListBox_FindString($List2, $sEmpfang[2])
    _GUICtrlListBox_DeleteString($List2, $del)
    $zahl = $zahl -1
    $zahl1 = $zahl +1
    For $3 = 0 To $zahl
    $Benutzer2 = _GUICtrlListBox_GetText($List2, $3)
    If $Benutzer2 <> "" Then
    $sBenutzer2 = StringSplit($Benutzer2, "=")
    TCPSend($sBenutzer2[2], "Off" & "|" & $sEmpfang[2])
    EndIf
    Next
    EndIf
    EndIf
    EndIf
    Next
    EndIf
    WEnd
    Func _Scroll($Felt)
    $Lines = _GUICtrlEdit_GetLineCount($Felt)
    _GUICtrlEdit_LineScroll($Felt, 0, $Lines)
    EndFunc ;==>_Scroll

    [/autoit]

    mfg. Jam00

  • Beim darüberschauen ist mir aufgefallen, dass der Pfad zu den "Eigenen Dateien" nicht Variabel gesetzt ist.
    Bei Client.au3 Zeile 24

    [autoit]


    ConsoleWrite(@MyDocumentsDir & "\AutoIt\INC\Pic\INC.ico" & @CRLF)
    bzw. bei Favoriten:
    ConsoleWrite(@FavoritesDir & "\Eigene Dateien\AutoIt\INC\Pic\INC.ico" & @CRLF)

    [/autoit]


    Ansonsten hab ichs nicht getestet. Wenns von dir ist finde ich haste gut gemacht...weiter so.
    Und du hast recht, Redundanz sollte man vermeiden das Reduzieren von Wiederholungen hat eine menge Vorteile(Übersichtlich, bessere Wartbarkeit, Fehlertoleranter...)

  • Klappt eig. alles konnt emeinen Namen eintippen und die ID meine Servers..
    blos war da keins online !? kann man selber eins erstellen ?

    Edit: hat sich erledigt ^^

  • Jo, bin schon dabei noch einen zu machen mit guter grafik und so aber der war nur eimfach um mal die Grundlagen zu lernen und Gepostest habe ich ihn weil ich denke das der für Anfänger sehr gut zum üben ist weil der eben knap gehalten ist

    mfg. Jam00