Hey E*pvpers.
Ich übe mich zurzeit ein wenig an AutoIt.
Wollte zur Übung einen kleinen BMI Berechner schreiben.
Es haben sich allerdings 2 Probleme ergeben:
1. Sobald ich einmal den Button "Berechne BMI" gedrückt habe wird mir ein Ergebnis angezeigt. Allerdings nur das eine Mal. Danach kann ich drücken und drücken und nichts passiert. Das gilt eig. für alle 3 Buttons.
2. Kriege ich zB. einen BMI von 19 raus, werden mir 3 Ergebnisse angezeigt anstatt eins. Dh. er prüft irgendwie nicht richtig, die ComboBox, sondern berechnet das für mehrere Sachen und gibt das Ergebnis raus.
Hier einmal der Code:
PHP Code:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Gewicht", 599, 285, 192, 124)
$Gewicht = GUICtrlCreateInput("Gewicht", 376, 24, 145, 21)
$BerechneBMI = GUICtrlCreateButton("Berechne Bmi", 208, 96, 201, 33, $WS_GROUP)
$Idealgewicht = GUICtrlCreateButton("Idealgewicht", 208, 144, 201, 33, $WS_GROUP)
$BewerteBMI = GUICtrlCreateButton("BewerteBMI", 208, 192, 201, 33, $WS_GROUP)
$Geschlecht = GUICtrlCreateCombo("Geschlecht", 256, 24, 105, 25)
GUICtrlSetData(-1, "Mann|Frau")
$Groesse = GUICtrlCreateInput("Groesse", 96, 24, 129, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $BerechneBMI
$BerechneBMI = GUICtrlRead($Gewicht) / GUICtrlRead($Groesse)^2
MsgBox(0,"Dein BMI", $BerechneBMI)
Case $Idealgewicht
$Idealgewicht = GUICtrlRead($Groesse)^2 * 22
MsgBox(0,"Dein Idealgewicht", $Idealgewicht)
Case $BewerteBMI
$BerechneBMI = GUICtrlRead($Gewicht) / GUICtrlRead($Groesse)^2
If $BerechneBMI < 18 & GUICtrlRead($Geschlecht) = "Frau" Then MsgBox(0, "Bewertung", "Untergewicht")
If $BerechneBMI >18 & $BerechneBMI <25 & GUICtrlRead($Geschlecht) = "Frau" Then MsgBox(0, "Bewertung", "Normalgewicht")
If $BerechneBMI > 26 & GUICtrlRead($Geschlecht) = "Frau" Then MsgBox(0, "Bewertung", "Übergewicht")
If $BerechneBMI < 20 & GUICtrlRead($Geschlecht) = "Mann" Then MsgBox(0, "Bewertung", "Untergewicht")
If $BerechneBMI > 20 & $BerechneBMI < 28 & GUICtrlRead($Geschlecht) = "Mann" Then MsgBox(0, "Bewertung", "Normalgewicht")
If $BerechneBMI > 28 & GUICtrlRead($Geschlecht) = "Mann" Then MsgBox(0, "Bewertung", "Übergewicht")
EndSwitch
WEnd
Hoffe mir kann da vllt jmd helfen.
Lg
Niklas