Stundenrechner ( Industriestunden )

  • Hi zusammen, endlich habe ich es Mal geschafft ganz ohne zusätzliche Hilfe ein kleines Programm zu erstellen :D

    Es handelt sich um einen Rechner, der Arbeitsstunden in Inustriestunden umrechnet.

    Feedback und konstruktive Kritik erbeten ;)

    Das Überarbeitete Skript:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=D:\Tools\Iconsammlung\clock.ico
    #AutoIt3Wrapper_Outfile=Stundenrechner.exe
    #AutoIt3Wrapper_Res_Comment=Rechnet Arbeitszeit in Industriestunden um
    #AutoIt3Wrapper_Res_Fileversion=1.0.1
    #AutoIt3Wrapper_Res_LegalCopyright=mike280399
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GUIConstants.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #Include <Date.au3>

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

    #Region ### START Koda GUI section ###
    $Form1_1 = GUICreate("Stundenrechner", 236, 193, 225, 127)
    $BEGINN_H = GUICtrlCreateInput("", 152, 16, 25, 21, $ES_NUMBER)
    GUICtrlSetLimit(-1,2)
    $BEGINN_M = GUICtrlCreateInput("", 180, 16, 25, 21, $ES_NUMBER)
    GUICtrlSetLimit(-1,2)
    $PAU_START_H = GUICtrlCreateInput("", 152, 40, 25, 21, $ES_NUMBER)
    GUICtrlSetLimit(-1,2)
    $PAU_START_M = GUICtrlCreateInput("", 180, 40, 25, 21, $ES_NUMBER)
    GUICtrlSetLimit(-1,2)
    $PAU_ENDE_H = GUICtrlCreateInput("", 152, 64, 25, 21, $ES_NUMBER)
    GUICtrlSetLimit(-1,2)
    $PAU_ENDE_M = GUICtrlCreateInput("", 180, 64, 25, 21, $ES_NUMBER)
    GUICtrlSetLimit(-1,2)
    $FEIERABEND_H = GUICtrlCreateInput("", 152, 88, 25, 21, $ES_NUMBER)
    GUICtrlSetLimit(-1,2)
    $FEIERABEND_M = GUICtrlCreateInput("", 180, 88, 25, 21, $ES_NUMBER)
    GUICtrlSetLimit(-1,2)
    $Sach = GUICtrlCreateButton("Sach an :D", 72, 150, 83, 25, 0)
    $Label1 = GUICtrlCreateLabel("Arbeitsbeginn:", 24, 18, 71, 17)
    $Label2 = GUICtrlCreateLabel("Pause von:", 24, 42, 58, 17)
    $Label3 = GUICtrlCreateLabel("Feierabend:", 24, 90, 60, 17)
    $Label4 = GUICtrlCreateLabel("Stunden:", 24, 114, 47, 17)
    $H_OUT = GUICtrlCreateLabel("H", 152, 114, 60, 17)
    $Label5 = GUICtrlCreateLabel("Pause bis:", 24, 66, 53, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Sach
    $Wert01 = GUICtrlRead($BEGINN_H)
    $Wert02 = GUICtrlRead($BEGINN_M)
    $Wert03 = GUICtrlRead($PAU_START_H)
    $Wert04 = GUICtrlRead($PAU_START_M)
    $Wert05 = GUICtrlRead($PAU_ENDE_H)
    $Wert06 = GUICtrlRead($PAU_ENDE_M)
    $Wert07 = GUICtrlRead($FEIERABEND_H)
    $Wert08 = GUICtrlRead($FEIERABEND_M)
    $Vormittag = ($Wert03 - $Wert01) + (($Wert04 - $Wert02) / 60)
    $Pause = ($Wert05 - $Wert03) + (($Wert06 - $Wert04) / 60 )
    $Nachmittag = ($Wert07 - $Wert05) + (($Wert08 - $Wert06) / 60)
    IF ($Wert03 + ($wert04 / 60)) < ($wert01 + ($Wert02 / 60)) Then
    MsgBox (0, "Bitte Eingaben prüfen", "Der Pausenbeginn liegt vor dem Arbeitsbeginn")
    ElseIf ($Wert07 + ($Wert08 / 60)) < ( $Wert05 + ($wert06 / 60)) Then
    MsgBox (0, "Bitte Eingaben prüfen", "Der Feierabend liegt vor dem Pausenende")
    ElseIf ($wert05 + ($Wert06 / 60)) < ($Wert03 + ($Wert04 / 60)) Then
    MsgBox (0, "Bitte Eingaben prüfen", "Das Pausenende liegt vor dem Pausenbeginn")
    Else
    $Stunden = Round(($Vormittag + $Nachmittag), 2)
    GUICtrlSetData($H_OUT, ($Stunden) & ' H')
    EndIf
    EndSwitch
    WEnd

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


    Die überarbeitete Datei: autoit.de/wcf/attachment/14324/

    Die "alten" "Dinger" lass ich stehen, damit man`s Feedback nachvollziehen kann ;)

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=D:\Tools\Iconsammlung\clock.ico
    #AutoIt3Wrapper_Outfile=Stundenrechner.exe
    #AutoIt3Wrapper_Res_Comment=Rechnet Arbeitszeit in Industriestunden um
    #AutoIt3Wrapper_Res_Fileversion=1.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=mike280399
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ###
    $Form1_1 = GUICreate("Stundenrechner", 236, 193, 225, 127)
    $BEGINN_H = GUICtrlCreateInput("", 152, 16, 25, 21)
    $BEGINN_M = GUICtrlCreateInput("", 180, 16, 25, 21)
    $PAU_START_H = GUICtrlCreateInput("", 152, 40, 25, 21)
    $PAU_START_M = GUICtrlCreateInput("", 180, 40, 25, 21)
    $PAU_ENDE_H = GUICtrlCreateInput("", 152, 64, 25, 21)
    $PAU_ENDE_M = GUICtrlCreateInput("", 180, 64, 25, 21)
    $FEIERABEND_H = GUICtrlCreateInput("", 152, 88, 25, 21)
    $FEIERABEND_M = GUICtrlCreateInput("", 180, 88, 25, 21)
    $Sach = GUICtrlCreateButton("Sach an :D", 72, 150, 83, 25, 0)
    $Label1 = GUICtrlCreateLabel("Arbeitsbeginn:", 24, 18, 71, 17)
    $Label2 = GUICtrlCreateLabel("Pause von:", 24, 42, 58, 17)
    $Label3 = GUICtrlCreateLabel("Feierabend:", 24, 90, 60, 17)
    $Label4 = GUICtrlCreateLabel("Stunden:", 24, 114, 47, 17)
    $H_OUT = GUICtrlCreateLabel("H", 152, 114, 60, 17)
    $Label5 = GUICtrlCreateLabel("Pause bis:", 24, 66, 53, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Sach
    $Wert01 = GUICtrlRead($BEGINN_H)
    $Wert02 = GUICtrlRead($BEGINN_M)
    $Wert03 = GUICtrlRead($PAU_START_H)
    $Wert04 = GUICtrlRead($PAU_START_M)
    $Wert05 = GUICtrlRead($PAU_ENDE_H)
    $Wert06 = GUICtrlRead($PAU_ENDE_M)
    $Wert07 = GUICtrlRead($FEIERABEND_H)
    $Wert08 = GUICtrlRead($FEIERABEND_M)
    $Stunden = Round((($Wert03 - $Wert01) + ($Wert07 - $Wert05)) + ((($wert04 - $Wert02) + ($Wert08 - $Wert06)) / 60 ), 2)
    GUICtrlSetData($H_OUT, ($Stunden) & ' H')

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

    EndSwitch
    WEnd

    [/autoit]

    Erste Datei: autoit.de/wcf/attachment/14317/

    Grüße

    Mike

  • Paar kleiner Verbesserungsvorschläge:

    - Prüfen ob auch wirklich Zahlen eingegeben wurden
    -Prüfen ob das eingegeben überhaupt Sinn macht. Sprich aktuell kann man z.B. eingeben, dass man um 10 Uhr angefangen hat zu arbeiten, aber im 8 Uhr schon Pause gemacht hat.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.