Ja klar funktioniert das Script, es ist ja von mir^^
Nein Scherz
Du bruachst hier nicht das Forum vollzuspammen und 2 Therads mit dem gleichen Thema aufmachen!!!!!!!!!!!!
Was gibt denn $aPingAll[0] zurück lass es dir mal in einer MSGBox ausgeben und sag es mir
Beiträge von Jam00
-
-
Geht meins denn jetzt? Ja und, wenn wir doch auch nichst wissen, und ich kann ja auch nix Probieren da _PingAll nicht geht!
EDIT:
Ja ich hab die _PingAll ja, aber sie geht bei mir nicht, liegt warscheinlich dran das mein Netzwerknichichtig Registriet ist! -
Mach mal nicht so einen Streß ja? Wir haben vileicht auch anderes zu tun als uns nur mit deinem Problem rumzuschgen!
Wir sind hier kein Chat! Und mach vieleicht auch mal was selber!Troz allem hab ich mal was gemacht:
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <array.au3>
#include "_PingAll.au3"
#include <INet.au3>
#include <ArrayMore.au3>
;$IP = @IPAddress1
;MsgBox ("","","Die Server-Ip ist: " & $IP )
ClipPut(@IPAddress1)
$aPingAll = _PingAll(20, 50, "", "", "", "", "", 0, 0, 0, 0, 0, 5, " ", "1", "0", 0, 0)
;_PingAll($ipstart, $ipend, $iprange = "", $port01 = "", $port02 = "", $port03 = "", $port04 = "",
;$radim = 0, $winxp = 1, $vnc = 1, $ShowName = 1, $ShowMac = 1, $dealy = 100, $slash = "|", $yes = 1, $no = 0, $showprog = 1, $showbevore = 1)
_Array2DEmptyDel($aPingAll, 0) ;_Array2DEmptyDel(ByRef $avArray [, $Col=0])
_ArrayDelete($aPingAll, 0); Erstes Element aus dem Array löschen
$sUbound = (UBound($aPingAll) - 1)
If $aPingAll[$sUbound] = "" Then _ArrayDelete($aPingAll, ($sUbound))
_ArrayDisplay($aPingAll, "ipadress gesamt")
$Ubound = UBound($aPingAll) - 1
$Port = 31758
$Verbidungen = ""
$Status = False
Dim $IpVerbunden[$Ubound]
For $z = 0 To $Ubound$ConnectedSocket = TCPConnect($aPingAll[$z], $Port)
[/autoit] [autoit][/autoit] [autoit]
If $ConnectedSocket <> -1 Then
$Status = True
For $1 = 0 To $Ubound
If $IpVerbunden[$1] <> "" Then
$IpVerbunden[$1] = $aPingAll[$z]
ExitLoop
EndIf
Next
EndIf
Next
If $Status = True Then
For $2 = 0 To $Ubound
If $IpVerbunden[$2] <>"" Then
$Verbidungen = $Verbidungen & @CRLF & $IpVerbunden[$2]
EndIf
Next
MsgBox(64,"Verbindungen","Es konnten Verbindungen hergestellt werden mit:" & @CRLF & $Verbidungen)
Else
MsgBox (16,"Error","Es konnte keine Verbindung hergestellt werden!")
EndIf
_Senden()
;HotKeySet("^s", "_Senden") ; ctrg + sSleep(30000)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
While 1
$Empfang = TCPRecv($ConnectedSocket, 9999)
If $Empfang <> "" Then
MsgBox(0, "Nachricht", $Empfang)
EndIf
Sleep(500)
WEndFunc _Senden()
[/autoit]
$Nachricht = "Nachricht test test"
;InputBox("Nachricht senden Client", "Schreibe deine Nachricht")
If $Nachricht <> "" Then
TCPSend($ConnectedSocket, $Nachricht)
EndIf
EndFunc ;==>_SendenIch kann nicht sagen ob es geht, dabei mir die Funktion _PingAll nicht funktoniert, keine Ahnung warum nicht, aber dewegen kann ich es nicht ausprobieren!
-
Also du hast da voll den Fehler drin!
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit]
#include <array.au3>
#include <_PingAll.au3>
#include <INet.au3>
#include <ArrayMore.au3>
;$IP = @IPAddress1
;MsgBox ("","","Die Server-Ip ist: " & $IP )
ClipPut(@IPAddress1)
$aPingAll = _PingAll(20, 50, "", "", "", "", "", 0, 0, 0, 0, 0, 5, " ", "1", "0", 0, 0)
;_PingAll($ipstart, $ipend, $iprange = "", $port01 = "", $port02 = "", $port03 = "", $port04 = "",
;$radim = 0, $winxp = 1, $vnc = 1, $ShowName = 1, $ShowMac = 1, $dealy = 100, $slash = "|", $yes = 1, $no = 0, $showprog = 1, $showbevore = 1)
_Array2DEmptyDel($aPingAll, 0) ;_Array2DEmptyDel(ByRef $avArray [, $Col=0])
_ArrayDelete($aPingAll, 0); Erstes Element aus dem Array löschen
$sUbound = (UBound($aPingAll) - 1)
If $aPingAll[$sUbound] = "" Then _ArrayDelete($aPingAll, ($sUbound))
_ArrayDisplay($aPingAll, "ipadress gesamt")
For $z = 0 To UBound($aPingAll) - 1
$Port = 31758
$ConnectedSocket = TCPConnect($aPingAl[$z], $Port)
MsgBox("","Linie 25 $ConnectedSocket = ",$IP &"_"& $Port )
If $ConnectedSocket = -1 Then
MsgBox(16, "Error", "Es ist bei dem Verbindungsversuch ein Fehler aufgetreten, vermutlich ist kein Server gestartet!")
Exit
Else
MsgBox("", "Erfolg", "$ConnectedSocket: " & $ConnectedSocket)
EndIf
_Senden()
;HotKeySet("^s", "_Senden") ; ctrg + s
Sleep(30000)
While 1
$Empfang = TCPRecv($ConnectedSocket, 9999)
If $Empfang <> "" Then
MsgBox(0, "Nachricht", $Empfang)
EndIf
Sleep(500)
WEnd
Next
Func _Senden()
$Nachricht = "Nachricht test test"
;InputBox("Nachricht senden Client", "Schreibe deine Nachricht")
If $Nachricht <> "" Then
TCPSend($ConnectedSocket, $Nachricht)
EndIf
EndFunc ;==>_SendenAlso ich hab es jetzt nicht ausprobiert, sollte aber gehen!
EDIT:
Ich habe auserdem die Func _PingAll nicht, oben in dem Spoiler _PingAll.au3 ist die nähmlich nicht drin! -
Ist doch logisch, $IP ist kein Array! Also gibt Ubuntu 0 zurück!
-
Wie immer Spitze!
-
THX BugFix
-
Wie kann ich mit return einen Array zurückgeben? Also wie zum Beispiel wenn man StringSplit machen, wird ja der $ den man davor setzt zum array, wie geht das?
-
Ich hab hier mal ein Update, das kostet nicht so viel Leistung, geht schneller und flackert nicht (jedenfalls nicht bei mir)
Du must das sript einfach durch dashier erstezen:Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
Dim $Pic[1]
Global $fPic
$Prozent = 208
#Region ### START Koda GUI section ### Form=
$File = @ScriptDir & "\Data\"
$Form1 = GUICreate("Progress", 215, 150, 564, 393)
$Pic1 = GUICtrlCreatePic("E:\Eigene Dateien\AutoIt\Übungen\Progress\Data\3.bmp", 2, 4, 5, 20, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic2 = GUICtrlCreatePic("E:\Eigene Dateien\AutoIt\Übungen\Progress\Data\2.bmp", 7, 4, 200, 20, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Pic3 = GUICtrlCreatePic("E:\Eigene Dateien\AutoIt\Übungen\Progress\Data\4.bmp", 207, 4, 5, 20, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
$Silder = GUICtrlCreateSlider(0,26,215)
$Button1 = GUICtrlCreateButton("Exit", 136, 50, 75, 25, 0)
GUISetState(@SW_SHOW,$Form1)
#EndRegion ### END Koda GUI section ###
$Old = ""
While 1
$Read = GUICtrlRead($Silder)
If $Read <> $Old Then
_SetProzent($Read)
$Old = $Read
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Exit
EndSwitch
WEnd
Func _SetProzent($fProzent)
GUISetState(@SW_LOCK)
Local $A,$B
Local $UBount = UBound($Pic) -1
If $UBount > 0 Then
For $B = 1 To $UBount
GUICtrlDelete ($Pic[$B])
Next
EndIf
Local $Wert = $Prozent * $fProzent /100
$Wert = StringSplit($Wert,".")
Local $Wert1 = $Wert[1] +1
Dim $Pic[$Wert1]
For $A = 1 To $Wert[1]
If $A = 1 Then
$Pic[$A] = GUICtrlCreatePic($File & "\1.bmp",$A +2,7,1,14)
ElseIf $A = 2 Then
$Pic[$A] = GUICtrlCreatePic($File & "\1.bmp",$A +2,6,1,16)
ElseIf $A = $Prozent Then
$Pic[$A] = GUICtrlCreatePic($File & "\1.bmp",$A +2,7,1,14)
ElseIf $A = $Prozent -1 Then
$Pic[$A] = GUICtrlCreatePic($File & "\1.bmp",$A +2,6,1,16)
ElseIf $A = $Prozent -2 Then
$Pic[$A] = GUICtrlCreatePic($File & "\1.bmp",$A +2,5,1,18)
EndIf
Next
GUICtrlDelete ($fPic)
If $fProzent > 2 Then
$fPic = GUICtrlCreatePic($File & "\1.bmp",5,5,$Wert[1]-4,18)
EndIf
GUISetState(@SW_UNLOCK)
EndFunc -
Wenn ich zeit habe schreibe ich glaube mal eine UDF dafür^^ Mal sehen, wenn dann Poste ich es!
-
Und was hast du für Probleme? Ist ja nicht das du sagst was du willst und wir Proggen es dir!
Und auserdem gibt es genug Scripte dazu!
Hier meins, das ist gan schlicht und einfach, gut zum verstehn! -
Ja, das script ist ja auch nch nicht fertig!
-
Ich würde vorschlagen das der User den Style einstellen kann, also mit checkboxen oder so!
-
Ich hab mal was mit einem schönen Style gemacht! Die kann man auch ganz leicht umbauen, also das es nur bewegt und nicht füllt oder das sie sich von rechts nach links füllt!
-
Und auserdem mein Script sendet doch an alle eine Nachricht!Jedenfalls die ersten!
-
Wenn du einen Anderen Style haben willst kannst du doch die Labels durch Pics erstezen, und dir dann die Passenden bilder selber machen, also deinen eigenen Style!
-
funkey
ICh ednke schon, aber hab ich jetzt keine lust zu^^ war nur so eine Idee -
Klaro, es darf alles in eine Func!
-
Ich habe auch mal gemacht, wenn ich richtig verstaden habe was er meint sollte es eig alles klären!
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Form1", 288, 299, 233, 147)
$Button1 = GUICtrlCreateButton("^", 248, 247, 19, 25, 0)
$Button2 = GUICtrlCreateButton("v", 248, 271, 19, 25, 0)
$Button3 = GUICtrlCreateButton("<", 230, 271, 19, 25, 0)
$Button4 = GUICtrlCreateButton(">", 266, 271, 19, 25, 0)
$Pic1 = GUICtrlCreatePic(@WindowsDir & "\Angler.bmp", 80, 88, 108, 108, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_Move("UP")
Case $Button2
_Move("Down")
Case $Button3
_Move("Left")
Case $Button4
_Move("Right")
EndSwitch
Sleep (50)
WEnd
Func _Move($State)
Local $Pos = ControlGetPos($Form1, "", $Pic1)
If $State = "UP" Then
ControlMove($Form1, "", $Pic1, $Pos[0], $Pos[1]-1)
ElseIf $State = "Down" Then
ControlMove($Form1, "", $Pic1, $Pos[0], $Pos[1]+1)
ElseIf $State = "Left" Then
ControlMove($Form1, "", $Pic1, $Pos[0]-1, $Pos[1])
ElseIf $State = "Right" Then
ControlMove($Form1, "", $Pic1, $Pos[0]+1, $Pos[1])
EndIf
EndFunc ;==>_Move -
Zeig mir mal deinen Server