Progresset mit varierbarer zahl genau bestimmen ?

  • hallo leute habe folgenden script

    Spoiler anzeigen
    [autoit]

    Local $der
    $der = FileReadLine("file.txt", 1)
    for $i = 1 to $der
    $1 = FileReadLine($filename0,$i)
    $2 = FileReadLine($filename3,$i)
    Inetget($Ip&$1,@ScriptDir &$2)
    $der50 = $der/ 2
    If $der50 Then ProgressSet(50,50,"50 %")
    Next
    ProgressSet(100,"100 %")
    Sleep(200)
    ProgressOff()

    [/autoit]

    die variable $der ist immer eine andere zahl
    und mein problem ist folgendes wie kann ich dafür sorgen das ich (über progresset) immer $der berechnen kann also z.B. wenn er die hälfte der zahl hatt das ich dann 50 % anzeigen kann
    mit

    [autoit]

    $der50 = $der/2
    If $der50 Then ProgressSet(50,50,"50 %")

    [/autoit]


    und mit

    [autoit]

    If $der / 2 Then ProgressSet(50,50,"50%"

    [/autoit]


    geht es leider nicht wie wäre das realisierbar

    komme nicht weiter habe mir auch die hilfe nochmal angeschaut aber komme damit nicht klar

    wäre echt cool wenn jemand eine Lösung hätte

    MfG Eistee

  • also erstmal brauchst du etwas absolutes um einen bezugspunkt zu setzen... klar das If $der50 nicht geht denn du musst schon einen operator angeben also vllt so? If $der/2 = ja keine ahnung was.. ist ja quasi immer der fall... was hat denn dein script überhaupt für einen sinn?

    Wenn er die Hälfte der Zahl hat???? das versteh ich auch net... wie kann er denn die hälfte haben wenns immer ne andere Zahl ist?

    Ach jetzt chegg ich das :D

    so?:

    Spoiler anzeigen
    [autoit]

    Local $der
    $der = FileReadLine("file.txt", 1)
    for $i = 1 to $der
    $1 = FileReadLine($filename0,$i)
    $2 = FileReadLine($filename3,$i)
    Inetget($Ip&$1,@ScriptDir &$2)
    $prozent = $i/$der*100
    $prozent = StringSplit($prozent, ".")
    If IsArray($prozent) Then ProgressSet(50,50,$prozent[1]&" %")
    Next
    Sleep(200)
    ProgressOff()

    [/autoit]

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • FireFlyer
    Danke das ist perfekt genau das was ich wollte habe es noch bissel erweitert jetzt zeigt er noch an bei welcher datei er grade ist ^^
    der sinn dessen ist ein Update script für ein game ich poste mal eben den ganzen script mom

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ComboConstants.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    #include <ListBoxConstants.au3>
    #include <TabConstants.au3>
    #include <EditConstants.au3>
    #include <DateTimeConstants.au3>
    #include <SliderConstants.au3>
    #include <TreeViewConstants.au3>
    #include <ProgressConstants.au3>
    #include <AVIConstants.au3>
    #include <UpDownConstants.au3>
    #include<Array.au3>
    #include<File.au3>
    #NoTrayIcon
    $IpRead123 = FileReadLine("Launcher.txt", 6)
    $file = InetGetSize($IpRead123 & "/UpdateVersion.txt")
    If @error Then
    FileInstall("BG.jpg",@TempDir & "\BG.jpg")
    FileInstall("Start.jpg",@TempDir & "\Start.jpg")
    FileInstall("Options.jpg",@TempDir & "\Options.jpg")
    FileInstall("Website.jpg",@TempDir & "\Website.jpg")
    FileInstall("Close.jpg",@TempDir & "\Close.jpg")
    $Lname = FileReadLine("Launcher.txt",2)
    $notice = FileRead("notice.txt")
    $HTT = FileReadLine("Launcher.txt",4)
    $Form1 = GUICreate($Lname, 550, 300, 516, 204,$WS_POPUP)
    $Pic2 = GUICtrlCreatePic(@TempDir & "\Start.jpg", 38, 265, 130, 30, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic3 = GUICtrlCreatePic(@TempDir & "\Options.jpg", 212, 265, 130, 30, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic4 = GUICtrlCreatePic(@TempDir & "\Website.jpg", 382, 265, 130, 30, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic5 = GUICtrlCreatePic(@TempDir & "\Close.jpg", 532, 0, 20, 20, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic1 = GUICtrlCreatePic(@TempDir & "\BG.jpg", 0, 0, 550, 300, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$Ws_Disabled))
    $Edit1 = GUICtrlCreateEdit("", 38, 168, 474, 89)
    GUICtrlSetData(-1, $notice)
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetColor(-1, 0xffffff)
    $Label1 = GUICtrlCreateLabel(" KalOnline", 240, 5, 92, -1)
    GUICtrlSetFont(-1, 14, 800, 0, "Narkisim")
    GUICtrlSetColor(-1, 0xC0C0C0)
    GUICtrlSetBkColor(-1, $WS_EX_TRANSPARENT)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Pic2
    _1()
    Case $Pic3
    _2()
    Case $Pic4
    _3()
    Case $Pic5
    _4()
    EndSwitch
    WEnd
    ElseIf $file > 0 Then
    _u ()
    EndIf
    Func _u ()
    $IpRead = FileReadLine("Launcher.txt", 6)
    If FileExists("C:\UpdateVersion.txt") Then
    _Funce ()
    Else
    FileWrite("C:\UpdateVersion.txt", "1234567gdertfderdvbhtt")
    Sleep(1000)
    _Funce ()
    EndIf
    EndFunc
    Func _Funce ()
    $IpRead = FileReadLine("Launcher.txt", 6)
    $Ip2 = ($IpRead)
    $ver = FileRead("C:\UpdateVersion.txt")
    InetGet($Ip2 &"/UpdateVersion.txt",@ScriptDir &"\UpdateVersion.txt")
    $file = FileOpen(@ScriptDir & "\UpdateVersion.txt", 0)
    $line = FileRead($file)
    If $line = $ver Then
    FileClose($file)
    Else
    FileClose($file)
    Sleep(500)
    FileDelete("C:\UpdateVersion.txt")
    Sleep(1000)
    FileCopy(@ScriptDir & "\UpdateVersion.txt", "C:\UpdateVersion.txt")
    ProgressOn("Checking Resource", "Checking Resource")
    Sleep(1000)
    ProgressSet(20, "Checking Resource", "20 %")
    Sleep(1000)
    ProgressSet(50, "Checking Resource", "50 %")
    Sleep(1000)
    ProgressSet(100, "Checking Resource", "100 %")
    Sleep(500)
    ProgressOff()
    _Func ()
    EndIf
    EndFunc
    Func _Func ()
    $IpRead = FileReadLine("Launcher.txt", 6)
    $Ip = ($IpRead)
    Local $meinarray
    InetGet($Ip &"/file.list",@ScriptDir &"\file.list")
    $filename = (@ScriptDir &"\file.list")
    $FILEPATH = (@ScriptDir &"\file.txt")
    $hFile = FileOpen($filename,0)
    _FilereadToArray($filename, $meinarray)
    _FileWriteFromArray($FILEPATH, $meinarray)
    $split = StringRegExp(FileRead(FileOpen(@ScriptDir & '\file.txt', 0)), '(?<=\n|\A).*(?=,)', 3)
    $file = FileOpen("UpdInf.txt",2)
    For $i = 0 To Ubound($split) -1
    FileWrite("UpdInf.txt", $split[$i] & @crlf)
    Next
    $filename1 = @ScriptDir & '\UpdInf.txt'
    $filename2 = @ScriptDir & '\UpdInf2.txt'
    Local $meinarray1
    Local $nLfd
    _FileReadToArray($filename1,$meinarray1)
    For $nLfd = 1 To $meinarray1[0]
    $meinarray1[$nLfd] = StringRegExpReplace($meinarray1[$nLfd],'\\','\/')
    $meinarray1[$nLfd] = StringRegExpReplace($meinarray1[$nLfd],'\./','/')
    Next
    _FileWriteFromArray($filename1,$meinarray1,1,$meinarray1[0])
    $filename1 = @ScriptDir & '\UpdInf.txt'
    $filename2 = @ScriptDir & '\UpdInf2.txt'
    Local $meinarray1
    Local $nLfd
    _FileReadToArray($filename1,$meinarray1)
    For $nLfd = 1 To $meinarray1[0]
    $meinarray1[$nLfd] = StringRegExpReplace($meinarray1[$nLfd],'\/','\\')
    $meinarray1[$nLfd] = StringRegExpReplace($meinarray1[$nLfd],'\.\','\\')
    Next
    _FileWriteFromArray($filename2,$meinarray1,1,$meinarray1[0])
    ProgressOn("Found KalOnline Updates", "KalOnline Update in Progress", "Update",-1,-1,18)
    $filename0 = FileOpen("UpdInf.txt",0)
    $filename3 = FileOpen("UpdInf2.txt",0)
    ProgressSet(0,"0%")
    Local $der
    $der = FileReadLine("file.txt", 1)
    for $i = 1 to $der
    $1 = FileReadLine($filename0,$i)
    $2 = FileReadLine($filename3,$i)
    Inetget($Ip&$1,@ScriptDir &$2)
    $prozent = $i/$der*100
    $prozent = StringSplit($prozent, ".")
    If IsArray($prozent) Then ProgressSet($prozent[1],$2,$prozent[1]&" %")
    Next
    Sleep(200)
    ProgressOff()
    FileClose(@ScriptDir &"UpdInf.txt")
    FileClose(@ScriptDir &"UpdInf2.txt")
    FileClose(@ScriptDir &"file.list")
    FileClose(@ScriptDir &"file.txt")
    FileDelete(@ScriptDir &"UpdInf.txt")
    FileDelete(@ScriptDir &"UpdInf2.txt")
    FileDelete(@ScriptDir &"file.list")
    FileDelete(@ScriptDir &"file.txt")
    MsgBox(0,"Updates", "All Updates Finished", 1)
    Sleep(50)
    MsgBox(0,"Updates", "All Updates Finished", 1)
    Sleep(50)
    MsgBox(0,"Updates", "All Updates Finished", 1)
    Sleep(50)
    EndFunc
    FileInstall("BG.jpg",@TempDir & "\BG.jpg")
    FileInstall("Start.jpg",@TempDir & "\Start.jpg")
    FileInstall("Options.jpg",@TempDir & "\Options.jpg")
    FileInstall("Website.jpg",@TempDir & "\Website.jpg")
    FileInstall("Close.jpg",@TempDir & "\Close.jpg")
    $Lname = FileReadLine("Launcher.txt",2)
    $notice = FileRead("notice.txt")
    $HTT = FileReadLine("Launcher.txt",4)
    $Form1 = GUICreate($Lname, 550, 300, 516, 204,$WS_POPUP)
    $Pic2 = GUICtrlCreatePic(@TempDir & "\Start.jpg", 38, 265, 130, 30, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic3 = GUICtrlCreatePic(@TempDir & "\Options.jpg", 212, 265, 130, 30, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic4 = GUICtrlCreatePic(@TempDir & "\Website.jpg", 382, 265, 130, 30, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic5 = GUICtrlCreatePic(@TempDir & "\Close.jpg", 532, 0, 20, 20, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Pic1 = GUICtrlCreatePic(@TempDir & "\BG.jpg", 0, 0, 550, 300, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS,$Ws_Disabled))
    $Edit1 = GUICtrlCreateEdit("", 38, 168, 474, 89)
    GUICtrlSetData(-1, $notice)
    GUICtrlSetBkColor(-1, 0x000000)
    GUICtrlSetColor(-1, 0xffffff)
    $Label1 = GUICtrlCreateLabel(" KalOnline", 240, 5, 92, -1)
    GUICtrlSetFont(-1, 14, 800, 0, "Narkisim")
    GUICtrlSetColor(-1, 0xC0C0C0)
    GUICtrlSetBkColor(-1, $WS_EX_TRANSPARENT)
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Pic2
    _1()
    Case $Pic3
    _2()
    Case $Pic4
    _3()
    Case $Pic5
    _4()
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd
    Func _1 ()
    ShellExecute("engine.exe","/load /config debug")
    Exit
    Endfunc
    Func _3 ()
    ShellExecute($HTT)
    EndFunc
    Func _2 ()
    FileInstall("Reso.exe","Reso.exe")
    MsgBox(0, "Setting", "Here you can change the Game Resolution, other settings please change in Game",4)
    Sleep(500)
    Run("Reso.exe")
    Exit
    EndFunc
    Func _4 ()
    Exit
    Endfunc

    [/autoit]


    Danke Nochmal MfG Eistee