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