Fahrrad/Rennrad Rahmengröße+Entfaltung berechnen - Tool

  • n´Abend,

    Titel sagt eigentlich schon alles, ist für alle Radler/RadRenner. :D
    2 GUIs, Switchbar zwischen beiden, Eingabe von mehreren erforderlichen Werten oder bei Rahmengröße (Rennrad) einen Wert, 2 "berechnen"-Funktionen die das ganze schön auslesen und mit den Werten rechnen
    Momentan nicht enthalten: Fehlerabfrage/Abfangen, z.Bsp. Buchstaben oder mit Komma getrennte Zahlen eingeben.
    Doch seht selbst, hier das Skript,

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    $pi = 3.1415926535
    $zoll_cm = 2.54
    $switch = 1

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

    $hGUI1 = GUICreate("Fahrrad - Meter pro Umdrehung",280,200,-1,-1,BitOR($WS_CAPTION,$WS_SYSMENU),$WS_EX_TOPMOST)
    GUICtrlCreateLabel("Anzahl Zähne Kranz 1/Vorne:",35,20,150,20)
    $hInput1 = GUICtrlCreateInput("",205,16,40,20)
    GUICtrlCreateLabel("Anzahl Zähne Kranz 2/Hinten:",35,45,150,20)
    $hInput2 = GUICtrlCreateInput("",205,41,40,20)
    GUICtrlCreateLabel("Wieviel Zoll hat der Hinterreifen?",35,70,170,20)
    $hInput3 = GUICtrlCreateInput("",215,66,40,20)
    $ok = GUICtrlCreateButton("Berechnen",100,100,80,20)
    $hEntfaltung = GUICtrlCreateLabel("",20,130,240,20)
    $hSwitch = GUICtrlCreateButton("Rahmengröße für Rennräder ausrechnen.",30,170,220,20)

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

    $hGUI2 = GUICreate("Rahmengröße Rennräder",400,200,-1,-1,BitOR($WS_CAPTION,$WS_SYSMENU),$WS_EX_TOPMOST)
    GUICtrlCreateLabel("Bitte Schrittlänge messen. Hierzu Maßband an Ferse anlegen und hoch",20,20,360,20)
    GUICtrlCreateLabel("bis zum Innenschenkel/Schritt.(wo die Satteloberfläche normalerweise wäre)",20,40,360,20)
    $hInput1_2 = GUICtrlCreateInput("",180,70,40,20)
    $ok2 = GUICtrlCreateButton("Berechnen",160,100,80,20)
    $hRahmen = GUICtrlCreateLabel("",80,130,260,20)
    $hSwitch2 = GUICtrlCreateButton("Entfaltung (Meter/Umdr) ausrechnen.",100,170,200,20)

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

    _switch()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $ok
    _berechnen()
    Case $msg = $ok2
    _berechnen2()
    Case $msg = $hSwitch Or $msg = $hSwitch2
    _switch()
    EndSelect
    WEnd

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

    Func _switch()
    If $switch = 1 Then
    GUISetState(@SW_HIDE,$hGUI2)
    GUISetState(@SW_SHOW,$hGUI1)
    $switch = 0
    Else
    GUISetState(@SW_HIDE,$hGUI1)
    GUISetState(@SW_SHOW,$hGUI2)
    $switch = 1
    EndIf
    EndFunc

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

    Func _berechnen()
    $z_vorne = GUICtrlRead($hInput1)
    $z_hinten = GUICtrlRead($hInput2)
    $zoll = GUICtrlRead($hInput3)
    $durchmesser = $zoll_cm*$zoll
    $entfaltung = $z_vorne/$z_hinten* $durchmesser*$pi/100
    $entfaltung = Round($entfaltung,2)
    GUICtrlSetData($hEntfaltung,"Die Entfaltung beträgt "&$entfaltung&" Meter/Umdrehung.")
    EndFunc

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

    Func _berechnen2()
    $schrittlength = GUICtrlRead($hInput1_2)
    $zoll = 0.66*$schrittlength+2
    $zoll = Round($zoll,2)
    GUICtrlSetData($hRahmen,"Die Rahmenhöhe beträgt "&$zoll&" Zoll bei Rennrädern.")
    EndFunc

    [/autoit]

    und hier zum Download:
    autoit.de/wcf/attachment/2586/

    gn8@all Stormy/Patrick