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

VFP FoxPro to Alpha5 Questions

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

    #16
    Re: VFP FoxPro to Alpha5 Questions

    Thanks NoeticCC for the threading answer...

    I did notice that I cannot do anything in IE when running a large filter or indexing. If its truely multi-threaded, then why does the UI lock until the process finishes?

    Now I'm wondering if it really is multi-threaded, as true multi-threaded apps allows other processes to be started and ran regardless of other processes. If I have to program in all the threading, then I'll consider it single threaded because of the way it behaves out of the box. I hope I'm missing something here.

    Comment


      #17
      Re: VFP FoxPro to Alpha5 Questions

      Originally posted by stanlyn View Post
      Thanks NoeticCC for the threading answer...

      I did notice that I cannot do anything in IE when running a large filter or indexing. If its truely multi-threaded, then why does the UI lock until the process finishes?
      Presumably, the UI locks because Alpha5 doesn't "want" you to go and be able to edit stuff that is currently being processed...

      The thread functions refer to what YOU as a developer can allow YOUR users to do, e.g. you can spawn other threads in the background depending on your needs. E.g. you can start a folder watch or a timer event in another thread separate from the main, but that is behaviour in the app you write with Alpha5, since you sepcifically coded it that way (assuming that the actions in the other thread can go ahead without requiring any subsequent actions to wait etc.).

      This does of course not mean that the development tool itself is going to automatically act the way you wish it would in any given instance... unless you spaw a process in a separate thread it will take place in the current thread, since the likelyhood of such operations affecting data (and thus needing to be completed before any new ops can be started, lest data become corrupted/garbled) is rather high.

      Comment


        #18
        Re: VFP FoxPro to Alpha5 Questions

        Stanlyn.

        If I understand you correctly, even if the data is encrypted, a 3rd party app can connect to and expose it to disaster... correct?
        So can an exe file be opened with notepad and destroyed. The biggest deal is with the encryption, another alpha adb can't open that table and see the data, nor can anything else open and see the data. It can get garbled up by a hacker. So can a sql table, or any other file.

        Indexes:

        May i suggest you make your basic indexes for you tables and do the ones you rarely need on the fly.

        typing-mouse:

        When we left dos, we learned the mouse big time and alpha is following the desire of the many with the mouse. It may not be faster, but if you are doing something with more than a few key strokes that can be done with a couple mouse clicks, I vote mouse.

        Functions:

        when learning clipper, I was told to memorize the functions. we had a hundred or more. In alpha there are hundreds(pretty good help file though). In clipper, almost everything required you make a another function. Alpha does not require so many udf's, but you can if you want and it is usually faster.

        VFP/clipper/basic:

        did a little foxpro in the dos days, but clipper was the big dog then. Alpha is getting to be more and more accepted now because you can do so much without programming code.

        Suggestion:

        Do some of the easy mouse button clicks to do some of the things you asked about, then save as a script or xbasic. check the code alpha made, many suprises.

        -----------------------------------------------

        Don't worry too much about the next VFP programmer looking at this thread, because each will have their own issues to deal with. The one thing you have here is a lot of help for whatever you need. A lot of these users have a vast amount of experience in other languages. Makes for a variety of answers for you which shows the versatility of your new tool.

        You had some pretty good answers from the users here so far.

        .



        .
        Dave Mason
        [email protected]
        Skype is dave.mason46

        Comment


          #19
          Re: VFP FoxPro to Alpha5 Questions

          Stanley, welcome to the A5 community. We all feel your pain about getting your head around it initiallly - we've all been there and we've all survived. The way I did it was to read all I could find and to work with the examples like Alpha Sports. When I first started, the Help file wasn't as big as it is now but I eventually read every page of it. And, I'd say I've read at least 95% of everything in the current Help files - probably more. (I don't remember it all but at least I have an idea of what's available to me.)

          One of the problems I have with the current Help file is that the keyword searches find every instance of that word. In most cases that means that most references aren't really relevant. To help you find the info you need, try downloading and using my A5v5 Xbasic Help file:
          - This file contains every xbasic function from v5. (More proof that I truly did read every page of their help file which was in PDF format only at that time.)
          - The file ONLY includes xbasic functions - no other tutorials, etc.
          - Most every question you've asked so far would involve only xbasic commands that were already available in version 5.
          - There are many v6-v7 functions also listed and a few v8 functions. (You should be aware that most of the changes from v6 on have related to web apps and interfacing with the web. There are some new desktop xbasic functions but even many of those are only wrappers around older functions.)
          - The keywords in this help file were specificially defined for each topic and are, therefore, always relevant.
          - Many of the keywords are synonyms. This means that you can find a Delete function by looking for Remove, Erase, Delete, Drop, and maybe one or two others. (Compare that to the current Help file that virtually requires you to already know the command in order to find it.)
          - This is an older .hlp type file so you may need to download the appropriate file from MS to run it in XP.
          - If you decide to use it, remember that you are getting the benefit of hundreds of hours of my time for free.

          Since you are coming from another system, you might also want to read my A5 Naming Recommendations. I like the way most people handle naming in VB and Access but A5 has some restrictions because of it's basis in .DBF files. As a result, most of those naming methods basically suck if you try to apply them to A5. Although there are specific recommendations in that document, the really important thing is to understand the reason for suggesting them. I've been using A5 since version 1 first came out and I can tell you that all those reasons are valid - if you think any of them aren't important to you now, they will be at some point in the future. (I'm going to change the 'purpose' on that page because it's not just about running text searches. Good naming practices also make development faster, more efficient, and easier to understand/edit in the future. In some cases they can even make the application more stable.)

          I also want to point out that the comment about "one question at a time" referred to separate threads - not separate posts on one thead. Separate posts on one thread are even more confusing. Due to the nature of the initial post, I'm not sure there would have been a huge benefit to splitting them up in this case but part of the reason for splitting them is that some people can't answer all the questions. That makes it harder for them to respond.

          Finally, one thing that nobody has pointed out but I think may have caused the initial problem with the test in the Interactive Windows (IW) is that you must hit the Enter key on each line to 'run' that line so the rest of the lines in the IW can see/use the result. My guess is that you may have copied that short test to the IW and added the "?" in front of the second line then hit "Enter" only on that one line thinking that it would "see" the first line. (You can also highlight multiple lines and run the whole thing just like a regular script by clicking the lightning bolt or pressing Ctrl-F5. If you do that, it has to look just like a script - all IW related symbols like "?" and "=" must be removed first.)

          Comment


            #20
            Re: VFP FoxPro to Alpha5 Questions

            Cal, all.

            The date script
            Code:
             
            aa = date()
            ?dtoc(aa)
            errors out if you highlight "aa=date()" first and use the lightning bolt Run icon to run it, then placing the cursor after ?dtoc(aa) and hitting enter.
            Code:
             
            aa = date()
            ?dtoc(aa)
            ERROR: Variable "aa" not found.
            If placing the cursor after each line and hitting enter then no error is produced.
            Code:
            aa = date()
            ?dtoc(aa)
            = "06/14/2008"
            Mike
            __________________________________________
            It is only when we forget all our learning that we begin to know.
            It's not what you look at that matters, it's what you see.
            Henry David Thoreau
            __________________________________________



            Comment


              #21
              Re: VFP FoxPro to Alpha5 Questions

              Originally posted by MikeC View Post
              The date script ... errors out if you highlight "aa=date()" first and use the lightning bolt Run icon to run it, then placing the cursor after ?dtoc(aa) and hitting enter.
              Most interesting!

              I verified this in v8 and v9. I also tried it by putting a "DIM aa as D" before the "aa=date()". After highlighting both those lines and hitting the lightning bolt, it seems to work.

              However, in A5v5 - A5v7 all you have to do is highlight the "aa=date()" line. Sounds to me like "something changed" in v8. (alternate concepts might be considered in place of "something changed".)

              Comment


                #22
                Re: VFP FoxPro to Alpha5 Questions

                Originally posted by DaveM View Post
                did a little foxpro in the dos days, but clipper was the big dog then. Alpha is getting to be more and more accepted now because you can do so much without programming code.
                ... and much, much more WITH programming a little code, too... ;)

                Comment


                  #23
                  Re: VFP FoxPro to Alpha5 Questions

                  Concerning the date script that was erroring out...

                  With me coming from VFP and learning about the IW, it was easy to adapt as they behave very simular with regards to the community.

                  There are a couple places that A5 lacks and I will surely miss in using A5's IW unless they are hidden or turned off features.

                  1. After running a line in IW, it puts the result in the IW window itself. VFP puts it on the desktop by default or any other window you chose. The problem with mixing the results with the commands in the IW window is that it prevents you from appending more code to the previous code and selecting the larger block of code and running it without first cleaning out all the results.

                  I also noted that if you edit and execute a line or block of code that you previously executed from IW, the edited block erases/replaces the previous line or block so I'm losing the ability to see all the various ways that did or did not work. VFP handles it by allowing you to edit, add, remove any piece of the block and when you execute it, VFP copies the code to the end of the IW window without changing any of the previously executed lines... (losing history)

                  2. There is no Control Z (undo) and I found that by having a block of code highlighted and typing over it and realized that I needed to keep the highlighted code. The other shortcut keys were there, but I could not find the UnDo (Ctrl-Z) anywhere. I did see that the forms allows an UnDo with a non-Windows standard of Alt-Backspace. (Why not use the Windows standard here?)

                  3. I also noticed that the IW always forgets what you were working on in the last session as it comes up empty. Look at all the history I'm losing... The history of what I was working on is always helpful, and I would rather be the in charge of clearing it instead of A5 always clearing it... I know you can stop and waste the time to save a copy of it. What about a crash, and executing code in the IW will probably crash it quicker than anywhere else as we are testing all kinds of crazy combinations to achive a resolution of something. All the code that was keyed into IW up until the crash would be lost. (not a good thing, as I would have to duplicate the process and probably crash it again)

                  I made some progress yesturday, and now today I wanted to pick up where I left off and guess what? Empty IW... I cannot pickup and continue, as I have to start over by searching for the forum message that had information given by this valuable community in it and start over. (very disappointing to say the least)

                  Please do not take offense, as I know A5 has its way, but maybe A5 could be improved in the area of this discussion, which everyone could benefit. I tried to hold back on this one, but felt everyone would benefit if A5 added them. (heck, they may already be there and maybe someone will point them out... I hope) I appreciate this community very much and encourage continued dialog as I kick the tires.

                  Comment


                    #24
                    Re: VFP FoxPro to Alpha5 Questions

                    Hi CALocklin,

                    Thanks for your reply and wisdom... I completely agree with you and that is always exactly what I do after I'm committed.

                    At this early stage, I'm not committed to spend the enormous amount of time to read everything, as I'm trying to evaluate where A5 stacks up against VFP and the .Net stuff, as I want to make the right choice selecting my next language. I am reading all the stuff and pointers all you are giving me that allows me to do the simple stuff.

                    I am still evaluating A5 as it seams quite capable, and so far I haven't seen anything that is a show stopper, so I'll continue on...

                    Thanks, Stanley

                    Comment


                      #25
                      Re: VFP FoxPro to Alpha5 Questions

                      ... and much, much more WITH programming a little code, too...
                      Glad to see this...

                      I've been noticing that there is an large number of forum users that has been a member less than a year. That probably explains why I get mouse and genie answers as most are not coders, instead they totally use the UI...

                      In evaluating a language, the language needs to be able to do everything (100%)via code with no execptions. Does A5 fit here?

                      Comment


                        #26
                        Re: VFP FoxPro to Alpha5 Questions

                        Hi DaveM,

                        Quote:
                        If I understand you correctly, even if the data is encrypted, a 3rd party app can connect to and expose it to disaster... correct?

                        So can an exe file be opened with notepad and destroyed. The biggest deal is with the encryption, another alpha adb can't open that table and see the data, nor can anything else open and see the data. It can get garbled up by a hacker. So can a sql table, or any other file.
                        1. In my world, a properly secured sql database cannot be opened by unauthorized 3rd party apps.

                        2. Also you can also easily protect, hide, and secure a sql database so that anyone with notepad or a hex editor cannot even get to it to perform their magic.

                        3. This level of protection is almost impossibe with dbf files on a network, as most must have full access for them to be written to. VFP has the same problem when dealing with their native dbf's, while VFP using a sql backend does not.

                        Thanks,
                        Stanley

                        Comment


                          #27
                          Re: VFP FoxPro to Alpha5 Questions

                          Hi Cal,

                          Avoid using one name 'inside' another like Zipcode and Zipcode4. Better to use Zipcode and Zip4 or Zip_code4. Or, applying rule 1 above, Zipcodef is already unique from Zipcode4f. Another advantage in this case is that you could easily run a search for "zipcode" if you wanted to find all references to either Zipcodef or Zipcode4f. If you ran a search on just "zip" you might also find, for example, references to zip files used for backup routines.
                          Are you saying that if I have 3 fields in a table named zipcode1, zipcode2, and zipcode3, and I searched for "12345" that the system can search all 3 fields for the occurance of "12345"...

                          If so, Please give me a simple example on how to do this as this is interesting and something VFP cannot do...

                          How does the full text search routine work?

                          Thanks,
                          Stanley

                          Comment


                            #28
                            Re: VFP FoxPro to Alpha5 Questions

                            Hi NoeticCC,

                            Presumably, the UI locks because Alpha5 doesn't "want" you to go and be able to edit stuff that is currently being processed...
                            But there are many times I'd like to be working on other work unrelated to the long task being performed. I hate waiting till a process finishes before I can go back to work...

                            Can a 2nd instance of A5 be opened on the same database with the only thing locked being the executing task on instance 1?

                            Thanks,
                            Stanley

                            Comment


                              #29
                              Re: VFP FoxPro to Alpha5 Questions

                              Hi Stanley,

                              In evaluating a language, the language needs to be able to do everything (100%)via code with no execptions. Does A5 fit here?
                              There seems to be no end to what Alpha developers have achieved with Xbasic code, I think it depends on your imagination. Is there a particular test you have in mind?

                              With the combination of Xbasic and Xdialog you can build very powerful applications.

                              Fortunately you will always find something in Alpha that could be improved, that is what the guys in HQ have been doing for the past 20 years and they are still at it. The point is they do listen to us the developers and end users and do make the requested changes and then some.

                              We are a very protective community and like to help every member as positively as possible.

                              This forum is a testament to the power and versatility of Alpha Software.

                              To answer your question;
                              Are you saying that if I have 3 fields in a table named zipcode1, zipcode2, and zipcode3, and I searched for "12345" that the system can search all 3 fields for the occurance of "12345"...

                              If so, Please give me a simple example on how to do this as this is interesting and something VFP cannot do...

                              How does the full text search routine work?
                              See thumbnail.
                              Last edited by Keith Hubert; 06-15-2008, 12:57 AM. Reason: Added thumbnail
                              Regards
                              Keith Hubert
                              Alpha Guild Member
                              London.
                              KHDB Management Systems
                              Skype = keith.hubert


                              For your day-to-day Needs, you Need an Alpha Database!

                              Comment


                                #30
                                Re: VFP FoxPro to Alpha5 Questions

                                Stanley,
                                Regarding the IW, you have very valid points and would love to have an automatic save script/code feature for it...currently it can only be saved and restored manually via the top menu for the IW. If noone else puts this into the Wishlist forum, I most likely will. There is also a feature I just found called the Scrapbook in which script can be saved from anywhere it seems.
                                Mike
                                __________________________________________
                                It is only when we forget all our learning that we begin to know.
                                It's not what you look at that matters, it's what you see.
                                Henry David Thoreau
                                __________________________________________



                                Comment

                                Working...
                                X