Clemens Posted June 3, 2009 Share Posted June 3, 2009 I'm really irritated! It's just a simple program whith such a simple algorithm... although with wrong results... but have a own look: GLOBAL $num1 GLOBAL $num2 $GUI = GUICreate("Bigger Or Smaller", 220, 110) GUICtrlCreateLabel("I'll tell you the relation between the numbers", 10, 10) GUICtrlCreateLabel(" But if you use (for example) 2 and 10", 10, 25) GUICtrlCreateLabel(" I'll tell you a wrong result!", 10, 40) $GUIZahl_Start = GUICtrlCreateInput("0", 10, 70, 35, -1, 0x2000) GUICtrlCreateUpdown(-1) $GUIZahl_Ende = GUICtrlCreateInput("0", 50, 70, 35, -1, 0x2000) GUICtrlCreateUpdown(-1) $GUIKnopf_Start = GUICtrlCreateButton(" Find out ! ", 100, 70) GUISetState(@SW_SHOW) LOCAL $GUI_Result WHILE 1 $GUI_Result = GUIGetMsg(0) IF $GUI_Result = $GUI_EVENT_CLOSE THEN EXIT; "x" or ESC = close program IF $GUI_Result = $GUIKnopf_Start THEN $num1 = GUICtrlRead($GUIZahl_Start) $num2 = GUICtrlRead($GUIZahl_Ende) IF $num1 > $num2 THEN ; BUG!! MsgBox(0 + 48, "Interpret", "I say that " & $num1 & " is bigger (>) than " & $num2) ELSE IF $num1 = $num2 THEN MsgBox(0 + 48, "Interpret", "I say that " & $num1 & " is equal (=) " & $num2) ELSE MsgBox(0 + 48, "Interpret", "I say that " & $num1 & " is smaller (<) than " & $num2) ENDIF ENDIF ENDIF WEND Do you get wrong results, as well? I'm using AutoIt 3.3.0.0! Greetings, Clemens Link to comment Share on other sites More sharing options...
James Posted June 3, 2009 Share Posted June 3, 2009 Just some logic errors. #include <GUIConstants.au3> Global $num1 Global $num2 $GUI = GUICreate("Bigger Or Smaller", 220, 110) GUICtrlCreateLabel("I'll tell you the relation between the numbers", 10, 10) GUICtrlCreateLabel(" But if you use (for example) 2 and 10", 10, 25) GUICtrlCreateLabel(" I'll tell you a wrong result!", 10, 40) $GUIZahl_Start = GUICtrlCreateInput("0", 10, 70, 35, -1, 0x2000) GUICtrlCreateUpdown(-1) $GUIZahl_Ende = GUICtrlCreateInput("0", 50, 70, 35, -1, 0x2000) GUICtrlCreateUpdown(-1) $GUIKnopf_Start = GUICtrlCreateButton(" Find out ! ", 100, 70) GUISetState(@SW_SHOW) Local $GUI_Result While 1 $GUI_Result = GUIGetMsg(0) If $GUI_Result = $GUI_EVENT_CLOSE Then Exit; "x" or ESC = close program If $GUI_Result = $GUIKnopf_Start Then $num1 = GUICtrlRead($GUIZahl_Start) $num2 = GUICtrlRead($GUIZahl_Ende) If $num1 = $num2 Then MsgBox(0 + 48, "Interpret", "I say that " & $num1 & " is equal (=) " & $num2) ElseIf $num1 > $num2 Then MsgBox(0 + 48, "Interpret", "I say that " & $num1 & " is bigger (>) than " & $num2) ElseIf $num1 < $num2 Then MsgBox(0 + 48, "Interpret", "I say that " & $num1 & " is smaller (<) than " & $num2) EndIf EndIf WEnd Blog - Seriously epic web hosting - Twitter - GitHub - Cachet HQ Link to comment Share on other sites More sharing options...
SkinnyWhiteGuy Posted June 3, 2009 Share Posted June 3, 2009 It's comparing them as strings, I'll bet. Try using Number() when pulling the data from the controls. Link to comment Share on other sites More sharing options...
Clemens Posted June 3, 2009 Author Share Posted June 3, 2009 @JamesBrooks: Your code may be more elegant, but the logic is the same @SkinnyWhiteGuy: This was it! ... what else should it had be Thanks Link to comment Share on other sites More sharing options...
James Posted June 3, 2009 Share Posted June 3, 2009 @JamesBrooks: Your code may be more elegant, but the logic is the same @SkinnyWhiteGuy: This was it! ... what else should it had be Thanks Meh, it works. Blog - Seriously epic web hosting - Twitter - GitHub - Cachet HQ Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now