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

Verifying a field rule exist.

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

    #31
    Re: Verifying a field rule exist.

    What...993 tables!! Whoa!

    I cringe hearing the code is in the event. I couldn't sleep nights thinking a form would get corrupted and all the coding on all those fields and events is lost. It's happened to me. More than once. Thus I never do that anymore. Everything goes into UDFs and called from events. MUCH easier to flip back and forth during development and testing having code in scripts and UDFs instead of inside controls and events.

    This is an interesting comparison, though... My largest app biases on functions-->

    Table: 183
    Set: 46
    Form: 133
    Browse: 5
    Report: 57
    Letter: 2
    Label: 13
    Script: 107
    Append: 12
    Summarize: 0
    Functions: 942

    The script below enumerates the list Martin started with. Maybe folks can run on their apps and chime in and see what the comparisons are.

    Code:
    dim vwhat as C
    vwhat=<<%e%
    Table
    Set
    Form
    Browse
    Report
    Letter
    Label
    Script
    Append
    Summarize
    UDF
    %e%
    
    dim vreport as C
    dim vn_enum as N
    for each foo in vwhat
    	vn_enum= eval("line_count(a5."+foo+"_enum())")
    	vreport=vreport+foo+": "+(""+vn_enum)+crlf()
    next
    
    vreport=stritran(vreport,"UDF","Functions")
    
    clipboard.set_data(vreport)
    msgbox(vreport)
    Later: No nightmare, Martin. Just use a good script naming convention and put keywords as comments in the script. I can search all my code for keywords, which I do constantly, constantly, to find and amend things. Easy Cheesy. You can't search code that resides inside all those form/layouts controls and events, unless you have an uber-sophisticated script that enumerates all forms, all controls, etc, etc. and evaluates the code in all those controls. which if you do, please share!
    Last edited by Mike Wilson; 12-13-2015, 04:07 PM.
    Mike W
    __________________________
    "I rebel in at least small things to express to the world that I have not completely surrendered"

    Comment


      #32
      Re: Verifying a field rule exist.

      Sorry if I am stepping on any toes here, but field rules on an application should be a known factor.
      We should never have to wonder about it, it should be listed in our own records as a developer if we have it or not.

      But, maybe I did not understand the question??
      Dave Mason
      [email protected]
      Skype is dave.mason46

      Comment


        #33
        Re: Verifying a field rule exist.

        Mike's idea on using keywords inside scripts is interesting. However, At what point did you decide on the keywords your scripts would use. Maybe you could give us an example...?
        Robin

        Discernment is not needed in things that differ, but in those things that appear to be the same. - Miles Sanford

        Comment


          #34
          Re: Verifying a field rule exist.

          Originally posted by DaveM View Post
          Sorry if I am stepping on any toes here, but field rules on an application should be a known factor.
          We should never have to wonder about it, it should be listed in our own records as a developer if we have it or not.

          But, maybe I did not understand the question??
          Not sure who you are asking about what. The original post I made was about verifying if a table event rule existed. Yes I put the subject as "verifying a field rule exist" which I later said should have been "verifying a table event rule exist".

          The reason is not because I, as the developer, can't remember if I put it there or not but to verify that some sneaky end user did not try and remove it.

          I use this method along with several others to make sure some sneaky person does not try and get around the registration system I use. They way it works with the verifying the table event rule exist is that if they remove it they will start getting error messages. Then the next time they start the app it tells them the app has been tampered with and shuts A5 down.

          At this point there is no way for them to fix it and they either need to stop trying to use the app or contact me to fix it.

          Comment


            #35
            Re: Verifying a field rule exist.

            Why not just close the back door permanently. Then encrypt all the tables with a key only kept in a password protected autoexec and password all other scripts. Create one small doorway somewhere so YOU are the only one that can get into the control panel? There is a bit more.
            Served me very well for years.
            Dave Mason
            [email protected]
            Skype is dave.mason46

            Comment


              #36
              Re: Verifying a field rule exist.

              Originally posted by DaveM View Post
              Why not just close the back door permanently. Then encrypt all the tables with a key only kept in a password protected autoexec and password all other scripts. Create one small doorway somewhere so YOU are the only one that can get into the control panel? There is a bit more.
              Served me very well for years.
              What back door? You talking about the backdoor that Alpha uses to insist you cannot hide the fact that you used Alpha to create the app so a sneaky person can go download a trial of Alpha and try to break in?

              You talking about turning debug off so ctrl-shift does not work anymore? I can get around that in a heartbeat even if using Alphas built in security and so can anyone else. There is a bug in Alpha that allows you to get around this. I will not disclose it here.

              Encrypting tables does not stop anyone from editing the field/table rules once the control panel is open and as stated above trying to stop them from doing that is virtually impossible.

              Now putting a bit of xbasic in a table event rules that verifies they paid you and they are allowed to add/modify records and then calling a function to verify it is still there from a script or function that is in a required aex file. Well that is unbreakable and a lot simpler then all this putting things in form events and such.

              Comment


                #37
                Re: Verifying a field rule exist.

                Also - verifying alpha versions can be used to stop them. Verifying the adb on start is also a good idea

                Best is to not have field rules except for a few that can be done with code in the first place. Especially if the rule has to do with security.

                Yes, I can stop you from going in the backdoor. I can even stop myself, which is my test. Better have a way from the front.
                Dave Mason
                [email protected]
                Skype is dave.mason46

                Comment


                  #38
                  Re: Verifying a field rule exist.

                  Originally posted by DaveM View Post

                  Yes, I can stop you from going in the backdoor. I can even stop myself, which is my test. Better have a way from the front.
                  Send me a test db. 99.99% sure I will send you back screen shots of the control panel open. And if I can't then I will pick your brain on the details.

                  Comment


                    #39
                    Re: Verifying a field rule exist.

                    When I get time, I will put a test together for you.

                    Another way for you to check changes is to compare file sizes of ddm, ddx, etc.

                    separate of these with alter names. When size changes, just copy the renamed ones into the app.
                    Dave Mason
                    [email protected]
                    Skype is dave.mason46

                    Comment

                    Working...
                    X