|
Post by zeak on May 14, 2019 0:21:47 GMT
I've been trying to run this script, but have realised that cant use a complex formula. The expected out come is 10267.07005 but I've noticed that INTEGER doesn't allow for a DOUBLE value (meaning decimal places) Also when I set %INTEGER1% to 1.5 it sets it to 2 which will also mess up the calculation.
1 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER%::10 2 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER1%::1.5 3 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER2%::10000 4 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER3%::30000 5 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER4%::%INTEGER2%+(((%INTEGER2%*%INTEGER1%^(2-1))-%INTEGER2%)*(%INTEGER3%-%INTEGER2%)/((%INTEGER2%*%INTEGER1%^(%INTEGER%-1))-%INTEGER2%)) 6 | RUN ACTION | MESSAGE PROMPT | %INTEGER4%::::0
here is the formula by its self.
%INTEGER2%+(((%INTEGER2%*%INTEGER1%^(2-1))-%INTEGER2%)*(%INTEGER3%-%INTEGER2%)/((%INTEGER2%*%INTEGER1%^(%INTEGER%-1))-%INTEGER2%)) If someone could help me understand how to run a complex formula it would be much appreciated.
|
|
|
Post by zeak on May 14, 2019 21:39:02 GMT
Hi Steve,
Would it be possible to have an option in settings to toggle between double and single integer values, in case you need do calculations of floating point values.
|
|
|
Post by zeak on May 14, 2019 22:54:33 GMT
I've tried just doing a simple multiply script and I get a unusual error.
1 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER%::100 2 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER1%::3 3 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER%::*%INTEGER1% 4 | RUN ACTION | MESSAGE PROMPT | %INTEGER%::::0
Edit: ADDITION and SUBTRACTION seem to work fine. MULTIPLICATION, DIVISION, POWER and MODULUS don't.
|
|
|
Post by zeak on May 16, 2019 4:58:36 GMT
|
|
|
Post by Steve on May 23, 2019 22:19:10 GMT
Hi Zeak, Sorry to keep you waiting on this one. First - Unfortunately MMM can not do complex math. %INTEGER4%::%INTEGER2%+(((%INTEGER2%*%INTEGER1%^(2-1))-%INTEGER2%)*(%INTEGER3%-%INTEGER2%)/((%INTEGER2%*%INTEGER1%^(%INTEGER%-1))-%INTEGER2%))
Statements with parentheses are not handled. Check out the integer condition page www.turnssoft.com/conditions.html#integer_variable for a list of examples. Second - MMM treats numeric variables as strict integers only. Unfortunately decimals will be treated like a whole number. However, I will look to adding more math function and adding in decimal variables. Development work, as you've probably noticed, is a little slow at the moment. Thanks Zeak.
|
|
|
Post by cyberchipz on Feb 9, 2020 20:31:41 GMT
Yeah, but can it handle *any* math functions... I'm trying to add two integers and not having success... 3 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER4%::+%INTEGER1%+%INTEGER2% not even this is working... simple addition. it only adds into %INTEGER4% the value of %INTEGER1%... I suppose I can do it on two lines... adding to Integer4%::+%INTEGER2% ... tedious.
|
|
|
Post by zeak on Feb 9, 2020 21:46:30 GMT
Yeah, but can it handle *any* math functions... I'm trying to add two integers and not having success... 3 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER4%::+%INTEGER1%+%INTEGER2% not even this is working... simple addition. it only adds into %INTEGER4% the value of %INTEGER1%... I suppose I can do it on two lines... adding to Integer4%::+%INTEGER2% ... tedious. Yes Cyberchipz, the only way you can do this is individual lines but you can go into floating point values now with DECIMAL instead of INTEGER.
|
|
|
Post by cyberchipz on Feb 12, 2020 16:22:23 GMT
Thanks for all the help.. I'd have been back sooner but dealing with health issues.. (old age creeping in lol) Everything has been great so far, once I realized that it's pretty much one line at a time I'm moving along swimmingly. The only issue I've run into is with line numbers... a simple label goto would be fantastic... I've yet to read the response in the post I made the label comment yet though... and, while I love that I can make this forum black with white letters with an app; I wish I could do the same with MMM pro, my old eyes are super strained with the black on white, it's so hard.. but, that's life. So for us aging programmers, I'd love to see an option to change background (dark) and font (light) but I'm dealing best I can so far.
I'm getting this under my belt, simple stuff so far, and for some I can now just use Notepad++ and copy/paste/edit command lines, especially once I have a good toolbox of functions and saved macros. I've always loved BASIC even though through the years have picked up more languages than I can now remember. lol This is a very BASIC! I love it so far. Now if I could just boost my productivity... doing more coding and testing than using so far. It will come eventually. :-)
|
|
|
Post by zeak on Feb 12, 2020 23:23:10 GMT
The only issue I've run into is with line numbers... a simple label goto would be fantastic... I've yet to read the response in the post I made the label comment yet though... So you can now use GOTO MACRO LINE to go to a line number or a remark or even just tell it to go to certain number of lines up or down with GOTO MACRO LINE | UP # Here are my two main macros the I've made and had fun with, First one uses a menu system to select a function to perform and the second one is mainly around date control. Hope they might help you answer some questions, I know i'm always looking at others examples to figure something out. 1. * | Clear_All_Variables 1 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER%::0 2 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER1%::0 3 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER2%::0 * | Clear_Function_Variables 4 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER3%::0 5 | RUN ACTION | DEFINE STRING VARIABLE | %STRING%:: 6 | RUN ACTION | DEFINE STRING VARIABLE | %STRING1%:: 7 | RUN ACTION | DEFINE STRING VARIABLE | %STRING2%:: 8 | RUN ACTION | DEFINE STRING VARIABLE | %STRING3%:: 9 | RUN ACTION | DEFINE BOOLEAN VARIABLE | %BOOLEAN%::FALSE 10 | RUN ACTION | DEFINE BOOLEAN VARIABLE | %BOOLEAN1%::FALSE 11 | RUN ACTION | DEFINE BOOLEAN VARIABLE | %BOOLEAN2%::FALSE 12 | RUN ACTION | DEFINE BOOLEAN VARIABLE | %BOOLEAN3%::FALSE 13 | RUN ACTION | DEFINE BOOLEAN VARIABLE | %BOOLEAN4%::FALSE 14 | RUN ACTION | DEFINE BOOLEAN VARIABLE | %BOOLEAN5%::FALSE * | ## MAIN QUESTIONS ## * | Question_Move 15 | RUN ACTION | INPUT BOX | Move Items Location?::Move Location?::PROMPT_YES_NO::STRING | ELSE | 15 | RUN ACTION | SELECT WINDOW BY NAME | Move Location? 16 | IF | STRING VARIABLE | %STRING% | IS | YES | DEFINE BOOLEAN VARIABLE | %BOOLEAN%::TRUE 17 | RUN ACTION | DEFINE STRING VARIABLE | %STRING%:: 18 | IF | BOOLEAN VARIABLE | %BOOLEAN% | IS TRUE | GOTO MACRO LINE | Function_Move 19 | IF | BOOLEAN VARIABLE | %BOOLEAN% | IS FALSE | GOTO MACRO LINE | Question_Status * | Question_Status 20 | RUN ACTION | INPUT BOX | Update Items Status?::Update Status?::PROMPT_YES_NO::STRING | ELSE | 20 | RUN ACTION | SELECT WINDOW BY NAME | Update Status? 21 | IF | STRING VARIABLE | %STRING% | IS | YES | DEFINE BOOLEAN VARIABLE | %BOOLEAN1%::TRUE 22 | RUN ACTION | DEFINE STRING VARIABLE | %STRING%:: 23 | IF | BOOLEAN VARIABLE | %BOOLEAN1% | IS TRUE | GOTO MACRO LINE | Function_Status 24 | IF | BOOLEAN VARIABLE | %BOOLEAN1% | IS FALSE | GOTO MACRO LINE | Question_Expiry * | Question_Expiry 25 | RUN ACTION | INPUT BOX | Update Items Expiry?::Update Expiry::PROMPT_YES_NO::STRING | ELSE | 25 | RUN ACTION | SELECT WINDOW BY NAME | Update Expiry 26 | IF | STRING VARIABLE | %STRING% | IS | YES | DEFINE BOOLEAN VARIABLE | %BOOLEAN2%::TRUE 27 | RUN ACTION | DEFINE STRING VARIABLE | %STRING%:: 28 | IF | BOOLEAN VARIABLE | %BOOLEAN2% | IS TRUE | GOTO MACRO LINE | Function_Expiry 29 | IF | BOOLEAN VARIABLE | %BOOLEAN2% | IS FALSE | GOTO MACRO LINE | Question_IssuesUnplanned * | Question_IssuesUnplanned 30 | RUN ACTION | INPUT BOX | Issues Unplanned?::Issues Unplanned::PROMPT_YES_NO::STRING | ELSE | 30 | RUN ACTION | SELECT WINDOW BY NAME | Issues Unplanned 31 | IF | STRING VARIABLE | %STRING% | IS | YES | DEFINE BOOLEAN VARIABLE | %BOOLEAN3%::TRUE 32 | RUN ACTION | DEFINE STRING VARIABLE | %STRING%:: 33 | IF | BOOLEAN VARIABLE | %BOOLEAN3% | IS TRUE | GOTO MACRO LINE | Function_ISSUNP 34 | IF | BOOLEAN VARIABLE | %BOOLEAN3% | IS FALSE | GOTO MACRO LINE | Question_Continue * | Question_Cyclecount 35 | RUN ACTION | INPUT BOX | Mass Cyclecount?::Cyclecount Stock::PROMPT_YES_NO::STRING | ELSE | 35 | RUN ACTION | SELECT WINDOW BY NAME | Cyclecount Stock 36 | IF | STRING VARIABLE | %STRING% | IS | YES | DEFINE BOOLEAN VARIABLE | %BOOLEAN6%::TRUE 37 | RUN ACTION | DEFINE STRING VARIABLE | %STRING%:: 38 | IF | BOOLEAN VARIABLE | %BOOLEAN6% | IS TRUE | GOTO MACRO LINE | Function_ISSUNP 39 | IF | BOOLEAN VARIABLE | %BOOLEAN6% | IS FALSE | GOTO MACRO LINE | Question_Continue * | ## FUNCTION CONTROL ## * | Function_Move * | Function_Move_Site 40 | RUN ACTION | INPUT BOX | Changing Site?::SITE::PROMPT_YES_NO::STRING | ELSE | 40 | RUN ACTION | SELECT WINDOW BY NAME | SITE 41 | IF | STRING VARIABLE | %STRING% | IS | YES | DEFINE BOOLEAN VARIABLE | %BOOLEAN4%::TRUE 42 | RUN ACTION | DEFINE STRING VARIABLE | %STRING%:: 43 | IF | BOOLEAN VARIABLE | %BOOLEAN4% | IS TRUE | GOTO MACRO LINE | Question_Site 44 | IF | BOOLEAN VARIABLE | %BOOLEAN4% | IS FALSE | GOTO MACRO LINE | Function_Move_Location * | Function_Move_Location 45 | RUN ACTION | INPUT BOX | Changing Location?::LOCATION::PROMPT_YES_NO::STRING | ELSE | 45 | RUN ACTION | SELECT WINDOW BY NAME | LOCATION 46 | IF | STRING VARIABLE | %STRING% | IS | YES | DEFINE BOOLEAN VARIABLE | %BOOLEAN5%::TRUE 47 | RUN ACTION | DEFINE STRING VARIABLE | %STRING%:: 48 | IF | BOOLEAN VARIABLE | %BOOLEAN5% | IS TRUE | GOTO MACRO LINE | Question_Location 49 | IF | BOOLEAN VARIABLE | %BOOLEAN5% | IS FALSE | GOTO MACRO LINE | Question_Continue * | Function_Status 50 | RUN ACTION | INPUT BOX | Update Status to: 1.INAC 2.ISOLATE 3.OK::UPDATE STATUS::INTEGER3 | ELSE | 50 | RUN ACTION | SELECT WINDOW BY NAME | UPDATE STATUS 51 | IF | INTEGER VARIABLE | %INTEGER3% | IS | 0 | GOTO MACRO LINE | Funcation_Status 52 | IF | INTEGER VARIABLE | %INTEGER3% | GREATER THAN | 3 | GOTO MACRO LINE | Funcation_Status 53 | IF | INTEGER VARIABLE | %INTEGER3% | IS | 1 | DEFINE STRING VARIABLE | %STRING1%::INAC 54 | IF | INTEGER VARIABLE | %INTEGER3% | IS | 2 | DEFINE STRING VARIABLE | %STRING1%::ISOLATE 55 | IF | INTEGER VARIABLE | %INTEGER3% | IS | 3 | DEFINE STRING VARIABLE | %STRING1%::OK 56 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER3%::0 57 | RUN ACTION | INPUT BOX | Is "%STRING1%" the correct Status?::STATUS CHECK::PROMPT_YES_NO::STRING3 | ELSE | 57 | RUN ACTION | SELECT WINDOW BY NAME | STATUS CHECK 58 | IF | STRING VARIABLE | %STRING3% | IS | NO | GOTO MACRO LINE | Function_Status 59 | RUN ACTION | DEFINE STRING VARIABLE | %STRING3%:: 60 | RUN ACTION | GOTO MACRO LINE | QTY_CHANGE * | Function_Expiry 61 | RUN ACTION | INPUT BOX | Please enter new expiry date (DD/MM/YYYY)::UPDATE EXPIRY::STRING1 | ELSE | 61 | RUN ACTION | SELECT WINDOW BY NAME | UPDATE EXPIRY 62 | IF | STRING VARIABLE | %STRING1% | IS | | GOTO MACRO LINE | Function_Expiry 63 | RUN ACTION | INPUT BOX | Is "%STRING1%" the correct expiry?::EXPIRY CHECK::PROMPT_YES_NO::STRING3 | ELSE | 63 | RUN ACTION | SELECT WINDOW BY NAME | EXPIRY CHECK 64 | IF | STRING VARIABLE | %STRING3% | IS | NO | GOTO MACRO LINE | Function_Expiry 65 | RUN ACTION | DEFINE STRING VARIABLE | %STRING3%:: 66 | RUN ACTION | GOTO MACRO LINE | QTY_CHANGE * | Function_ISSUNP 67 | RUN ACTION | MESSAGE PROMPT | FUNCTION NOT AVAILABLE YET::::5 68 | RUN ACTION | GOTO MACRO LINE | Question_Continue * | ## SECONDARY QUESTIONS ## * | Question_Site 69 | RUN ACTION | INPUT BOX | New site please::SITE::STRING1 | ELSE | 69 | RUN ACTION | SELECT WINDOW BY NAME | SITE 70 | IF | STRING VARIABLE | %STRING1% | IS | | GOTO MACRO LINE | Question_Site 71 | RUN ACTION | INPUT BOX | Is "%STRING1%" the correct site?::SITE CHECK::PROMPT_YES_NO::STRING3 | ELSE | 71 | RUN ACTION | SELECT WINDOW BY NAME | SITE CHECK 72 | IF | STRING VARIABLE | %STRING3% | IS | NO | GOTO MACRO LINE | Question_Site 73 | RUN ACTION | DEFINE STRING VARIABLE | %STRING3%:: 74 | RUN ACTION | GOTO MACRO LINE | Question_Location * | Question_Location 75 | RUN ACTION | INPUT BOX | New location please::LOCATION::STRING2 | ELSE | 75 | RUN ACTION | SELECT WINDOW BY NAME | LOCATION 76 | IF | STRING VARIABLE | %STRING2% | IS | | GOTO MACRO LINE | Question_Location 77 | RUN ACTION | INPUT BOX | Is "%STRING2%" the correct location?::LOCATION CHECK::PROMPT_YES_NO::STRING3 | ELSE | 77 | RUN ACTION | SELECT WINDOW BY NAME | LOCATION CHECK 78 | IF | STRING VARIABLE | %STRING3% | IS | NO | GOTO MACRO LINE | Question_Location 79 | RUN ACTION | DEFINE STRING VARIABLE | %STRING3%:: 80 | RUN ACTION | GOTO MACRO LINE | QTY_CHANGE * | QTY_CHANGE 81 | RUN ACTION | INPUT BOX | Number of items to change/update?::QUANTITY TO CHANGE::INTEGER3 | ELSE | 81 | RUN ACTION | SELECT WINDOW BY NAME | QUANTITY TO CHANGE 82 | IF | INTEGER VARIABLE | %INTEGER3% | IS | 0 | GOTO MACRO LINE | QTY_CHANGE 83 | RUN ACTION | INPUT BOX | Is "%INTEGER3%" the correct quantity?::QUANTITY CHECK::PROMPT_YES_NO::STRING3 | ELSE | 83 | RUN ACTION | SELECT WINDOW BY NAME | QUANTITY CHECK 84 | IF | STRING VARIABLE | %STRING3% | IS | NO | GOTO MACRO LINE | QTY_CHANGE 85 | RUN ACTION | DEFINE STRING VARIABLE | %STRING3%:: 86 | RUN ACTION | GOTO MACRO LINE | Find_Search * | ## FINDING BUTTONS ## * | Find_Search 87 | IF | INTEGER VARIABLE | %INTEGER% | IS NOT | 0 | GOTO MACRO LINE | Find_Button 88 | RUN ACTION | MESSAGE PROMPT | Please click "OK" and then mouse over "Search" button.::SEARCH BUTTON::0 | ELSE | 88 | RUN ACTION | SELECT WINDOW BY NAME | SEARCH BUTTON * | Find_Search_AfterPrompt 89 | IF | PIXEL RANGE | At Location [X:600 Y:130]::Size [W:500 H:25] | CHANGES::1::0::0 | DEFINE INTEGER VARIABLE | %INTEGER%::%MOUSE_X% * | 89 | IF | INTEGER VARIABLE | %INTEGER% | IS NOT | 0 | MESSAGE PROMPT | %INTEGER%::MOUSE::1 * | 90 | %INTEGER% | 140 | 1 | Mouse Movement * | 91 | RUN ACTION | INPUT BOX | Is this the correct Search Button location?::SEARCH BUTTON CHECK::PROMPT_YES_NO::STRING3 | ELSE | 91 | RUN ACTION | SELECT WINDOW BY NAME | SEARCH BUTTON CHECK * | 92 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER%::0 * | 93 | IF | STRING VARIABLE | %STRING3% | IS | NO | GOTO MACRO LINE | Find_Search_AfterPrompt 90 | IF | INTEGER VARIABLE | %INTEGER% | IS | 0 | GOTO MACRO LINE | Find_Search_AfterPrompt 91 | IF | INTEGER VARIABLE | %INTEGER% | IS NOT | 0 | GOTO MACRO LINE | Find_Button * | Find_Button 92 | IF | BOOLEAN VARIABLE | %BOOLEAN% | IS TRUE | GOTO MACRO LINE | Find_Batch 93 | IF | BOOLEAN VARIABLE | %BOOLEAN1% | IS TRUE | GOTO MACRO LINE | Find_Expiry 94 | IF | BOOLEAN VARIABLE | %BOOLEAN2% | IS TRUE | GOTO MACRO LINE | Find_Expiry * | Find_Expiry 95 | IF | INTEGER VARIABLE | %INTEGER1% | IS NOT | 0 | GOTO MACRO LINE | Actions 96 | RUN ACTION | MESSAGE PROMPT | Please click "OK" and then mouse over "Update Expiry" button.::EXPIRY BUTTON::0 | ELSE | 96 | RUN ACTION | SELECT WINDOW BY NAME | EXPIRY BUTTON * | Find_Expiry_AfterPrompt 97 | IF | PIXEL RANGE | At Location [X:1100 Y:80]::Size [W:1000 H:30] | CHANGES::1::0::0 | DEFINE INTEGER VARIABLE | %INTEGER1%::%MOUSE_X% 98 | IF | INTEGER VARIABLE | %INTEGER1% | IS | 0 | GOTO MACRO LINE | Find_Expiry_AfterPrompt 99 | IF | INTEGER VARIABLE | %INTEGER1% | IS NOT | 0 | GOTO MACRO LINE | Actions * | Find_Batch 100 | IF | INTEGER VARIABLE | %INTEGER2% | IS NOT | 0 | GOTO MACRO LINE | Actions 101 | RUN ACTION | MESSAGE PROMPT | Please click "OK" and then mouse over "Update Batch" button.::BATCH BUTTON::0 | ELSE | 101 | RUN ACTION | SELECT WINDOW BY NAME | BATCH BUTTON * | Find_Batch_AfterPrompt 102 | IF | PIXEL RANGE | At Location [X:1100 Y:80]::Size [W:1000 H:30] | CHANGES::1::0::0 | DEFINE INTEGER VARIABLE | %INTEGER2%::%MOUSE_X% 103 | IF | INTEGER VARIABLE | %INTEGER2% | IS | 0 | GOTO MACRO LINE | Find_Batch_AfterPrompt 104 | IF | INTEGER VARIABLE | %INTEGER2% | IS NOT | 0 | GOTO MACRO LINE | Actions * | ## PERFORMING ACTIONS ## * | Actions 105 | RUN ACTION | MESSAGE PROMPT | Button locations Registered, Click ok to continue.::BUTTONS REGISTERED::0 | ELSE | 105 | RUN ACTION | SELECT WINDOW BY NAME | BUTTONS REGISTERED 106 | IF | BOOLEAN VARIABLE | %BOOLEAN% | IS TRUE | GOTO MACRO LINE | Action_Move 107 | IF | BOOLEAN VARIABLE | %BOOLEAN1% | IS TRUE | GOTO MACRO LINE | Action_Status 108 | IF | BOOLEAN VARIABLE | %BOOLEAN2% | IS TRUE | GOTO MACRO LINE | Action_Expiry * | Action_Move 109 | %INTEGER2% | 95 | 1000 | Left Click Down 110 | %INTEGER2% | 95 | 1000 | Left Click Release * | 111 | 530 | 410 | 1000 | Left Click Down * | 112 | 530 | 410 | 1000 | Left Click Release 111 | X | X | 1000 | Keypress right 112 | IF | BOOLEAN VARIABLE | %BOOLEAN4% | IS FALSE | GOTO MACRO LINE | DOWN 3 113 | X | X | 750 | Keypress Ctrl+ | a 114 | X | X | 750 | Keypress %STRING1% 115 | X | X | 750 | Keypress tab 116 | X | X | 750 | Keypress %STRING2% 117 | X | X | 750 | Keypress enter 118 | X | X | 750 | Keypress enter 119 | X | X | 750 | Keypress Ctrl+ | enter 120 | X | X | 750 | Keypress Ctrl+ | enter 121 | %INTEGER% | 140 | 1000 | Left Click Down 122 | %INTEGER% | 140 | 1000 | Left Click Release 123 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER3%::-1 124 | IF | INTEGER VARIABLE | %INTEGER3% | IS | 0 | GOTO MACRO LINE | Question_Continue 125 | IF | INTEGER VARIABLE | %INTEGER3% | IS NOT | 0 | GOTO MACRO LINE | Action_Move * | Action_Status 126 | %INTEGER1% | 95 | 1000 | Left Click Down 127 | %INTEGER1% | 95 | 1000 | Left Click Release 128 | X | X | 750 | Keypress right 129 | X | X | 750 | Keypress tab 130 | X | X | 750 | Keypress tab 131 | X | X | 750 | Keypress tab 132 | X | X | 750 | Keypress %STRING1% 133 | X | X | 750 | Keypress enter 134 | X | X | 750 | Keypress Ctrl+ | enter 135 | %INTEGER% | 140 | 1000 | Left Click Down 136 | %INTEGER% | 140 | 1000 | Left Click Release 137 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER3%::-1 138 | IF | INTEGER VARIABLE | %INTEGER3% | IS | 0 | GOTO MACRO LINE | Question_Continue 139 | IF | INTEGER VARIABLE | %INTEGER3% | IS NOT | 0 | GOTO MACRO LINE | Action_Status * | Action_Expiry 140 | %INTEGER1% | 95 | 1000 | Left Click Down 141 | %INTEGER1% | 95 | 1000 | Left Click Release 142 | X | X | 750 | Keypress right 143 | X | X | 750 | Keypress Ctrl+ | a 144 | X | X | 750 | Keypress %STRING1% 145 | X | X | 750 | Keypress enter 146 | X | X | 750 | Keypress Ctrl+ | enter 147 | %INTEGER% | 140 | 1000 | Left Click Down 148 | %INTEGER% | 140 | 1000 | Left Click Release 149 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER3%::-1 150 | IF | INTEGER VARIABLE | %INTEGER3% | IS | 0 | GOTO MACRO LINE | Question_Continue 151 | IF | INTEGER VARIABLE | %INTEGER3% | IS NOT | 0 | GOTO MACRO LINE | Action_Expiry * | Action_IssUnp * | Question_Continue 152 | RUN ACTION | INPUT BOX | Do you wish to change something else?::CONTINUE?::PROMPT_YES_NO::STRING | ELSE | 152 | RUN ACTION | SELECT WINDOW BY NAME | CONTINUE? 153 | IF | STRING VARIABLE | %STRING% | IS | YES | GOTO MACRO LINE | Clear_Function_Variables 154 | IF | STRING VARIABLE | %STRING% | IS | NO | GOTO MACRO LINE | Exit * | Exit 155 | RUN ACTION | STOP 2. 1 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER%::%mouse_x% | AND | 2 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER1%::%mouse_y% * | Questions 2 | RUN ACTION | INPUT BOX | Enter Date as DD::WC Date::INTEGER11 3 | IF | INTEGER VARIABLE | %INTEGER11% | IS | 0 | STOP 4 | RUN ACTION | INPUT BOX | Enter Month as MM::WC Month::INTEGER12 5 | IF | INTEGER VARIABLE | %INTEGER12% | IS | 0 | STOP 6 | RUN ACTION | INPUT BOX | Enter Year as YY::WC Year::INTEGER13 7 | IF | INTEGER VARIABLE | %INTEGER13% | IS | 0 | STOP * | Leap Year Calc 8 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER9%::%INTEGER13% 9 | RUN ACTION | DEFINE DECIMAL VARIABLE | %DECIMAL%::%INTEGER9% 10 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER9%::/4 11 | RUN ACTION | DEFINE DECIMAL VARIABLE | %DECIMAL%::/4 12 | RUN ACTION | DEFINE INTEGER VARIABLE | %DECIMAL%::-%INTEGER9% 13 | IF | DECIMAL VARIABLE | %DECIMAL% | IS NOT | 0 | DEFINE INTEGER VARIABLE | %INTEGER10%::28 14 | IF | DECIMAL VARIABLE | %DECIMAL% | IS | 0 | DEFINE INTEGER VARIABLE | %INTEGER10%::29 * | Before Date Variables 15 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER14%::%INTEGER11% 16 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER15%::%INTEGER12% 17 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER16%::%INTEGER13% * | Before Date Calculations 18 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER14%::-3 19 | IF | INTEGER VARIABLE | %INTEGER14% | LESS THAN | 1 | DEFINE INTEGER VARIABLE | %INTEGER15%::-1 20 | IF | INTEGER VARIABLE | %INTEGER15% | LESS THAN | 1 | DEFINE INTEGER VARIABLE | %INTEGER16%::-1 21 | IF | INTEGER VARIABLE | %INTEGER15% | LESS THAN | 1 | DEFINE INTEGER VARIABLE | %INTEGER15%::12 22 | IF | INTEGER VARIABLE | %INTEGER15% | IS | 1 | DEFINE INTEGER VARIABLE | %INTEGER17%::31 23 | IF | INTEGER VARIABLE | %INTEGER15% | IS | 2 | DEFINE INTEGER VARIABLE | %INTEGER17%::%INTEGER10% 24 | IF | INTEGER VARIABLE | %INTEGER15% | IS | 3 | DEFINE INTEGER VARIABLE | %INTEGER17%::31 25 | IF | INTEGER VARIABLE | %INTEGER15% | IS | 4 | DEFINE INTEGER VARIABLE | %INTEGER17%::30 26 | IF | INTEGER VARIABLE | %INTEGER15% | IS | 5 | DEFINE INTEGER VARIABLE | %INTEGER17%::31 27 | IF | INTEGER VARIABLE | %INTEGER15% | IS | 6 | DEFINE INTEGER VARIABLE | %INTEGER17%::30 28 | IF | INTEGER VARIABLE | %INTEGER15% | IS | 7 | DEFINE INTEGER VARIABLE | %INTEGER17%::31 29 | IF | INTEGER VARIABLE | %INTEGER15% | IS | 8 | DEFINE INTEGER VARIABLE | %INTEGER17%::31 30 | IF | INTEGER VARIABLE | %INTEGER15% | IS | 9 | DEFINE INTEGER VARIABLE | %INTEGER17%::30 31 | IF | INTEGER VARIABLE | %INTEGER15% | IS | 10 | DEFINE INTEGER VARIABLE | %INTEGER17%::31 32 | IF | INTEGER VARIABLE | %INTEGER15% | IS | 11 | DEFINE INTEGER VARIABLE | %INTEGER17%::30 33 | IF | INTEGER VARIABLE | %INTEGER15% | IS | 12 | DEFINE INTEGER VARIABLE | %INTEGER17%::31 34 | IF | INTEGER VARIABLE | %INTEGER14% | LESS THAN | 1 | DEFINE INTEGER VARIABLE | %INTEGER14%::+%INTEGER17% * | After Date Variables 35 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER18%::%INTEGER11% 36 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER19%::%INTEGER12% 37 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER20%::%INTEGER13% * | After Date Calculations 38 | IF | INTEGER VARIABLE | %INTEGER19% | IS | 1 | DEFINE INTEGER VARIABLE | %INTEGER21%::31 39 | IF | INTEGER VARIABLE | %INTEGER19% | IS | 2 | DEFINE INTEGER VARIABLE | %INTEGER21%::%INTEGER10% 40 | IF | INTEGER VARIABLE | %INTEGER19% | IS | 3 | DEFINE INTEGER VARIABLE | %INTEGER21%::31 41 | IF | INTEGER VARIABLE | %INTEGER19% | IS | 4 | DEFINE INTEGER VARIABLE | %INTEGER21%::30 42 | IF | INTEGER VARIABLE | %INTEGER19% | IS | 5 | DEFINE INTEGER VARIABLE | %INTEGER21%::31 43 | IF | INTEGER VARIABLE | %INTEGER19% | IS | 6 | DEFINE INTEGER VARIABLE | %INTEGER21%::30 44 | IF | INTEGER VARIABLE | %INTEGER19% | IS | 7 | DEFINE INTEGER VARIABLE | %INTEGER21%::31 45 | IF | INTEGER VARIABLE | %INTEGER19% | IS | 8 | DEFINE INTEGER VARIABLE | %INTEGER21%::31 46 | IF | INTEGER VARIABLE | %INTEGER19% | IS | 9 | DEFINE INTEGER VARIABLE | %INTEGER21%::30 47 | IF | INTEGER VARIABLE | %INTEGER19% | IS | 10 | DEFINE INTEGER VARIABLE | %INTEGER21%::31 48 | IF | INTEGER VARIABLE | %INTEGER19% | IS | 11 | DEFINE INTEGER VARIABLE | %INTEGER21%::30 49 | IF | INTEGER VARIABLE | %INTEGER19% | IS | 12 | DEFINE INTEGER VARIABLE | %INTEGER21%::31 50 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER18%::+3 51 | IF | INTEGER VARIABLE | %INTEGER18% | GREATER THAN | %INTEGER21% | DEFINE INTEGER VARIABLE | %INTEGER19%::+1 52 | IF | INTEGER VARIABLE | %INTEGER19% | GREATER THAN | 12 | DEFINE INTEGER VARIABLE | %INTEGER20%::+1 53 | IF | INTEGER VARIABLE | %INTEGER18% | GREATER THAN | %INTEGER21% | DEFINE INTEGER VARIABLE | %INTEGER18%::-%INTEGER21% 54 | IF | INTEGER VARIABLE | %INTEGER19% | GREATER THAN | 12 | DEFINE INTEGER VARIABLE | %INTEGER19%::1 * | After Date2 Variables 55 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER22%::%INTEGER11% 56 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER23%::%INTEGER12% 57 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER24%::%INTEGER13% * | After Date2 Calculations 58 | IF | INTEGER VARIABLE | %INTEGER23% | IS | 1 | DEFINE INTEGER VARIABLE | %INTEGER25%::31 59 | IF | INTEGER VARIABLE | %INTEGER23% | IS | 2 | DEFINE INTEGER VARIABLE | %INTEGER25%::%INTEGER10% 60 | IF | INTEGER VARIABLE | %INTEGER23% | IS | 3 | DEFINE INTEGER VARIABLE | %INTEGER25%::31 61 | IF | INTEGER VARIABLE | %INTEGER23% | IS | 4 | DEFINE INTEGER VARIABLE | %INTEGER25%::30 62 | IF | INTEGER VARIABLE | %INTEGER23% | IS | 5 | DEFINE INTEGER VARIABLE | %INTEGER25%::31 63 | IF | INTEGER VARIABLE | %INTEGER23% | IS | 6 | DEFINE INTEGER VARIABLE | %INTEGER25%::30 64 | IF | INTEGER VARIABLE | %INTEGER23% | IS | 7 | DEFINE INTEGER VARIABLE | %INTEGER25%::31 65 | IF | INTEGER VARIABLE | %INTEGER23% | IS | 8 | DEFINE INTEGER VARIABLE | %INTEGER25%::31 66 | IF | INTEGER VARIABLE | %INTEGER23% | IS | 9 | DEFINE INTEGER VARIABLE | %INTEGER25%::30 67 | IF | INTEGER VARIABLE | %INTEGER23% | IS | 10 | DEFINE INTEGER VARIABLE | %INTEGER25%::31 68 | IF | INTEGER VARIABLE | %INTEGER23% | IS | 11 | DEFINE INTEGER VARIABLE | %INTEGER25%::30 69 | IF | INTEGER VARIABLE | %INTEGER23% | IS | 12 | DEFINE INTEGER VARIABLE | %INTEGER25%::31 * | 78 | RUN ACTION | MESSAGE PROMPT | %INTEGER25%::::0 70 | RUN ACTION | DEFINE INTEGER VARIABLE | %INTEGER22%::+4 71 | IF | INTEGER VARIABLE | %INTEGER22% | GREATER THAN | %INTEGER25% | DEFINE INTEGER VARIABLE | %INTEGER23%::+1 72 | IF | INTEGER VARIABLE | %INTEGER23% | GREATER THAN | 12 | DEFINE INTEGER VARIABLE | %INTEGER24%::+1 73 | IF | INTEGER VARIABLE | %INTEGER22% | GREATER THAN | %INTEGER25% | DEFINE INTEGER VARIABLE | %INTEGER22%::-%INTEGER25% 74 | IF | INTEGER VARIABLE | %INTEGER23% | GREATER THAN | 12 | DEFINE INTEGER VARIABLE | %INTEGER23%::1 * | ACTIONS * | 33 | RUN ACTION | SELECT WINDOW BY NAME | *PROGRAM* * | Brew Plan Total 75 | 780 | 65 | 100 | Left Click 76 | RUN ACTION | WAIT MILLISECONDS | 300 77 | IF | PIXEL COLOR | Color [R=3, G=169, B=250]::At Location [X:780 Y:55] | IS NOT THE SAME | GOTO MACRO LINE | 75 78 | 470 | 120 | 100 | Left Click 79 | RUN ACTION | WAIT MILLISECONDS | 300 80 | IF | PIXEL COLOR | Color [R=240, G=240, B=240]::At Location [X:1400 Y:150] | IS THE SAME | GOTO MACRO LINE | 78 81 | X | X | 50 | Keypress tab 82 | X | X | 50 | Keypress tab 83 | X | X | 50 | Keypress tab 84 | X | X | 50 | Keypress tab 85 | X | X | 50 | Keypress tab 86 | X | X | 50 | Keypress tab 87 | X | X | 50 | Keypress tab 88 | X | X | 50 | Keypress tab 89 | X | X | 50 | Keypress tab 90 | X | X | 50 | Keypress tab 91 | X | X | 50 | Keypress tab 92 | X | X | 50 | Keypress %INTEGER14% 93 | X | X | 50 | Keypress / 94 | X | X | 50 | Keypress %INTEGER15% 95 | X | X | 50 | Keypress / 96 | X | X | 50 | Keypress %INTEGER16% 97 | X | X | 50 | Keypress tab 98 | X | X | 50 | Keypress tab 99 | X | X | 50 | Keypress %INTEGER18% 100 | X | X | 50 | Keypress / 101 | X | X | 50 | Keypress %INTEGER19% 102 | X | X | 50 | Keypress / 103 | X | X | 50 | Keypress %INTEGER20% 104 | X | X | 50 | Keypress enter 105 | RUN ACTION | WAIT MILLISECONDS | 4000 * | Prod Sch SKU 106 | 580 | 65 | 100 | Left Click 107 | RUN ACTION | WAIT MILLISECONDS | 500 108 | IF | PIXEL COLOR | Color [R=3, G=169, B=250]::At Location [X:580 Y:55] | IS NOT THE SAME | GOTO MACRO LINE | 106 109 | 470 | 120 | 100 | Left Click 110 | RUN ACTION | WAIT MILLISECONDS | 500 111 | IF | PIXEL COLOR | Color [R=240, G=240, B=240]::At Location [X:1400 Y:150] | IS THE SAME | GOTO MACRO LINE | 109 112 | X | X | 50 | Keypress tab 113 | X | X | 50 | Keypress tab 114 | X | X | 50 | Keypress tab 115 | X | X | 50 | Keypress tab 116 | X | X | 50 | Keypress tab 117 | X | X | 50 | Keypress tab 118 | X | X | 50 | Keypress tab 119 | X | X | 50 | Keypress tab 120 | X | X | 50 | Keypress tab 121 | X | X | 50 | Keypress tab 122 | X | X | 50 | Keypress tab 123 | X | X | 50 | Keypress %INTEGER11% 124 | X | X | 50 | Keypress / 125 | X | X | 50 | Keypress %INTEGER12% 126 | X | X | 50 | Keypress / 127 | X | X | 50 | Keypress %INTEGER13% 128 | X | X | 50 | Keypress tab 129 | X | X | 50 | Keypress tab 130 | X | X | 50 | Keypress %INTEGER22% 131 | X | X | 50 | Keypress / 132 | X | X | 50 | Keypress %INTEGER23% 133 | X | X | 50 | Keypress / 134 | X | X | 50 | Keypress %INTEGER24% 135 | X | X | 50 | Keypress enter 136 | RUN ACTION | WAIT MILLISECONDS | 300 137 | 470 | 270 | 300 | Left Click 138 | 470 | 270 | 300 | Left Click 139 | 470 | 290 | 300 | Left Click 140 | 470 | 290 | 300 | Left Click 141 | 470 | 305 | 300 | Left Click 142 | 470 | 305 | 300 | Left Click 143 | 470 | 325 | 300 | Right Click 144 | 480 | 450 | 300 | Left Click 145 | RUN ACTION | WAIT MILLISECONDS | 300 146 | 470 | 125 | 300 | Left Click 147 | RUN ACTION | WAIT MILLISECONDS | 500 148 | IF | PIXEL COLOR | Color [R=255, G=255, B=255]::At Location [X:1400 Y:150] | IS THE SAME | GOTO MACRO LINE | 146 149 | 470 | 175 | 300 | Left Click 150 | 470 | 175 | 300 | Left Click 151 | 470 | 195 | 300 | Left Click 152 | 470 | 195 | 300 | Left Click 153 | 470 | 210 | 300 | Left Click 154 | 470 | 210 | 300 | Left Click 155 | RUN ACTION | WAIT MILLISECONDS | 300 * | Reslect Prod Sch SKU 156 | 580 | 65 | 100 | Left Click 157 | RUN ACTION | WAIT MILLISECONDS | 300 158 | IF | PIXEL COLOR | Color [R=3, G=169, B=250]::At Location [X:580 Y:55] | IS NOT THE SAME | GOTO MACRO LINE | 157 159 | RUN ACTION | WAIT MILLISECONDS | 1000 * | Mouse Return 160 | %INTEGER% | %INTEGER1% | 300 | Mouse Movement
|
|
|
Post by cyberchipz on Feb 13, 2020 15:57:30 GMT
Wow, I wish I'd read this before I discovered the line labels myself accidentally in another post. I just posted a query about an issue with a need to relist first before running the first time. Otherwise it doesn't recognize the line labels... In actual use, I wasn't sure initially what was happening. But, eventually realized it needed the relist. Which actually when I first made the suggestion, before I knew we could do, I suggested. lol Of course, at the time I suggested I realized one would need to do a relist first. But, I didn't think it would be an issue if done automatically after a load... until I ran into a relist error for the first time... then I realized that if that error is in a saved file, if it relist automatically.. the user might get an unexpected error.
I wish I'd been able to figure out what the error was; but after getting it and clicking OK, or whatever it prompted... the error was gone and I never did figure out what it was.
But, indeed these are fun; and so much easier. BTW, I was going to copy and run your macro; and I see some fun stuff there to learn and use. But, what exactly does it do... before I go ahead and do this... After all... a macro could do some unwanted things if one isn't careful. ;-)
So, one question: I see you using the line: 135 | X | X | 50 | Keypress enter What does the | X | X | part represent? no numbers, curious. I've seen Steve use this; but, didn't find any reference in the documentation.
BTW, I love playing with MMM Pro! It is so much fun. I'm getting complex enough already that I've run into an issue where... and I don't know if it's because of my machine doing things in the background; but sometimes the macros will run really slowly. The only solution I've found is to close MMM and reload it and the macro... that usually speeds it up... But, sometimes it really drags.
BTW, if you'd prefer me not mentioning issues in "other" posts, and doing them in a new one... I'll make sure to do that in the future. But, for me, when searching... I use the URL query...it's fast so finding things is pretty easy.
Also, since I'm dealing with health issues; I'm not sure really how much I'll be able to do what I want (or for how long :-(, but I was going to start documenting some of what I'm learning as a Newbie. As a long standing coder, I've learned that one is only a newbie for a short while... Then, I learn automatically what I can and cannot do and forget what I *didn't* know. I can say with some honesty that I've forgotten more than I currently know! lol Anyway, if (and it's a big if) I do document some things... like syntax and grammer, sentence structure... things like that... I'll be sure to pass it on in the forum... and if any of it's worth putting on the site... I would be fine with that!
I love to help; My motto is that if I can spend X man hours saving people X*y man hours of time, then in global or national productivity... my time is well spent. One of my constant questions to my wife is... "What do people who don't know how to do this stuff do when they run into problems?" I'm very fortunate to have a lifetime of dealing with 'stupid' machines. :-D
|
|
|
Post by Steve on Feb 14, 2020 4:19:08 GMT
Also, since I'm dealing with health issues; I'm not sure really how much I'll be able to do what I want (or for how long :-(, but I was going to start documenting some of what I'm learning as a Newbie. As a long standing coder, I've learned that one is only a newbie for a short while... Then, I learn automatically what I can and cannot do and forget what I *didn't* know. I can say with some honesty that I've forgotten more than I currently know! lol Anyway, if (and it's a big if) I do document some things... like syntax and grammer, sentence structure... things like that... I'll be sure to pass it on in the forum... and if any of it's worth putting on the site... I would be fine with that! I love to help; My motto is that if I can spend X man hours saving people X*y man hours of time, then in global or national productivity... my time is well spent. One of my constant questions to my wife is... "What do people who don't know how to do this stuff do when they run into problems?" I'm very fortunate to have a lifetime of dealing with 'stupid' machines. :-D Thanks for your comments cyberchipz. Its good to hear that your getting something out of our little app. Occasionally someone comes along to offer a new perspective on it and its reminds me why i keep it going. BTW, I love playing with MMM Pro! It is so much fun. I'm getting complex enough already that I've run into an issue where... and I don't know if it's because of my machine doing things in the background; but sometimes the macros will run really slowly. The only solution I've found is to close MMM and reload it and the macro... that usually speeds it up... But, sometimes it really drags. Yes i have noticed this 'dragging'. Do you have the 'Event Log' running? There is, and has been for a few versions, an issue with the threading for the event log www.turnssoft.com/bugtrack.html. The event log should be disabled in the settings unless debugging or 'Verbose' and 'Event types'/'Macro Logging' options within the log should be tweaked, especially for large macros, and definitely for macro's with a lot of mouse movement.
|
|
|
Post by cyberchipz on Feb 14, 2020 6:15:40 GMT
Yes, I had it on by default. I will try switching it off, if I can get back to coding. lol I'm back to using record and play for the time being... and right as I had that little piece of code working too, then that integer problem blew it up on me. I hate making little mistakes, like you'd found in other things and I looked and looked and couldn't find an error in my coding. If it's me, I'll be appropriately apologetic. If it's not me, I'm happy to debug...or bug... whatever this is. FWIW I've always found that a bug, that doesn't cause a crash, is a bug with a top hat if it does what you want.
I wonder if the dragging could be causing the bug? Hmmm I'll try switching off the Event logging and see if it still exists.
*** Nope, but I'll bet it will help with the dragging... fortunately that is a different macro... hopefully it has no issues with %INTEGER2%! lol
|
|
|
Post by cyberchipz on Feb 14, 2020 6:42:57 GMT
zeak ... Yes, I too learn best by looking at existing code. Your code will be immensely useful I can already tell. YOUR WORK Hmm, naturally I had to go find it... and I see my local WalMart carries it. The DRINK looks particularly promising, and non-alcoholic to boot! While I have been known to have a drink, it is the rare occasion.. I am your basic teetotaler, so this is my kind of stuff, much to my wife's dismay. However, we love ginger ale... ;-) Where I live we have one of the best in the world Blenheim Ginger Ale! And I see PLACE and Blenheim are both similarly priced! In fact, I was surprised to find them online, no wonder there's never any to be found in the store, it all gets shipped out! lol I'll bet your PLACE is also hard to find. Perhaps I will find it here! lol But, anyway, thanks for sharing some of your code... I *was* thinking about doing some date and pixel color stuff... this was exactly what I was looking for... Now, if I can only find out what the color is, so I can have some RGB values to work with. Is it possible to read a color at a mouse location? I can't find a way to do that... but, I'll look at your code; but you seem to already know the colors you're looking for. Thanks! I have submitted some code too... but I'm small stuff compared to this monster! :-) EDIT: Hi Chip, I edited your post unfortunately, because I normally removed all personal information like that from my code before posting it but missed that one. Zeak
|
|
|
Post by zeak on Feb 15, 2020 19:05:52 GMT
BTW, I was going to copy and run your macro; and I see some fun stuff there to learn and use. But, what exactly does it do... before I go ahead and do this... After all... a macro could do some unwanted things if one isn't careful. ;-) You would need to have the Program my work uses to run my macros correctly. All it will do on your computer if you run it is just click in random locations and try typing text. You can change the mouse location's to X so that it skips moving the mouse and just performs the action.
|
|