The three 'gettext' statements are very awkward to use


#1

Each of the gettext, gettextdialog and gettextokcancel statements requires the user to click in the data entry box before typing a value. They would be much more user-friendly if the cursor was already positioned there.

Furthermore, the latter two statements require the user to define a dummy initial value for the value being sought. For instance, this code:

local ID
gettextokcancel "Enter member ID:",ID

results in the error message, “Contents of variable [ID] have not been defined.”


#2

You have to add a statement

ID=""

or you could say

Let ID = ""

and you could insert some default value.
Yes, it would be easier if the input box were active. I seem to remember this issue was identified long ago for Gettext and Jim revised it so the input box is active.
Better yet, you could use the procedure that Gary Y developed which uses the AlertSheet. I have a custom statement that uses it, which you or others are welcome to have. Here’s a screen shot of what it looks like.


#3

Yes, I made that point in my post. But it strikes me as a totally unnecessary imposition.

Thanks for the note about Gary’s fix. And yes, send me your custom statement please Tom.


#4

I looked at Bitbucket, where this issue was reported by me for Gettext (Issue #579). It arose apparently with the release of OS 10.12. From Jim’s earlier comments, the problem arose due to a change by Apple in the OS. I would not plan on this being fixed; it may or may not be. Which is one reason I stopped using it altogether and use the Gary Y’s method of using the AlertSheet, where the input box is highlighted and active as soon as the procedure is invoked.
The other advantage of the alert sheet input is that you may switch to other windows while the alert sheet is being displayed. With the Gettext and its cousins, you must acknowledge the gettext box before doing anything else.


#5

Where can we find this?


#6

I suppose that depends on what “this” refers to.

Gary’s procedure is at

and Tom’s Bitbucket issue is at


#7

Never mind, found it.