Jump to content

help with do until andembedded instructions


Recommended Posts

Hello,

i am in a dead point.

I have a

- 1Do Until

expression, it works.

Inside this expression I put

- 3 If Then Else

and

- 3 If Then

expressions, it works.

then I have added inside the last If Then (which is inside the Do Until):

- 1 Do Until which inside has 8 If Then

IT DOES NOT WORK !

I got no error but it does not do what it is supposed to and I cannot find the reason...

I have run the last Do Until (added inside the If Then which is inside the first Do Until) alone but with its 8 If Then in a new windows and it works!!?

It seems not to work when I include it in the big programme.

I have tried to change the last Do Until with While Wend and the same with the last 8 If Then, but nothing changed, it still work when its alone, not when I include it into the big programme.

Can you help me? i guess I cannot use some combination, but I dont know what.

Thank you

Edited by tuleggi
Link to comment
Share on other sites

its veeeery long...

I willtry to shorten it maybe to post if necessary...

Your explanation is quite vague and the length of your code only adds to the impression that you have simply made a logic or syntax error. What result do you get when you run Tidy (ctrl-t) and Syntax Checker (ctrl-F5) on it?

If you need more help than that, you'll have to post an example of the problem.

If that example is too long to work with easily, it will limit your helpers to the truly bored...

;)

Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Link to comment
Share on other sites

Your explanation is quite vague and the length of your code only adds to the impression that you have simply made a logic or syntax error. What result do you get when you run Tidy (ctrl-t) and Syntax Checker (ctrl-F5) on it?

If you need more help than that, you'll have to post an example of the problem.

If that example is too long to work with easily, it will limit your helpers to the truly bored...

;)

thanks I will try and let you know.

Although it does not report any error simply it does not do what is suppose to.

This is strange because the part of the program which is not working if I run it alone it works, therefore I gues t is not a syntax error. I will also try to #include it instead of copying it into the big program.

Sorry I havent had the time to work on it yet... maybe tonight.

(my thought was that is a combination/repetition of consecutives Do, If, If, etc. that causes the problem, for that reason I also thought that was unecessary to write you the code, I though that you will have immediately told me you cannot include consequently Do, If, Do again etc.)

Cheers

Link to comment
Share on other sites

I have multiple Switches|Selects|Do|While|If but my logic is alright although I catch everything before I continue to alert me of a possible problem. Debugging is a step that I like to do before I offically release my code work. However the furthest I had gone was 11 steps in from the beginning so the Do|While|For had a major influence on the code work itself. Just to note you could use a thousand If|Selects|Switches if that is what you want just remember in the end having to many can make your program seem slower (I'm talking of hundreds if not thousand per function)

Select\Switch structures with that many Case statements indicate poor structure anyway. Give an example of what you are trying to do that requires so many Cases. The problem is that each Case has to be checked until a matching case is found. So if there are that many cases, you want to keep the number of non-matching cases that have to be checked before hitting the matching case short by breaking it into sub-groups.

Example. Say you had 100 unique cases numbered 1 thru 100. It could have to go through 100 Cases before hitting the match, By testing for Odd/Even first you reduce the max to 51 cases checked; one check for odd/even then a max of 50 checks for 1-99 or 2-100. If you divide by 10 for the first Cases, then use the remainder for the nested Case, the max is 20 Case checks to match any number between 1 and 100. Your cases may not be sequential integers (where an indexed array would be even faster), but by looking for sub groups you should be able to reduce the number of conditions (Cases) checked.

Your basic premise in the original post, that there must be some logic problem in AutoIt with certain combinations of nested conditional statements, remains a pretty far-fetched theory. You haven't posted anything to demonstrate that such a problem exists. The idea that your code is too long and complicated for you to debug, yet the error must come from AutoIt is downright silly.

;)

Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...