ProgressBar für eine große Datei

  • Hallöle!


    Bitte reißt mich nicht außeinander - ich hab mich gestern spontan dazu entschlossen, einen kleinen Installer für eine kleine Mod für ein Spiel in AutoIT zu schreiben. Auch ist AutoIT meine erste Scriptsprache.
    Tatsächlich muss dafür bisher nur eine große Datei aus der kompilierten .exe (welche die Mod-Datei enthält) in einen bestimmten Ordner extrahiert werden.


    All dies funktioniert bisher auch sehr gut, nur scheitere ich gerade an der ProgressBar. Ich vermute aber allerdings, dass es einen einfachen Grund hat - es ist eine große Datei, daher wird mir kein Fortschritt angezeigt, da die Datei (ca. 120MB) beim extrahieren ja entweder komplett da ist - oder noch nicht. Vielleicht irre ich mich auch.. ach, ich weiß es nicht. Ich würde mich wirklich über eure Hilfe freuen. :)


    Hier ist mal der Code-Auszug:



    Vielen Dank an dieser Stelle!


    Grüße,
    shanks

  • Da ich das Thema gegenüber den Forumregeln grenzwertig finde bitte ich dich eine Quelle zum Belegen der Regel


    zu posten oder alternativ einen Moderator ( @BugFix, @Oscar ) hier ein okay für zu geben.

    Hi! :)


    Also bei der Modifikation handelt es sich um die "Edain Mod 3.8.1" für "Der Herr der Ringe - Die Schlacht um Mittelerde - Der Aufstieg des Hexenkönigs". Der Installer ist für eine Submod der 3.8.1, welche Fehler und Balancing-Probleme in eben jener behebt. Automatisierungen werden keine vorgenommen, lediglich das Spiel für den Mehrspieler, worauf die Mod ausgelegt ist, verbessert und angepasst.



    das FileInstall läuft nicht im hintergrund sondern der code wartet bis es fertig installiert ist.
    vielleicht hilft dir das: https://www.autoitscript.com/f…16880-_largefilecopy-udf/

    Vielen Dank, hatte mich die Nacht noch belesen und die genaue Funktions- und Arbeitsweise von "FileInstall()" begutachtet.. ja - so scheint das dann auch überhaupt garnicht funktionieren zu können. Anfängerfehler :D.
    Vielen lieben Dank für die UDF, ich schau sie mir gleich mal an!


    Liebe Grüße,
    shanks

  • AutoIt
    $TEMPDIR_SIZE < $EP_INSTALLPATH+$FILESIZE

    In meinen Augen sollte $TEMPDIR_SIZE wie der Name gewählt, eine Größe darstellen (Byte/Bit/...). Bist du dir sicher, dass $EP_INSTALLPATH nicht wie der Name sagt einen Pfad enthält? $EP_INSTALLPATH+$FILESIZE ist auch ein Wiederspruch. Ich würde die Variablen Inhalte/Namen zunächst nochmal prüfen. Zusem ist unklar woher FILESIZE kommt, es ist in dem Code von dir nicht ersichtlich.