ich habe mir dieses Script "vom englischen Forum" für mich angebast.
Es geht auch super und weil es so gut geht, würde ich noch gerne eine fortschritsanzeige mit einbauen "TrayTip"
ich komme aber irgend wie nicht klar damit.
ich hänge noch mal ein weiteres script mit an, wo diese wunderschön geht, aber ich schaffe es nicht die zu zu ändern das die hier in diesen geht.
Code
; Das ist das wo ich benutze.
Global Const $TCP_PORT = 3333
Dim $nSocketSend = -1
Dim $file = ""
TCPStartup()
$file = FileOpenDialog("Datei zum Senden","","All Files (*.*)")
If @error Then Exit
$pc = InputBox("Empfänger Adresse",@LF & "IP Adresse oder DynDNS Name" & @LF & @LF & "DynDNS mit (\) beginnen!!",@IPAddress1,"", 200,175)
If $pc = "" Then Exit
If StringLeft($pc,1) = "" Then
$pc = TCPNameToIP(StringTrimLeft($pc,1))
EndIf
$socket = TCPConnect($pc,$TCP_PORT)
If $socket = -1 Then Exit
$n = FileGetSize($file)
$buffer = StringTrimLeft($file,StringInStr($file,"",0,-1)) & "," & $n & "," & FileRead($file)
While StringLen($buffer)
$x = TCPSend($socket,$buffer)
If @error Then ExitLoop
$n -= $x
$buffer = StringTrimLeft($buffer,$x)
WEnd
While 1
If TCPRecv($socket,2048) <> "" Then ExitLoop
If @error Then ExitLoop
WEnd
Alles anzeigen
hier ist das wunderschöne "TrayTip" drinnen.
Code
opt("TrayIconDebug", 1)
#Include<String.au3>
$FILE = FileOpenDialog("Choose File", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "All Files(*.*)", 3)
If $FILE = "" Then Exit 0
$NAME = StringSplit($FILE, "")
$NAME = $NAME[$NAME[0]]
$SIZE = FileGetSize($FILE)
$NR_PARTI = Int($SIZE / 2048)
$NR_PARTI = $NR_PARTI & "~"& ($SIZE- ($NR_PARTI * 2048))
$NR = StringSplit($NR_PARTI, "~")
$IP = InputBox(" ", "SERVER IP:", @IPAddress1, "", 120, 80)
$PORT = 58789
TcpStartUp ()
$CONNECT = TcpConnect ($IP, $PORT)
If $CONNECT = -1 Then Message("Connection failed!")
Sleep(333)
TcpSend ($CONNECT, $NAME)
Do
Sleep(1)
$CONFIRM = TcpRecv ($CONNECT, 512)
Until $CONFIRM = "Name_Ok!"
TcpSend ($CONNECT, $NR_PARTI)
Do
Sleep(1)
$CONFIRM = TcpRecv ($CONNECT, 512)
Until $CONFIRM = "Nr_Parti_Ok!"
$FILEOPEN = FileOpen($FILE, 0)
Sleep(2500)
For $INDEX = 1 To $NR[1]
Do
Sleep(1)
$SEND = TCPSend ($CONNECT, _StringToHex (FileRead($FILEOPEN, 2048)))
Until $SEND > 0 And @error = 0
TrayTip("", Round(($INDEX * 99.9) / $NR[1], 1) & "% done!", 1)
Do
Sleep(1)
$RECV = TCPRecv ($CONNECT, 512)
Until $RECV = $INDEX
Next
If $NR[2] > 0 Then
Do
Sleep(1)
$SEND = TCPSend ($CONNECT, _StringToHex (FileRead($FILEOPEN, $NR[2])))
Until $SEND > 0 And @error = 0
Do
Sleep(1)
$RECV = TCPRecv ($CONNECT, 512)
Until $RECV = $NR[2]
EndIf
FileClose($FILEOPEN)
Exit 0
Func Message($MESSAGE)
MsgBox(64 + 262144, "", $MESSAGE, 3)
Exit 0
EndFunc ;==>Message
Alles anzeigen
also das hier: