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

Xdialog, Xbasic for Data Entry

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

    #31
    Re: Xdialog, Xbasic for Data Entry

    Mike, was your code manually written, or been copied from a genie or something? when i saw the code, it was too long for a progressive lookup, but if it was produced by a genie then it would be nice.
    I think this should be emphasized on any training video about browse control for beginners to take note, "Browse control is only good for 10 lines data entry but not 40 or more, if you want to be sure that you are entering and seeing the correct data,never use a browse e.g. on the alpha sports sample invoice data entry for the order details if you plan to enter more than 10 item on the browse then think not twice but ten times, if you insist in using the good browse control, break down your orders( if it is 40 items, then make 4 invoices, divide each by 10 order line items, and to solve that problem we beginners must learn xdialog.I hope alpha software company will make a sample of the alpha sports database in the code archive using purely xdialog and xbasic, then remove the old alpha sports sample so that beginners will not imitate the good old browse control.

    Comment


      #32
      Re: Xdialog, Xbasic for Data Entry

      Originally posted by JetLi View Post
      ...the sample is just a sample, it isn't the best way, it is mainly to demonstrate something in alpha five, I hope future versions will include a sample of the alpha sports showing the best way to produce a real world database application.I hope no one will again mis-interpret this.
      Okay, I'll risk mis-interpreting: Jetson, there is no such thing as the "best way"--unless it is perhaps my way! There are usually several good ways, a bunch of not so good ways and and a few terrible ways. And I'd venture to say that the closer one gets to a really good way to do things in an app, the more obtuse and useless the methods would be for newbies unless they were only interested in copying and pasting into their own apps. That could sometimes work but you wouldn't learn a damn thing. One has to crawl before figuring out how to walk. As for xdialog, there are plenty of examples in the various Help files. Another good way to get started learning xdialog is with the various xdialogs one can create via Action Scripting (AS) and then convert the code generated to xbasic and study the code with the help of the reference sections in the Help files. Often one can tweak that AS generated code to make it more applicable to your own app, but in any case it is a great way to get started learning xdialog.

      Raymond Lyons

      Comment


        #33
        Re: Xdialog, Xbasic for Data Entry

        Sorry - in my code variable GST is set by the autexec, It is a global number taken from a defaults table. GST stands for Goods & Services Tax. In UK that wouldbe VAT, I think in the US it is Sales Tax ex. In our case it is usally 10% so would be 10, but I build it to be based on a variable to allow for change
        -----------------------------------------------
        Regards
        Mark Pearson
        [email protected]
        Youtube channel
        Website

        Comment


          #34
          Re: Xdialog, Xbasic for Data Entry

          Thanks, I saw a web component called "Dialog" beside the Grid component, and there is a template for entering order header and order details, I'm confused on xdialog and the dialog component, in the learning xdialog sample that ships with alpha, are all the codes manually written, or, are they generated using a genie? can the dialog component be advisable also to use instead of manually coding the user interface using xdialog?
          Last edited by JetLi; 04-17-2012, 08:10 AM.

          Comment


            #35
            Re: Xdialog, Xbasic for Data Entry

            I have used embedded browses since maybe 1998 with impunity.
            I prefer them.
            Different versions have certain quirks you need to know about, but they work great for me.

            Like entering lineitems in an invoice, etc.

            I currently have an embedded browse that interacts with cameras and scales and has popup dialog screens as you type.

            Between record and field events in a table's field rules, and the embedded browse's events, I have never found anything I couldn't do.

            I use xdialogs for some pop up screens, but for the most part I use forms opened as dialogs - I can create a form much faster than an xdialog, and in my opinion make it much more attractive, and with many more features.
            Cole Custom Programming - Terrell, Texas
            972 524 8714
            [email protected]

            ____________________
            "A young man who is not liberal has no heart, but an old man who is not conservative has no mind." GB Shaw

            Comment


              #36
              Re: Xdialog, Xbasic for Data Entry

              Martin
              Thats really excellent to hear.
              and
              embedded browse...and has popup dialog screens as you type
              how would that be done, unless possibly with field rules?

              Comment


                #37
                Re: Xdialog, Xbasic for Data Entry

                the browse has a "cansave" event, among many
                in field rules, there are canwrite, onwrite, etc rules for individual fields
                and to tie the rules differently for different forms, you can say:
                if is_object("invoices1")

                elseif is_object("invoices2")

                etc
                Cole Custom Programming - Terrell, Texas
                972 524 8714
                [email protected]

                ____________________
                "A young man who is not liberal has no heart, but an old man who is not conservative has no mind." GB Shaw

                Comment


                  #38
                  Re: Xdialog, Xbasic for Data Entry

                  I don't know what to implement, someone says he never used browse or embedded browse because of some unpredictable behaviors when there are too many entries, the other one says he has been using it for a long time.I was about to change the embedded browse in every form that I made to Dialog component after viewing several videos. Stan and Tom, May I asked what have you been using to enter detail records in a one to many relationship?

                  Comment


                    #39
                    Re: Xdialog, Xbasic for Data Entry

                    My recommendation - odd as it may seem - is to try it with the browse and be alert for potential data entry errors. A lot of people seem to be having a different experience than what I've seen.

                    Comment


                      #40
                      Re: Xdialog, Xbasic for Data Entry

                      Martin,
                      Thankyou very much for that bit of valuable information on field validation. Many of the Alpha experts in the group were saying that there is no way to do field level validation in browse. For a data entry operator who is doing 1000s of line entries in a day (like invoicing), browse method is very user friendly. Even though it is a challenging job for the programmer, I prefer this method as once developed, will be very helpful for the end user.

                      Comment


                        #41
                        Re: Xdialog, Xbasic for Data Entry

                        Renny, right there you made your choice. And for you it is right.
                        And you will hopefully return to this thread in future with what you completed, and to offer others insight into how you overcame your hurdles.
                        Last edited by Ray in Capetown; 04-18-2012, 04:19 AM.

                        Comment


                          #42
                          Re: Xdialog, Xbasic for Data Entry

                          entering records/lineitems in a browse is pretty much an industry standard, and in most cases, unless you can give them that utility, it greatly increases the time and frustration for so entering
                          Cole Custom Programming - Terrell, Texas
                          972 524 8714
                          [email protected]

                          ____________________
                          "A young man who is not liberal has no heart, but an old man who is not conservative has no mind." GB Shaw

                          Comment


                            #43
                            Re: Xdialog, Xbasic for Data Entry

                            Originally posted by martinwcole View Post
                            entering records/lineitems in a browse is pretty much an industry standard, and in most cases, unless you can give them that utility, it greatly increases the time and frustration for so entering
                            I agree with the "industry standard" but I respectfully disagree with the idea that it increases time and frustration for the user. It may seem to users like it increases the time and frustration - in fact, I'd be willing to say that the majority of user and developers think this way - but, in reality, it can be the same number of mouse clicks, or maybe one extra, and the same number of keystrokes. I will, however, admit that a popup method does take longer for the developer to create.

                            And, one advantage to using a popup form or xdialog for entering the data is that records with lots of fields can usually be organized in a much more user friendly manner. It's also easier to add Help buttons, better field labels, descriptive text, etc. as needed. And I know a lot of users who don't like scrolling back and forth in a browse when the number of fields requires scrolling to see them all.

                            Here's how I see the number of clicks/keystrokes required. (Actual editing/entering of data is assumed to be the same in both cases - start at the 'first' field and either tab to or click on the next field to be edited. Consequently, editing/entering should take the same number of keystrokes/clicks regardless of the method used.)

                            EDITING:

                            Browse with non-modal entry:
                            - Click once in the browse row to activate the correct row/record.
                            - Edit the row.
                            - Click outside the row to save the changes. (or press F9)
                            (2 clicks plus editing.)

                            Browse with modal entry:
                            - Click the developer-created "Allow Edit" button or press F3.
                            - Click once in the browse row to activate the correct row/record.
                            - Edit the row.
                            - Click outside the row to save the changes. (or press F9)
                            (3 clicks plus editing)

                            Browse with popup editing: (doesn't matter whether modal or not because the button script will handle that)
                            - Click once in the browse row to activate the correct row/record.
                            - Click the "Edit" button.
                            - Edit the data in the popup.
                            - Click the Save button (or press F9) and, if properly coded, the popup will close and the data in the browse will be updated.
                            (3 clicks plus editing)

                            NEW RECORD:

                            Browse with non-modal entry:
                            - Click the New Record row.
                            - Enter the row.
                            - Click outside the row to save the changes. (or press F9)
                            (2 clicks plus editing)

                            Browse with popup editing:
                            - Click the "New Record" button.
                            - Enter the data in the popup.
                            - Click the Save button (or press F9) and, if properly coded, the popup will close and the data in the browse will be updated.
                            (2 clicks plus editing)

                            I did not list entering new records in the browse when using modal entry because it would actually take one more click than when using the popup method.

                            Option: The Edit/Enter button can be made part of the browse row itself - which I've started doing more and more - and that reduces the number of clicks for editing with the popup method to 2. And that makes it equal to the browse with non-modal entry.

                            So, in reality, it's the same amount of work for the user. It just seems like more because another form/dialog pops up.

                            And I'd like to add that I had one customer that I changed over from browse entry to popup entry. (He started the app and I finished it.) He, too, thought it would be too much extra work but I was able to convince him to try it after a bit of discussion and an agreement to go back if he didn't like it. He now likes the popup method better. In his case, there were quite a few fields plus a description field that was, in many cases, too short to see all the text when in the browse. He also likes the fact that he can just click the Edit button when he wants to view the whole record at once - and it's in a more organized layout.
                            Last edited by CALocklin; 04-18-2012, 11:35 PM.

                            Comment


                              #44
                              Re: Xdialog, Xbasic for Data Entry

                              I prefer using xdialogs to enter data instead of browses.

                              1. This method only opens the table long enough to write the record.

                              2. The browse is designed to work like an excel spreadsheet. However, the browse does not work like a excel spreadsheet. It does a number of funky things. I don�t remember all the funky things as I no longer use browses for data entry. But I do remember that a user could change a record by accident then move to a new record in the browse without having to confirm the change. I found myself getting frustrated having to write specific code trying to cover all of the actions of my users when they were using browses for data entry.

                              3. Garbage in, garbage out.

                              4. Some of my users are in a networked, hectic small business enviorment. They will start data entry, will be interupted by the phone, a customer, the boss, etc� Ten, fifteen, twenty minutes later, they get back to their data entry. In the mean time, the table has been open all this time. At least with an xdialog, the record is not left in an open state.

                              5. I have designed data entry xdialogs that are far quicker and easier to use that entering the data using a browse. Specifically, the weekly collections for a church. This xdialog is called from a form which has a read only browse. See the attached image.

                              The xdialog pops up with all the entry parameters set and the initial focus is on the Env Number: field. The env number is entered without any leading zeros. The enter key is pressed which moves the cursor to the Amount: field. At that time, data verification is done to ensure that a valid env number was entered. If not, the cursor is returned to the Env Number field and a warning box pops up. Once in the Amount field, the user enters the dollar amount and presses enter. This moves the cursor to the Enter button. The user then presses the Enter key again. The record is written to the table, the read only browse on the form is updated and the cursor moves to the Env Number: field awaiting the next entry. The dollar amount is saved so that if the next entry is for the same dollar amount, the user just presses the enter key to move through the field saving keystrokes. The secretary is averaging about 2-3 seconds an envelope. She is entering nearly 1000 envelopes a week.

                              In the end, it's whatever works for you.

                              Ron
                              Attached Files
                              Alpha 5 Version 11
                              AA Build 2999, Build 4269, Current Build
                              DBF's and MySql
                              Desktop, Web on the Desktop and WEB

                              Ron Anusiewicz

                              Comment


                                #45
                                Re: Xdialog, Xbasic for Data Entry

                                Originally posted by Ronald Anusiewicz View Post
                                In the end, it's whatever works for you.
                                +1

                                Comment

                                Working...
                                X