Seite 1 von 2
KB/s bei Datei Upload
Verfasst: 30.11.2008 18:22
von Joel
Ich möchte in meinem Programm die "KB/Sekunde" anzeigen. Also wie schnell die Datei hochgalden wird. Die Angebe soll jede 0.7 Sekunden aktualisiert werden.
Wie mach ich das?
Verfasst: 30.11.2008 22:38
von Bisonte
bei PureArea.net gabs dafür ein Codeschnipsel.
Eine Ganze Userlib rund um FTP als Quellcode.
Dort mal bei FTP Upload schauen.
http://www.purearea.net/pb/CodeArchiv/I ... ib_Code.pb
Verfasst: 01.12.2008 14:43
von Joel
lol, den Code versteh ich nicht!
Code: Alles auswählen
Procedure.l FTP_UploadFile(ConnectionID, SFile.s, DFile.s)
If ConnectionID
SendNetworkString2(ConnectionID, "TYPE I"+EOL)
Text.s = Wait(ConnectionID, 5000)
If Left(Text, 3) = "200"
SendNetworkString2(ConnectionID, "PASV"+EOL)
Text.s = Wait(ConnectionID, 5000)
If Left(Text, 3) = "227"
Passive = OpenNetworkConnection(PassiveIP(Text.s), PassivePort(Text.s))
If Passive
SendNetworkString2(ConnectionID, "STOR "+DFile+EOL)
Delay(100)
Text.s = Wait(ConnectionID, 5000)
If Left(Text, 3) = "150"
*Buffer = AllocateMemory(FileSize(SFile))
SetGadgetState(#PROGRESS, 25)
WindowEvent()
If ReadFile(0, SFile)
ReadData(0, *Buffer, FileSize(SFile))
CloseFile(0)
SetGadgetState(#PROGRESS, 50)
WindowEvent()
EndIf
SendNetworkData(Passive, *Buffer, FileSize(SFile))
SetGadgetState(#PROGRESS, 75)
WindowEvent()
FreeMemory(*Buffer)
CloseNetworkConnection(Passive)
SetGadgetState(#PROGRESS, 100)
WindowEvent()
Text.s = Wait(ConnectionID, 5000)
WindowEvent()
ProcedureReturn 1
EndIf
CloseNetworkConnection(Passive)
EndIf
EndIf
EndIf
EndIf
EndProcedure
Verfasst: 01.12.2008 15:07
von Kiffi
Joel hat geschrieben:lol, den Code versteh ich nicht!
und nun? Der Code liegt Dir ja vor und niemand hindert Dich, dass Du jetzt
ein wenig Eigeninitiative zeigst und versuchst ihn zu verstehen. Zu jedem
unbekannten Befehl gibt die PB-Hilfe Auskunft.
Grüße ... Kiffi
Verfasst: 01.12.2008 17:40
von Joel
Was heißt bei dieser Funktion das DFile.s?
Habe den Befehl so gemacht:
Ist das richtig?
Verfasst: 01.12.2008 17:48
von Kiffi
ich würde davon ausgehen, dass 'S' für Source und 'D' für Destination steht.
Wo hast Du denn den Codeschnippsel her?
Grüße ... Kiffi
Verfasst: 02.12.2008 04:57
von Bisonte
der ist aus dem Code von Pureareanet... den ich oben gepostet hab.
Das soll eine FTP Userlib sein... der Sourcecode davon... hab ihn allerdings nicht getestet...
Hatte hier im Forum allerdings auch schonmal einen Codeschnipsel bezüglich Upload und KB/s per Progressbar gesehen, find den bloss nicht wieder...
Verfasst: 03.12.2008 16:02
von Joel
Keine eine Idee?
Verfasst: 03.12.2008 16:27
von PMV
Die FTP-Lib von PB funktioniert nicht?
Probier mal die aktuelle 4.30 Beta 5

Ich denke damit wirst du eher klar kommen, wenns mit deinem Server
arbeitet.
MFG PMV
Verfasst: 03.12.2008 16:31
von Joel
Doch, die Funktioniert, aber ich weiß nicht, wie ich dei KB/s (jede Sekunde aktualisiert) anzeigen soll