n´Abend,
Titel sagt eigentlich schon alles, ist für alle Radler/RadRenner.
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
#include <GUIConstants.au3>
$pi = 3.1415926535
$zoll_cm = 2.54
$switch = 1
$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)
$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)
_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
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
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
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
und hier zum Download:
autoit.de/wcf/attachment/2586/
gn8@all Stormy/Patrick