rm4453 Posted March 21, 2016 Posted March 21, 2016 I keep getting error : Statement cannot be just an expression. Here are the 3 error variations it gives: Global $ImageCount += 1 ~~~~~~~~~~~~~~~~~~~~~^ Global $ImageCount += 1 ~~~~~~~~~~~~~~~~~~~~^ Global $ImageCount += ~~~~~~~~~~~~~~~~~~~^ Here is the code: expandcollapse popupCase $Image1 ;GUICtrlSetState($Image1, 4+128) GUICtrlSetState($Image2, 64) $Image1_done = 1 OpenImages() Global $Image1_added = $imagePath ;MsgBox("Info", "Image 1 Path", $Image1_added) OpenEditBox() Global $Image1_Description = $editBox_save If $im1 = 0 Then Global $ImageCount += 1 $im1 = 1 EndIf Case $Image2 If $Image1_done = 1 Then ;GUICtrlSetState($Image2, 4+128) GUICtrlSetState($Image3, 64) OpenImages() Global $Image2_added = $imagePath ;MsgBox("Info", "Image 2 Path", $Image2_added) OpenEditBox() Global $Image2_Description = $editBox_save $Image2_done = 1 If $im2 = 0 Then Global $ImageCount += 1 $im2 = 1 EndIf Else EndIf Case $Image3 If $Image2_done = 1 Then ;GUICtrlSetState($Image3, 4+128) GUICtrlSetState($Image4, 64) OpenImages() Global $Image3_added = $imagePath ;MsgBox("Info", "Image 3 Path", $Image3_added) OpenEditBox() Global $Image3_Description = $editBox_save $Image3_done = 1 If $im3 = 0 Then Global $ImageCount += 1 $im3 = 1 EndIf Else EndIf Case $Image4 If $Image3_done = 1 Then ;GUICtrlSetState($Image4, 4+128) GUICtrlSetState($Image5, 64) OpenImages() Global $Image4_added = $imagePath ;MsgBox("Info", "Image 4 Path", $Image4_added) OpenEditBox() Global $Image4_Description = $editBox_save $Image4_done = 1 If $im4 = 0 Then Global $ImageCount += 1 $im4 = 1 EndIf Else EndIf Case $Image5 If $Image4_done = 1 Then ;GUICtrlSetState($Image5, 4+128) GUICtrlSetState($Image6, 64) OpenImages() Global $Image5_added = $imagePath ;MsgBox("Info", "Image 5 Path", $Image5_added) OpenEditBox() Global $Image5_Description = $editBox_save $Image5_done = 1 If $im5 = 0 Then Global $ImageCount += 1 $im5 = 1 EndIf Else EndIf Case $Image6 If $Image1_done = 1 Then ;GUICtrlSetState($Image6, 4+128) OpenImages() Global $Image6_added = $imagePath ;MsgBox("Info", "Image 6 Path", $Image6_added) OpenEditBox() Global $Image6_Description = $editBox_save If $im6 = 0 Then Global $ImageCount += 1 $im6 = 1 EndIf Else EndIf
alien4u Posted March 21, 2016 Posted March 21, 2016 You can't increment a value on a variable that not exists yet. $ImagenCount +=1 Mean that you are adding 1 to the previous value of $ImageCount, where is the previous value if you don't declare the variable before that operation? You can initiate a variable like this: $ImageCount = "" ; Initiate the variable with null value(empty). Happy Coding... Kind Regards Alien.
rm4453 Posted March 21, 2016 Author Posted March 21, 2016 2 minutes ago, alien4u said: You can't increment a value on a variable that not exists yet. $ImagenCount +=1 Mean that you are adding 1 to the previous value of $ImageCount, where is the previous value if you don't declare the variable before that operation? You can initiate a variable like this: $ImageCount = "" ; Initiate the variable with null value(empty). Happy Coding... Kind Regards Alien. It is already declared sorry forgot to mention that... It is declared as 0 at script startup Then is set to a value based off of ini it will never be bigger than 6 so I don't see how this is a problem...
water Posted March 21, 2016 Posted March 21, 2016 What do you expect $ImageCount to be after the statement? 1? Then use: Global $ImageCount = 1 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
BrewManNH Posted March 21, 2016 Posted March 21, 2016 You're redeclaring it with the Global statement, so the above answer still stands. 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
water Posted March 21, 2016 Posted March 21, 2016 Then simply remove "Global" to increment the variable: $ImageCount += 1 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
rm4453 Posted March 21, 2016 Author Posted March 21, 2016 Just now, water said: What do you expect $ImageCount to be after the statement? 1? Then use: Global $ImageCount = 1 I expect $ImageCount to be anywhere in this range 1-6 "the script sets it to 6 if it is 6 or greater before it starts the Image upload that way it will loop no more than 6 times.... because the user is only able to select 6 images to upload"
rm4453 Posted March 21, 2016 Author Posted March 21, 2016 (edited) I don't fully understand what += 1 does i'm wanting it to increment the variable by 1 i don't care if it goes above 6 because the upload function sets it to 6 if it is 6 or greater that way it only loops 6 times... This page specifies that this should work just fine.... https://www.autoitscript.com/autoit3/docs/intro/lang_operators.htm Edited March 21, 2016 by rm4453 added link to extra info
water Posted March 21, 2016 Posted March 21, 2016 +=1 does exactly what you want: "i'm wanting it to increment the variable by 1" My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
rm4453 Posted March 21, 2016 Author Posted March 21, 2016 Just now, water said: +=1 does exactly what you want: "i'm wanting it to increment the variable by 1" Then why does it keep throwing the error? is it just a bug or something?
alien4u Posted March 21, 2016 Posted March 21, 2016 As I already said: +=1 mean you will add 1 to the previous value of the variable. If you have Global $ImageCount = "" (declaration of your variable) early in your code, then like BrewManNH said, you can't use Global $ImageCount +=1 again because with the Global statement your redeclaring your variable again but you can't do that using += because that is not the way you declare a variable, does not make any sense. In the other hand I think the best way to do this is creating a function and send values to that function, so you can use an While loop when you finish your cases that will be better to count and no depend on Global variables. Kind Regards Alien.
rm4453 Posted March 21, 2016 Author Posted March 21, 2016 2 minutes ago, alien4u said: As I already said: +=1 mean you will add 1 to the previous value of the variable. If you have Global $ImageCount = "" (declaration of your variable) early in your code, then like BrewManNH said, you can't use Global $ImageCount +=1 again because with the Global statement your redeclaring your variable again but you can't do that using += because that is not the way you declare a variable, does not make any sense. In the other hand I think the best way to do this is creating a function and send values to that function, so you can use an While loop when you finish your cases that will be better to count and no depend on Global variables. Kind Regards Alien. So If I take Global off it should be fine? Using the later of the two? ex: Global $ImageCount += 1 $ImageCount +=1
alien4u Posted March 21, 2016 Posted March 21, 2016 1 hour ago, rm4453 said: I expect $ImageCount to be anywhere in this range 1-6 "the script sets it to 6 if it is 6 or greater before it starts the Image upload that way it will loop no more than 6 times.... because the user is only able to select 6 images to upload" If you set the value of $ImageCount to 6 when you first declare it and you increment that by 1 how to do expect to the script will work if your final condition or your loop stop at 6? Or Im missing something here? Kind Regards Alien.
rm4453 Posted March 21, 2016 Author Posted March 21, 2016 Just now, alien4u said: If you set the value of $ImageCount to 6 when you first declare it and you increment that by 1 how to do expect to the script will work if your final condition or your loop stop at 6? Or Im missing something here? Kind Regards Alien. I saw that error and modified the Do loop to include an extra if statement here it is: If $ImageCount >= 6 Then $ImageCount = 6 EndIf
alien4u Posted March 21, 2016 Posted March 21, 2016 Yes it should. Outside your case or loop or anything that is repetitive you declare your Global var: Global $ImageCount = "" And inside the Case, or Loop or repetitive task you increment your var: $ImageCount +=1 Kind Regards Alien.
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