Modifying real fields in automatic (was Re: Some Sort of Control From The Browse Screen)
Kenneth Brody
kenbrody at spamcop.net
Thu Oct 21 11:25:14 PDT 2010
On 10/21/2010 1:33 PM, flowersoft at compuserve.com wrote:
>> And putting it in automatic won't affect other users?
>
> No, unless he adds the -y myauto to other menu options.
If you're replacing processing anyway, why not use "-z myinput"?
[...]
>>> Since you can only detect @sk="brky" from automatic when not at an input
>>> statement,
>
>> Huh?
>
> You can? If I'm updating a record and hit<ctrl+c> or<del><del> you can
> capture that keystroke from input processing?
> Is that a new feature in 5.6? Because it certainly does not work on my
> version unless you are at an input statement.
Well, if you really need to check if the user broke out of update, this
works on 4.8:
=====
::declare Updating(1,*,g):
@update::Updating = "y":
::screen:
::end:
@entsel:::
:Updating = "Y":Updating = "" ; mesgbox "Left update with @SK = '" & @sk & "'":
::end:
=====
And, if your processing never uses POPUP within it, this can be simplified:
=====
@update::popup ("1","1") update - (@sn):
::mesgbox "You left update mode with @SK = '" & @SK & "'":
::end:
=====
>
>> I don't follow. What, exactly, do you want to do if the user presses
>> Break that you "can't do" if the assignment to field 5 is in input?
>
> The menu line puts the user in a "browse" mode from where he/she can press
> "U" to change the value of field 5, which immediately displays on the browse
> screen. The user never leaves the "browse" mode.
Nit: The user never _sees_ that they have left browse mode.
> But, if the user wanted
> to make a change to the record, other than changing the value of field 5, I
> was allowing them to hit "break" from the browse screen and that would put
> them on screen 1 from where they could modify the record just like if they
> were outside of this special program. The only way (that I know) to trap
> the "break" key when not in an input statement is from automatic processing.
> Please correct me if I'm wrong.
See above.
However, since you're talking about breaking out of browse mode, and not
update mode, why not just check for @SK="BRKY" in @ENTSEL?
=====
@entsel:@sk = "BRKY":mesgbox "@ENTSEL reached with @SK=BRKY":
::end:
=====
You still haven't said why you feel you need to modify field 5 from
automatic. Even if it were true that you couldn't check for BRKY in input
processing, what does that have to do with your assignment to field 5?
[...]
--
Kenneth Brody
More information about the Filepro-list
mailing list