Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

A Brain Teaser...Infinite Loop.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    A Brain Teaser...Infinite Loop.

    Can anyone define infinity? I don't think so, not even Einstein. Simply because, you cannot define infinite things with finite ones! That's why one may have faith in God as opposed to try to understand or explain God. But, maybe I am wrong, maybe Einstein has a definition for it. I do not think I will buy it though. Do not mean to get religious, just a thought while on the subject of infinity.

    In the process of creating animated objects for a form, I found myself in need of using an "Infinite loop". Now, how do you do that? how do you design a loop that goes on and on and on?

    Well, I came up with few ideas and am hoping to stimulate your brains for few more.

    Using For...Next:
    First idea:
    for i= 1 to 2
    i=i+1
    .....script...
    next

    Now is that really an infinite loop? Not really, but close. I do not know how big a number alpha could hold, beyond that number that loop will fail.

    Here is a better one:
    dim a as c
    a="any"
    while
    a<>""
    ...script...
    end while

    Third idea: did not want to try that and suggest that you do not, but theoretically it might work:
    For i=1/0
    ...scrip...
    next

    Any other ideas?

    #2
    Re: A Brain Teaser...Infinite Loop.

    How about this method:

    Code:
    while .T.
       <your statements>
       if <condition> then
          exit while
       end if
    end while
    Because the "while" condition is always true, the loop will continue indefinitely. You can terminate the infinite loop using the "exit while" statement.

    Comment


      #3
      Re: A Brain Teaser...Infinite Loop.

      Brett:
      Thanks.
      This brings up another point: exiting the loop. This seems an impossibility. In a different thread I asked the question about halting a script. It seems that it's hard enough to halt a script, much less, a never-ending one.

      I wanted to be able to halt the script by pressing a button or some other action. In each and every attempt, the system will hang.

      I just about gave up on my animation projects.

      Comment


        #4
        Re: A Brain Teaser...Infinite Loop.

        Gabriel. Good question. Here's a suggestion that I am sure will help.

        My understanding of the A5 architecture is that it is single threaded. So having one process running (the infinite loop) and a second process that runs simultaneously and attempts to interrupt the first doesn't work too well.

        Here's an example. I have a long running A5 script that processes a large file and I want to also display a dialog box that shows a progress bar and also shows a "Cancel" button to optionally force the script to terminate at any point in time. I will find that odd things happen when I run the script. The dialog box progress bar may "freeze" and clicking on the cancel button may not work at all.

        What I really need in this situation are two independent threads, one that runs the process of the large file and the other that displays the dialog box showing the progress bar and cancel button. Click on the "Cancel" button in the second thread and the process in the first thread is terminated. Just the sort of thing you, Gabriel, are trying to achieve.

        Fortunately A5 provides multi thread capabilities. I have achieved the outcome described in my example above using the {waitdialog} class. I have it documented and available for download in the A5 code archive here.

        You can also use the thread capabilities of A5 to achieve what you want. These are documented in the A5 help file. A search on "threads" will locate them. If you haven't worked with threads before it's a good idea to write and fully test Xbasic code *before* making a thread of it because it can be difficult to debug otherwise.

        I hope this helps.

        Comment


          #5
          Re: A Brain Teaser...Infinite Loop.

          Brett:
          Thank you. I will look into that and let you how I am coming along.

          Comment


            #6
            Re: A Brain Teaser...Infinite Loop.

            Brett:
            I took a look at {waitdialg}:
            I placed the example from the docs: http://support.alphasoftware.com/alp...OWCANCEL().htm
            on my app: it does not matter how many times you hit the cancel button, it doesn't work!

            I did try sleep(), WAIT_UNTIL() previously with the same results. Each time I try to turn off the flag that will interrupt the script, I have to try several times and finally the program hangs!
            Last edited by AaronBBrown; 08-21-2006, 09:32 AM.

            Comment

            Working...
            X