Jo. Alle 1.5 Sekunden, per SetTimerA()-API. Die Callbackfunktion:
Code
proc TransportCallback
declare cct&,l&
SetText aktfile&,Del$(aktfile$,1,Len($Base+user$))
For l&,0,2
SetText handle&[l&],Str$(status&[l&])
cct&=cct&+status&[l&]
EndFor
SetText handle&[3],Str$(cct&)+"/"+Str$(count&)
SetText handle&[4],ConvertBytes$(1000*asize!/(&GetTickCount-globaltick&),2)+"/s"
endproc
und eine für Downloads größer als ein bestimmter Wert:
Code
proc DownloadCallback
Parameters taddr&,saddr&'nicht verändern!
declare quadint transferred,size'Anzahl übertrageneer Byte, Gesamtgröße
Long Addr(size),0=Long(saddr&,0),Long(saddr&,4)
Long Addr(transferred),0=Long(taddr&,0),Long(taddr&,4)
Progressbar("Set",pb2&,Round(100*transferred/size,0))
case Clicked(pause&):Pause
case Clicked(abbr&):globalende%=1
Return globalende%'0=weiter, 1=Abbruch; ohne Return evtl. Abbruch, also immer Return 0, wenns weitergehen soll
endproc
ist für meine MyFTP.inc nötig.
Ich hatte es schon mal ohne Callbacks probiert, aber das hat auch nichts gebracht. Könnte ich aber nochmal machen.