legend Posted September 19, 2013 Share Posted September 19, 2013 Hello, what is the reason this short code isn't work? $test = "15" if not $test = "1" Then MsgBox("","","test is not : 1") Else EndIf I could use: > <, bigger than or smaller than, but I'd like to use if not. Link to comment Share on other sites More sharing options...
mikell Posted September 19, 2013 Share Posted September 19, 2013 Because $test = "15" if not ($test = "1") Then MsgBox("","","test is not : 1") Else EndIf Link to comment Share on other sites More sharing options...
kylomas Posted September 19, 2013 Share Posted September 19, 2013 Try it like this $test = "15" if not ($test = "1") Then MsgBox("","","test is not : 1") Else EndIf Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
mikell Posted September 19, 2013 Share Posted September 19, 2013 Maybe kylomas answer is better than mine, may be (not) Link to comment Share on other sites More sharing options...
legend Posted September 19, 2013 Author Share Posted September 19, 2013 that worked, sorry for this stupid question, but why does it need : ( ) Link to comment Share on other sites More sharing options...
Belini Posted September 19, 2013 Share Posted September 19, 2013 (edited) @legend see if that helps. $test = "15" If not ($test = "1") Then MsgBox("", "", "test is not = 1") Else MsgBox("", "", "test is = 1") EndIf $test = Random(0, 10, 1) MsgBox("", "", "Number drawn = " & $test) If $test > 5 Then MsgBox("", "", "test is greater than 5") ElseIf $test < 5 Then MsgBox("", "", "Test is less than 5") Else MsgBox("", "", "test is equal to 5") EndIf $test = Random(1, 4, 1) MsgBox("", "", "Number drawn = " & $test) Switch $test Case 1 MsgBox("", "", "test is = 1") Case 2 MsgBox("", "", "test is = 2") Case 3 MsgBox("", "", "test is = 3") Case 4 MsgBox("", "", "test is = 4") EndSwitch Edited September 19, 2013 by Belini My Codes: Virtual Key Code UDF: http://www.autoitscript.com/forum/topic/138246-virtual-key-code-udf/ GuiSplashTextOn.au3: http://www.autoitscript.com/forum/topic/143542-guisplashtexton-udf/ Menu versions of Autoit: http://www.autoitscript.com/forum/topic/137435-menu-versions-of-autoit/#entry962011 Selects first folder of letters: ]http://www.autoitscript.com/forum/topic/144780-select-folders-by-letter/#entry1021708/spoiler] List files and folders with long addresses.: http://www.autoitscript.com/forum/topic/144910-list-files-and-folders-with-long-addresses/#entry102 2926 Program JUKEBOX made in Autoit:some functions:http://www.youtube.com/watch?v=WJ2tC2fD5Qs Navigation to search:http://www.youtube.com/watch?v=lblwOFIbgtQ Link to comment Share on other sites More sharing options...
mikell Posted September 19, 2013 Share Posted September 19, 2013 The answer is in the helpfile, see 'operators' 'not' checks a true/false logical operation, so you could get the same result using if not Execute($test = "1") Then ... Link to comment Share on other sites More sharing options...
Blue_Drache Posted September 19, 2013 Share Posted September 19, 2013 (edited) that worked, sorry for this stupid question, but why does it need : ( ) Because you're evaluating a literal string and not a numerical value? Edited September 19, 2013 by Blue_Drache Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache Link to comment Share on other sites More sharing options...
trancexx Posted September 19, 2013 Share Posted September 19, 2013 Correct answer is because operator NOT has higher precedence than operator =. Blue_Drache 1 ♡♡♡ . eMyvnE Link to comment Share on other sites More sharing options...
BrewManNH Posted September 19, 2013 Share Posted September 19, 2013 that worked, sorry for this stupid question, but why does it need : ( ) Because it checks whether or not $test is true before evaluating whether $test = "1", putting it in parentheses forces the comparison of $test = "1" to determine if that part is true, if ($test = "1") then it's true, so using Not checks to see if it's false If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
kylomas Posted September 19, 2013 Share Posted September 19, 2013 Maybe kylomas answer is better than mine, may be (not) Maybe I just type slower.. Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
DW1 Posted September 19, 2013 Share Posted September 19, 2013 Correct answer is because operator NOT has higher precedence than operator =. Meaning "Not $test" will be interpreted as "false" and "1" will be interpreted as "true" so what you have written is "If False = True". Right? AutoIt3 Online Help Link to comment Share on other sites More sharing options...
kylomas Posted September 19, 2013 Share Posted September 19, 2013 (edited) No, it is because if not $test = 1 evaluates $test for true or false then tests that result against 1, whereas, if not ($test = 1) evaluates the entire expression edit: without knowing the value of $test you do not know what it will evaluate to edit2: so far we've said the same thing three different ways... Edited September 19, 2013 by kylomas DW1 1 Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
mikell Posted September 19, 2013 Share Posted September 19, 2013 Understood ! $test = false If not not not $test = true Then MsgBox("","", not not not $test) Link to comment Share on other sites More sharing options...
kylomas Posted September 19, 2013 Share Posted September 19, 2013 Or $test = false If not not not $test Then MsgBox("","", not not not $test) *sigh*...long boring afternoon... Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
jchd Posted September 19, 2013 Share Posted September 19, 2013 (edited) Only women are concise here! Edited September 19, 2013 by jchd This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) 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