Habe ein Problem mit dem Befehl InetGet

  • Also er lädt die Datei nicht vollständig herunter er bricht einfach das laden ab als wenn er einen wert bekommt jetzt bin ich fertig aber dabei ist er es nicht.


    Ich hatte es so wie du geschrieben hast mit Filedelet aber irgendwie löscht es sie nicht kann es sein das er vielleicht das letzt Fenster nicht richtig erkennt und deswegen vielleicht zu früh löscht.


    Edit: Kannst du mir auch die folgende zeile mal näher erklären wie man auf sowas kommt ich verstehe es nicht wirklich.

    [autoit]

    TrayTip("Downloading... (Abbruch mit ESC)", "Status:" & Round( (@InetGetBytesRead/$size)*100, 2 ) & ' %', 10, 16)

    [/autoit]

    Einmal editiert, zuletzt von bo2221 (31. August 2008 um 14:05)

  • Zum FileDelete:
    Pack zwischen Send und FileDelete mal ein Sleep( 5000 ) oder so,
    nur mal zum Testen, ob es daran liegt, dass das Fenster noch offen ist.

    Die Codezeile:

    [autoit]


    TrayTip("Downloading... (Abbruch mit ESC)", "Status:" & Round( (@InetGetBytesRead/$size)*100, 2 ) & ' %', 10, 16)
    ;TrayTip( 'Titel', 'Textstück 1' & 'Textstück 2' & '......' & Runde( gelandene Bytes geteilt durch Gesamtanzahl an Bytes mal 100 auf 2 Dezimalstellen ) & ' %', 10, 16 )

    [/autoit]


    dürfte sich so selbst erklären ;)

    limette

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Ah ja ok das habe ich klaube ich kapiert.

    Es funktioniert bei einem anderen Programm. Da lädt er vollständig kann sein das bei dem anderen Programm er die Größe nicht richtig ermittelt.

    Bei dem Programm Wo er es komplett runter lädt fängt er aber nicht an es aus zu führen. hast du da ne Lösung?

  • Ich habe keine Ahnung wovon du sprichst, welches Script du meinst,
    und das Ermitteln der Größe hat nichts damit zu tun, wie lange er lädt ;)

    limette

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Also Ich habe ein größeres Programm genommen, er lädt es wunderbar runter wenn er fertig ist mit dem Download bleibt er bei der anzeige 100% einfach stehen anstatt das Programm zu installieren.

  • Ja, super, kann ich hellsehen ?
    Woher soll ich jetzt wissen, wodran das liegt,
    wenn du mir den Source nicht gibst...
    du sagst mir nichtmal, wie das heißt xD

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Oh man vor lauter Buchstaben und Bunten Zeilen habe ich nicht gesehen das ich beim Befehl run nicht angegeben habe wo er das Programm findet also den Pfad so kann er das auch nicht Starten lol

    Eins habe ich aber noch gibt es ne Möglichkeit wenn ich die Installation eines Programmes abbreche das auch das Icon unten Rechts verschwindet er bricht ja nur das Programm ab aber nicht das Skript das ist das letzte was ich wissen möchte dann kann ich das Thema entlich als gelöst makieren.

  • Verstehe ich nicht ganz..
    Du willst, dass dein Script noch weiterläuft, wenn die
    Installation abgebrochen wurde, und das TrayIcon soll verschwinden ?
    :P
    Opt( 'TrayIconHide', 1 )

    limette

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Ups da habe ich mich wohl falsch ausgedrückt nein ich will das Das Skript auch abgebrochen wird wie man das Icon weg bekommt weiß ich oder war das jetzt nur nen doofer Zufall das er das Skript nicht abgebrochen hat als ich die Installation abgebrochen habe.


    Und durch das Abbrechen der Installation sollte auch die Runtergeladene Datei gleich gelöscht werden ist das möglich?

    Einmal editiert, zuletzt von bo2221 (31. August 2008 um 15:35)

  • ja.

    limette

    PS.: Soll dich jetzt dazu animieren, mal selbst darüber nachzudenken und dir
    die Informationen, die du bereits bekommen hast, mal durch den Kopf gehen zu lassen.

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Alles klar ich werde es versuchen vieleicht bekomme ich es ja hin ich habe da auch schon so eine idee glaube ich mal schauen ob es klappt


    So und hier mal das Fertige resultat von dem erarbeiteten hier wenn du es mal testen möchtest.

    Spoiler anzeigen
    [autoit]

    ;|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    ;| Installation von: nLite-1.4.8
    ;|
    ;| Autor: bo2221
    ;|
    ;| Getestet mit: Windows XP
    ;|_______________________________________________________________________________________

    [/autoit] [autoit][/autoit] [autoit]

    ; Optionale Befehle
    If MsgBox(64+4, "nLite-1.4.8 Installation", "Wollen sie wirklich nLite-1.4.8 auf ihrem Rechner installieren?") = 7 Then Exit

    [/autoit] [autoit][/autoit] [autoit]

    ;Skript Start

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Herunterladen von nLite-1.4.8
    Break(0) ;Verhindert Unterbrechungen
    #include <Misc.au3> ;für _IsPressed
    $size = InetGetSize("http://www.filehippo.com/download/file/8dd49141ac89c1faf4d4cf0465da8b30264cda60d8995f6f580141896f40b2c3/nLite-1.4.8.installer.exe") ;Jz ist $size = Größe der herunterzuladenen Datei
    InetGet("http://www.filehippo.com/download/file/8dd49141ac89c1faf4d4cf0465da8b30264cda60d8995f6f580141896f40b2c3/nLite-1.4.8.installer.exe", 'C:\nLite-1.4.8.exe', 1, 1)
    While @InetGetActive
    TrayTip("Downloading.... (Abbruch mit ESC)", " Es sind schon " & Round( (@InetGetBytesRead/$size)*100, 2 ) & '% geladen!', 10, 1)
    ;TrayTip( 'Titel', 'Textstück 1' & 'Textstück 2' & '......' & Runde( gelandene Bytes geteilt durch Gesamtanzahl an Bytes mal 100 auf 2 Dezimalstellen ) & ' %', 10, 1 = Info-Icon, 2 = Achtung-Icon, 3 = Error-Icon )
    If _IsPressed('1B') Then ;Wenn ESC gedrückt wurde
    If MsgBox(64 + 4, 'Bestätigen', 'Möchten Sie den Download wirklich abbrechen ?') = 6 Then ;Anfang der If-Klausel
    InetGet('abort') ; Beendet den Download
    FileDelete('C:\nLite-1.4.8.exe') ;Lösche die Datei
    Exit ; Beendet
    EndIf ;Ende der If-Klausel
    EndIf
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Opt("TrayIconHide", 1) ;Läßt das Try-Icon verschwinden

    [/autoit] [autoit][/autoit] [autoit]

    ;Setup starten
    run("C:\nLite-1.4.8.exe")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Select Setup Language
    WinWaitActive("Select Setup Language", "Select the language to use during the installation:")
    send("{up}")
    send("{enter 2}")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Willkommens Fenster
    WinWaitActive("Setup - nLite")
    send("{enter}")

    [/autoit] [autoit][/autoit] [autoit]

    ;Lizenzvereinbarung
    WinWaitActive("Setup - nLite", "Lesen Sie bitte die folgenden Lizenzvereinbarungen")
    controlclick("Setup - nLite", "Ich &akzeptiere die Vereinbarung", "TNewRadioButton1")
    send("{enter}")

    [/autoit] [autoit][/autoit] [autoit]

    ;Ziel-Ordner wählen
    WinWaitActive("Setup - nLite")
    send("{enter}")

    [/autoit] [autoit][/autoit] [autoit]

    ;Komponenten auswählen
    WinWaitActive("Setup - nLite")
    send("{enter}")

    [/autoit] [autoit][/autoit] [autoit]

    ;Zusätzliche Aufgaben auswählen (mit Desktop-Symbol)
    WinWaitActive("Setup - nLite")
    send("{enter}")

    [/autoit] [autoit][/autoit] [autoit]

    ;Installation beendet
    WinWaitActive("Setup - nLite", "Das Setup hat die Installation von nLite auf Ihrem Computer abgeschlossen")
    send("{enter}")
    If MsgBox( 64, 'Die Installation von nLite-1.4.8 ist beendet', 'Drücken sie auf OK, um die Installation abzuschließen und die heruntergeladene Datei zu löschen!' ) = 1 Then ;Anfang der If-Klausel
    InetGet( 'abort' ) ; Beende den Download
    FileDelete( 'C:\nLite-1.4.8.exe' ) ;Lösche die Datei
    Exit ; Beendet
    EndIf

    [/autoit]


    EDIT: Was ich aber immer noch nicht schnalle woher nehme ich die Info für den Befehl

    [autoit]

    If _IsPressed('1B') Then

    [/autoit]

    Also IsPressed wo finde ich das in der Deutschen Anleitung nicht.

    Einmal editiert, zuletzt von bo2221 (31. August 2008 um 16:16)

  • 1. Das Prog ist jetzt nicht die überwältigende Leistung ;)
    2. _IsPressed info gibts in der engl. Hilfe, und iwo hier im Forum war auch mal ne Liste ;)

    limette

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Danke

    Also für mich ist das schon ne Leistung ich weiß das man viel mehr machen kann aber ich finde das schonmal echt super so
    Ich sag mal besten dank.

    Ich denke mal es ist Gelöst

    Gruß der Bo

  • Hallöchen

    Irgendwie musste ich gerade fest stellen das irgendwie InetGet nicht mit jedem Link richtig funktioniert.

    Also ich habe es z.B. mit Nero probiert es darüber zu laden das klappt wunderbar.

    Dann wollte ich das beim anderen Programm an wenden und zwar nLite da lädt es es irgendwie nicht runter.
    Also er fängt an es zu laden bricht dann aber und startet ein Dos Fenster ich habe so das Gefühl das er zu früh an fängt die Datei zu installieren.
    Da sie aber noch nicht fertig heruntergeladen ist bricht er ab. Was kann ich dagegen machen.

    Hier mal der Code der eigentlich soweit richtig sein dürfte.

    [autoit]

    Break(0) ;Verhindert Unterbrechungen
    #include <Misc.au3> ;für _IsPressed
    $size = InetGetSize("http://nlite.tcshosting.net/nlite/nLite-1.4.8.installer.exe") ;Jz ist $size = Größe der herunterzuladenen Datei
    InetGet("http://nlite.tcshosting.net/nlite/nLite-1.4.8.installer.exe", @HomeDrive & '\nLite-1.4.8.exe', 1, 1)
    While @InetGetActive
    TrayTip("Downloading.... (Abbruch mit ESC)", " Es sind schon " & Round( (@InetGetBytesRead/$size)*100 ) & '% geladen!', 10, 1)
    ;TrayTip( 'Titel', 'Textstück 1' & 'Textstück 2' & '......' & Runde( gelandene Bytes geteilt durch Gesamtanzahl an Bytes mal 100, auf 2 Dezimalstellen ) & ' %', 10, 1 = Info-Icon, 2 = Achtung-Icon, 3 = Error-Icon )
    If _IsPressed('1B') Then ;Wenn ESC gedrückt wurde
    If MsgBox(32 + 4, 'Bestätigen', 'Möchten Sie den Download wirklich abbrechen ?') = 6 Then ;Anfang der If-Klausel
    InetGet('abort') ; Beendet den Download
    FileDelete( @HomeDrive & '\nLite-1.4.8.exe') ;Lösche die Datei
    Exit ; Beendet
    EndIf ;Ende der If-Klausel
    EndIf
    Sleep(1000)
    WEnd

    [/autoit]


    Gruß der Bo

  • Geh mal mit deinem Browser normal auf den Link.
    Also ich kriege da sofort nen Download-Error,...

    limette

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Das wundert mich jetzt aber sehr stark ich konnte es gerade noch über den Link laden ok danke für die Info dann muss ich mir mal nen anderen suchen
    Mal sehen ob der Funktioniert.

    Ich hoffe es lag daran.

    Und als nächstest muss ich ne Hintergrund Installation hin bekommen hast du da nicht ein bisschen Ahnung von wo ich an fangen kann.

    Vielleicht erstmal an fangen ein Fenster zu erstellen und das dann irgendwie verschwinden lassen und wenn ich das hin bekomme das auf meine Installation irgendwie übertragen irgendwie muss das ja gehen.


    Gruß der Bo

    EDIT: So mal mit neuem Link Funktioniert auch nicht echt komisch

    [autoit]

    #include <Misc.au3> ;für _IsPressed
    $size = InetGetSize("http://nlite.pkzoos.de/nlite/nLite-1.4.8.installer.exe") ;Jz ist $size = Größe der herunterzuladenen Datei
    InetGet("http://nlite.pkzoos.de/nlite/nLite-1.4.8.installer.exe", @HomeDrive & '\nLite-1.4.8.exe', 1, 1)
    While @InetGetActive
    TrayTip("Downloading.... (Abbruch mit ESC)", " Es sind schon " & Round( (@InetGetBytesRead/$size)*100 ) & '% geladen!', 10, 1)
    ;TrayTip( 'Titel', 'Textstück 1' & 'Textstück 2' & '......' & Runde( gelandene Bytes geteilt durch Gesamtanzahl an Bytes mal 100, auf 2 Dezimalstellen ) & ' %', 10, 1 = Info-Icon, 2 = Achtung-Icon, 3 = Error-Icon )
    If _IsPressed('1B') Then ;Wenn ESC gedrückt wurde
    If MsgBox(32 + 4, 'Bestätigen', 'Möchten Sie den Download wirklich abbrechen ?') = 6 Then ;Anfang der If-Klausel
    InetGet('abort') ; Beendet den Download
    FileDelete( @HomeDrive & '\nLite-1.4.8.exe') ;Lösche die Datei
    Exit ; Beendet
    EndIf ;Ende der If-Klausel
    EndIf
    Sleep(100)
    WEnd

    [/autoit]
  • Bei dem Link kann ich dir nicht helfen,
    und für die Hintergrundinstallation hast du bereits ein
    Topic eröffnet.

    limette

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.