Can cursor focus be set

Hi Dave,

Well, that cuts it! I have made many mistakes during the process of getting Gary’s procedure to work for me globally. But your suggestion was the last piece needed to solve the puzzle.

This is the first time I have tried to call a procedure from inside a form. So far, most of my coding has been done within forms. When I was first setting this up, I saw at a picture in one of the help pages that showed one line of code calling a separate procedure. That looked easy enough, so I just mimicked what I saw when I wrote my code, without investigating it further.

Now the corrected procedure works perfectly, and globally. I will now retire to my studies, write some more code, and try not to make the same mistakes twice.

Thanks to everyone who helped. A simple question on how to make something more convenient just blossomed into a great experience.

Kurt,

You are too much! Just as I was posting this, you have offered an answer to my original question. I will certainly try this out.

Ken

Regarding placement of files on a computer, it is always the users computer. They can place their files anywhere on their computer that they wish. It is most often than the user doesn’t really want to follow the prescribed ways, nor is it ProVUE or Microsoft that typically has a problem if the user places their files elsewhere. But I am happy to share that I have made a lot of money ‘fixing’ or recovering files that have been left behind or not having been backed up by utility programs that expect for music files to be saved in the Music folder, and pictures in the Pictures folder, and videos in the Videos folder and documents in the Documents folder. Even Apple’s Migration assistant calls out these special folders for transfer options. Things will generally, most often work just fine, but do note that not every program will always consider the real world in the way that users choose to do things. Yes, the Desktop will work for most anything, but Aliases will also work as well as keep things as someone else might be expecting them. Just a thought to stay safe for those wanting to learn from others.

Kurt, you deserve a gold star for this.This issue has come up several times over the last two years and you are, I think, the first person to find that supergettext does not suffer from the same shortcoming. Thanks.

Gee, I thought I had mentioned it so many times I was becoming a repetitive bore (hence my failure to mention it on this thread), but doing a quick search it looks like I have only mentioned this once or perhaps twice, not many times. Here is a mention from 2017.

I guess as long as Apple doesn’t fix this problem in the native dialog (it did work in earlier versions of macOS) I should keep mentioning the supergettext alternative at least once per year :open_mouth: :loudspeaker:

Is it feasible to modify the gettext code to work the way the supergettext does?

As I mentioned before, only Apple can do that. It’s Apple’s code, built in to macOS.

I covered this before, but it was a couple of years ago, so I’ll repeat. The gettext statement is coded using Apple’s “stock” text entry dialog. It uses Apple code, so it will always work the way that Apple has decided is best. For whatever reason, starting with macOS 10.10 Apple decided that not automatically putting the focus on the text was the right way that this dialog should work. I don’t agree, but Apple doesn’t provide any way for a developer to customize the operation of this dialog.

The only way to change any aspect of how gettext would work would be to completely rewrite it from scratch, so that it used none of Apple’s code. I could do that – but I already have done that – that’s what the supergettext statement is. So it seems to me to be silly to make the gettext statement work exactly like the supergettext statement, and leave no method that would allow use of Apple’s stock text entry dialog. If you want the stock Apple version, use gettext, if you want the custom version, use supergettext.

I feel like this part of the question didn’t get answered. It isn’t sort for anything; it divides “get scrap” (not “gets crap” as you may be thinking). The thing you copy to and paste from is called the clipboard or pasteboard, but it used to be called the scrap (and the programming interface to it was the Scrap Manager), and copied/pasted material used to be called, and occasionally is still called, the “scrap”. I would suggest that the name be changed to “inputtoclip” or similar.

Whoops, I didn’t notice that part of the question at all. Let me elaborate on Matt’s answer.

In the earliest days of Panorama programming, Panorama had no variables at all. The only way to hold on to a value outside of a database field was in the clipboard, which as Matt points out, was also called the “scrap”. The earliest Mac’s also had a Scrapbook desk accessory that you could transfer text and pictures in and out of via the clipboard.

Since there were no variables, Panorama had a few statements that could work with the clipboard as a “poor man’s” variable, including getscrap and scrapcalc.

If this wasn’t an obsolete statement, I would agree. In 2019 Panorama makes it super easy to create and use variables, so I would recommend not using the clipboard as a variable in any new code. The only reason getscrap still exists is because some people have old databases that use it, and I really do try to maintain compatibility with existing databases and existing code to the maximum extent possible. However, I would recommend that no one should ever write any new code that uses the getscrap statement, so there is no point in renaming the statement.

I have added the text below to the help topics for the getscrap and getscrapok statements, to make it more clear that these statements are obsolete, and to add a historical note about the origin of the term.


The problem with the getscrap statement is that it clobbers the clipboard, which you may be using for something else. So if you are writing new code, don’t use the getscrap statement – use the [gettext] statement instead. Here is a version of this code that has been rewritten so that it doesn’t clobber the clipboard.

gettext "Area code:",AreaCode

Historical Note: The word “scrap” is the original name for the Macintosh clipboard from the 1980’s, so the name of this statement came from “get scrap”, i.e. get a value into the scrap, i.e. clipboard. Over the years the word “scrap” has gone out of favor and this feature is now usually called the clipboard, but the original term lives on in the name of this statement.

Thank you Matt and Jim for answering my off topic question.

Everyone who participated has been very helpful. I have learned quite a lot in the process. It certainly has helped me discover new features and facets about PanoramaX, including its history. It has prompted me to explore new and different areas of Panorama that I am not familiar with. As frustrating as it can be at times, I have enjoyed working with this program more than any other software I have used.

Ken

1 Like