Zeitberechnung

  • Hallo Leute,

    Habe mir eine Funktion gebaut die mir Eine Zeitdiferenz ausgibt getrennt in Stunden (h)
    Minuten (m) und Sekunden (s)

    [autoit]


    Func ZEITAUSWERTUNG()
    $dif = TimerDiff($begin)
    $sdif = ($dif/1000)
    $sdif = StringFormat('%02d', $sdif)
    $mdif = ($dif/1000)/60
    $mdif = StringFormat('%02d', $mdif)
    $hdif = (($dif/1000)/60)/60
    $hdif = StringFormat('%02d', $hdif)
    EndFunc

    [/autoit]

    Mein Problem ist das bei der ausgabe der Sekunden ($sdif) 90 ausgibt.
    Ich will aber dort nur 30 und in den minuten 1 haben
    habe denke ich einen gedanken fehler...

    Ich denke nicht das der Programmcode Falsch ist sondern die Berechnung

    Ich wollte

    Einmal editiert, zuletzt von micneu (15. August 2008 um 23:00)

  • so gehts:

    [autoit]


    $timeinit = TimerInit()
    sleep(random(1000,200000))
    $timediff = TimerDiff($timeinit)
    msgbox(0,"a",$timediff) ; zum vergleich
    $zeit = formattime($timediff)

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

    msgbox(0,"Zeit","Zeit = "&$zeit[1]&":"&$zeit[2]) ; ausgabe möglichkeit

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

    func formattime($time)
    local $dec = ""
    $tmp = StringTrimRight(StringFormat('%02d', $time),3)
    $zeit = stringsplit($tmp/60,".")
    if stringtrimright($zeit[2],stringlen($zeit[2])-1) = 0 then $dec = "0"
    $zeit[2] = $dec & Round($zeit[2]/100*60,0)
    $zeit[2] = stringtrimright($zeit[2],stringlen($zeit[2])-2)
    return $zeit
    EndFunc

    [/autoit]

    wobei mir die vorgehensweise eigendlich nicht so behagt ;)

    müsste was einfacheres geben