Zeitrechner möglich?

  • Hallo bräuchte mal hilfe.
    Brauche ein GUI zu erstellen mit 2 UHREN. das erste soll zeit anzeigen in format monate/Tag/stunde/minute/sekunde und zwar z.b. ab 1.1.2010
    und das andere soll zeigen wieviel zeit es noch verblieben ist bis angegebene date(im code). Und jetzt komme ich nicht klar wie ich das programmieren könnte, könnte vieleicht einer hinweise geben bitte. Also nur mit zeit anzeige. rest weiss ich. Es wäre sehr nett. vielen dank in voraus

    Einmal editiert, zuletzt von Antoschka2 (28. Juni 2010 um 20:10)

  • Hmm ja, nur das ich leide nicht weiss wie ich das Programm zum ausrechnen bringe. welche codes ich dafür benutzen soll. Oder gibts vielleicht irgendwelche ähnliche beispiele, wo ich nachgucken könnte? Im ganzen inet habe nix ähnliches gefunden, ausser countdowns und so, aber das brauche ich nicht.
    Vielen Dank

    • Offizieller Beitrag

    Ich hatte mal eine Funktion dazu geschrieben:

    Spoiler anzeigen
    [autoit]


    ; Beispiel für einen Countdown
    #include <Date.au3>
    $bStop = False
    HotKeySet('{ESC}', '_Stop')
    Do
    $iDiff = _DateDiff('s', '2010/01/01 00:00:00', _NowCalc())
    ToolTip(_SecondsToDateTime($iDiff), @DesktopWidth / 2 - 100, 2, '[ESC] = beenden', 1, 4)
    Sleep(500)
    Until $bStop
    Exit

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

    Func _Stop()
    $bStop = True
    EndFunc ;==>_Stop

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

    ;===============================================================================
    ; Function Name..: _SecondsToDateTime($iSeconds[, $iLang])
    ; Description....: Umwandlung von Sekunden in einen String mit Zeitangaben
    ; Parameter(s)...: $iSeconds = Wert in Sekunden
    ; $iLang
    ; 0 = Ausgabe in deutsch
    ; 1 = Ausgabe in englisch
    ; Return Value...: String (Wochen, Tage, Stunden, Minuten, Sekunden)
    ; Author.........: Oscar (http://www.autoit.de)
    ;===============================================================================
    Func _SecondsToDateTime($iSeconds, $iLang = 0)
    If $iLang < 0 Or $iLang > 1 Then $iLang = 0
    Local $sOut = '', $bCheck = False, $bNegative = False, $aDiv[5] = [604800, 86400, 3600, 60, 1]
    Local $aFormat[5][2] = [['Wochen', 'Weeks'],['Tage', 'Days'],['Stunden', 'Hours'],['Minuten', 'Minutes'],['Sekunden', 'Seconds']]
    If $iSeconds = 0 Then Return '0 ' & $aFormat[4][$iLang]
    If $iSeconds < 0 Then
    $bNegative = True
    $iSeconds = Abs($iSeconds)
    EndIf
    For $i = 0 To 4
    If ($iSeconds >= $aDiv[$i]) Or $bCheck Then
    $sOut &= Int($iSeconds / $aDiv[$i]) & ' '
    If Int($iSeconds / $aDiv[$i]) = 1 Then
    $sOut &= StringTrimRight($aFormat[$i][$iLang], 1) & ', '
    Else
    $sOut &= $aFormat[$i][$iLang] & ', '
    EndIf
    $bCheck = True
    EndIf
    $iSeconds = Mod($iSeconds, $aDiv[$i])
    Next
    If $bNegative Then $sOut = ' - ' & $sOut
    Return StringTrimRight($sOut, 2)
    EndFunc ;==>_SecondsToDateTime

    [/autoit]
  • vielen dank, genau das richtige!
    werde was spätermit dem ausseinandersetzen und durchkauen. :)

  • Genau so ;)

    Oder du lässt dir von der eingegebenen Monatsanzeige-1 den Wert / 2 teilen (weil ja die Hälfte der Monate immer 31 Tage haben. Das Ergebnis rechnest du dann *744 (31 (Tage) * 24 (Stunden). Das Ergebnis sind die Stunden der bisherigen 31 TagesMonate.


    Aber weiter weiß ich selber net ;D Is glaube auch nicht gerade der vorteilhafteste Weg, sowas zu tun. ^^