kann mir bitte jemand helfen wie ich den Fortschritt eines Downloades mit autoit als einen progress bar anzeigen kann? So wie der autoit updater. Danke im voraus =)
Fortschritt!?!
-
- [ offen ]
-
DeepRed92 -
22. Dezember 2007 um 23:47 -
Geschlossen -
Erledigt
-
-
In Kurzform sollte es so aussehen:
GUICtrlSetDATA ( $progressbarID, Round ([Bytes geschafft]/[Bytes gesamt] * 100))
Wobei $progressbarID die ID Deiner mit "GUICtrlCreateProgress" erzeugten Progressbar ist.
Kompliziert ist meist, die Größe des gesamten Downloads bei Beginn zu wissen. -
Hi,
naja wie gesagt mit einer progressbar,
dann mit inetget und @InetGetBytesRead und dem richtigen flag bei inetget.
dort muesste alles beschrieben stehn.
und um zu wissen wie gross die datei ist inetgetsize.irgendjemand hat hier auch mal genau sowas mit schoenem style gemacht kannst ja mal suchen
mfg
-
- Offizieller Beitrag
Hallo
Hab mal vor Jahren ein Script geschrieben was das gemacht hat (damals noch mit FileGetSize und If $Prozent > 99 Then Exitloop^^)
Hab es mal etwas überarbeitet, so das es abgestimmt für die neue AutoIt version ist:Spoiler anzeigen
[autoit]$site = InputBox("Internet Download","Site wo der Download drauf ist",ClipGet())
[/autoit] [autoit][/autoit] [autoit]
If @error Then Exit
$save = StringSplit($site,"/")
$erw = StringSplit($save[$save[0]],".")
$erw = $erw[$erw[0]]
$erwtext = $erw&" Datei"
If $erw = "" Or StringLen($erw) > 5 Then
$erw = "*"
$erwtext = "Alle"
EndIf$punkt = FileSaveDialog("Pfad wo Download hinkopiert werden Soll","D:\donwload\Alle downloads",$erwtext&"(*."&$erw&")",16,$save[$save[0]])
[/autoit]
If @error Then Exit
$orisize = InetGetSize($site)
InetGet($site,$punkt,1,1)
ProgressOn("Download","")
While @InetGetActive
$size1 = FileGetSize($punkt)
$MBsize1 = FileGetSize($punkt)
$Prozent = 100 * @InetGetBytesRead / $orisize
$decimalplace = Round ($Prozent)
$decimalplaceMBsize1 = Round (@InetGetBytesRead / 1024)
ProgressSet ($Prozent, $decimalplace & "% " & "(" & $decimalplaceMBsize1 & ") Kb has been Downloaded.")
WEnd
ProgressOff ()
RunWait("explorer.exe """&$punkt)Mfg Spider
-
- Offizieller Beitrag
Schönes Script!
Aber nach dem ProgressSet() habe ich ein Sleep(50) einbauen müssen, weil sonst die Anzeige fürchterlich flackert.