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

Delete multiple Saved Operations at once (#2)

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

    Delete multiple Saved Operations at once (#2)

    Dang! One missing quote mark made a real mess of my first attempt to post this. Even killed the Reply button so I couldn't even post the fix in the same string. Let's hope I get it right this time.

    One of my pet peeves is cleaning out old Saved Operations that have built up over the years and nobody knows what they do any more. This is especially true when it's someone else's app that I'm updating. So, I decided to spend a couple hours developing a routine that could save me 5-10 minutes next time I need to do a Saved Operation cleanup. I guess I'll chalk the negative efficiency up as 'training time' and post the results here for the benefit of others.

    Since the script isn't particularly readable when put on this page, I've simply attached it in a 'special' text file. The attachment is the Xbasic Export file created by Alpha. To add the script to your own application, just save the attachment to your computer then open A5v5 and right click in the code tab to select the Import operation. From there it ought to be pretty self-explanatory. Of course, you can just open the text file and read it but it's much more readable once it's in the code editor. (If you use Xbasic at all and haven't used the code Export and Import features, you should try them. They're great for backing up scripts, copying them to other dbs, and temporarily removing scripts/functions which aren't wanted when creating .aex files.)

    The script determines which operation Types (note types - not names yet) actually exist in the current db and shows a list of them. Once the operation Type is selected, a multi-select list of the specific operations is shown and all operations that you highlight will be deleted. Since A5's built-in delete operation is used for the actual deletion, you will be prompted prior to deleting each operation - but it's still much nicer than doing them one at a time from the Operations tab.

    The xdialogs were originally created with the genie but got modified a bit as I progressed through my 'training' and added features and improved some of the processes. I also modified the OK/Cancel button area to get better vertical centering. I used extra semi-colons and removed the region around the buttons. However, this method may not work much longer as Selwyn has threatened to fix the bug that allows me to center the buttons by adding extra semi-colons. When that happens I'll have to switch to using {ysize=}. (Being an engineer by training, I like things nice an neat.)

    Some of the features in this script include:
    - the use of STRITRAN to get the plural of a Type based on two lists designed for that purpose. The plural is only used for some messages.
    - the use of EVAL() in a couple places to run multiple Enum and Delete operations in a loop based on values in a crlf() delimited string. (The Eval function is a powerful feature but it takes awhile to get used to the idea of using it and to learn when to use it.)
    - sorting a crlf() string with the SortSubStr() function. (This is really easy but I thought it was worth pointing out that the function exists.)
    - a method I use to test the xdialog exit mode when checking for a double click in a regular list box. When exiting the xdialog based on a double click, the value of a_dlg_button is blank just the same as if the user clicked the 'x' in the upper right corner. Because of this, I had to find a way to determine whether the user had clicked the 'x' or double clicked a value in the list.

    If anyone wants to have this as an addin, I'll probably put one on the Programs page of my website at www.aimsdc.net. This is one of the things I like about addins - I can add 'developer' features like this for immediate access on my own computer without cluttering up applications with them. If you want the addin, give me a couple days - it's already long past my bedtime.

    #2
    RE: Delete multiple Saved Operations at once (#2)

    Cal

    You need to trap a blank selection from the first dialog, or you get an error if the user clicks the OK button.

    if op_type = ""
    end
    end if

    Jerry

    Comment


      #3
      RE: Delete multiple Saved Operations at once (#2)

      Thanks Jerry.

      But I thought users are supposed to know better than to make mistakes like that!

      For those people who do make mistakes, I added the check to the end of the rest of the 'exit traps' at the end of the xdialog:

      IF varC_result="Cancel" .or. (varC_result="" .and. not_dbc ) .or. Op_type=""

      The new script is attached.

      As promised, I've also loaded the .aex file on my website at www.aimsdc.net/Programs.htm

      Comment


        #4
        RE: Delete multiple Saved Operations at once (#2)

        Cal,

        In your code you had the following;

        eval(Op_type+".Delete('" + to_b_deleted +"')")

        'FYI: The following also works: (why?)
        'eval(Op_type+".Delete(to_b_deleted)")


        Suppose to_b_deleted contains the value "CalsOperation" and Op_type contains "Append"

        In the 1st case, it converts to a line looking like
        eval("Append.Delete('CalsOperation')")
        which executes like the line
        Append.Delete('CalsOperation')

        In the 2nd case, it converts to a line looking like
        eval("Append.Delete(to_b_deleted)")
        which executes like the line
        Append.Delete(to_b_deleted)

        since to_b_deleted is a variable that is defined in the session where the eval() is executed, the to_b_deleted is available as the argument to Append.Delete instead of the constant (that was derived from the variable) that you imbedded for the 1st case.

        The reason you would normally imbed the constant as in the 1st case, is that the session where the code will be excuted (e.g. another form) would not have the variable available to it. This might be setting a filter or similar.

        Regards,

        Ira
        Regards,

        Ira J. Perlow
        Computer Systems Design


        CSDA A5 Products
        New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
        CSDA Barcode Functions

        CSDA Code Utility
        CSDA Screen Capture


        Comment


          #5
          RE: Delete multiple Saved Operations at once (#2)

          Thanks Ira,

          I had forgotten about that note. I had left it as a reminder for me to go back and look at it more carefully but then forgot about it.

          Comment


            #6
            Hi Cal, this program is no longer possible to download; can you send it in again? thanks. Brian

            Comment


              #7
              I don't see where the download problem is. The text links on this thread seem to be working and the addin file on my page also seems to be working. Maybe my site was down for a short time earlier??

              Comment

              Working...
              X