[futurebasic] Re: [FB] Edit Field conflicts with Menu

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : August 2000 : Group Archive : Group : All Groups

From: Joe Lewis Wilkins <PepeToo@...>
Date: Mon, 07 Aug 2000 12:38:02 -0700
Hi Richard,

I'd be willing to bet that the problems stems from your using the "%" in the
menus. Special characters sometimes create problems.  Like I was trying to use
FB^3 in a menu and the carat had to be handled specially.  Try spelling it out
instead, "2 percent".  I also suspect you may have two - unrelated problems,
though I could be wrong.

Don't bother to change all of them.  Just change one and test for it.

HTH,

Joe Wilkins

Richard Goodman wrote:

> For some reason I encounter bugs that seem to have no rational explanation.
> This one is a lulu.  I am working on a rather elementary program for
> calculating compound interest. It contains the following function to create
> a menu from which the user can select an interest rate:
>
> LOCAL FN buildmenus
> MENU 1,0,_enable ,"File"
> MENU 1,1,_enable,"Quit/Q"
> MENU 2,0,1, "Interest Rate"
> MENU 2,1,1, "2%"
> MENU 2,2,1, "2.5%"
> MENU 2,3,1, "3%"
> MENU 2,4,1, "3.5%"
> MENU 2,5,_checked, "4%"
> MENU 2,6,1, "4.5%"
> MENU 2,7,1, "5%"
> MENU 2,8,1, "5.5%"
> MENU 2,9,1, "6%"
> itemchecked = 5
> rate = .04
> end fn
>
> The function that processes a menu click looks like this:
>
> LOCAL
> DIM menuID
> DIM itemID
> DIM thisitem
> LOCAL FN menuprocess
>   menuID = MENU(_menuID)
>   itemID = MENU(_itemID)
> SELECT menuID
>    CASE 1                         'quit
>           FN Quit
>    CASE 2                         'interest rate
>      FOR thisitem = 1 to 9
>      if thisitem = itemchecked then menu 2,thisitem,1    'uncheck the
> previously checked item
>      NEXT
>
>      SELECT itemID
>      CASE 1
>      rate! = .02
>      MENU 2,1,_checked
>      CASE 2
>      rate! = .025
>      MENU 2,2,_checked
>      CASE 3
>      rate! = .03
>      MENU 2,3,_checked
>      CASE 4
>      rate! = .035
>      MENU 2,4,_checked
>      CASE 5
>      rate! = .04
>      MENU 2,5,_checked
>      CASE 6
>      BEEP
>      rate! = .045
>      MENU 2,6,_checked
>      CASE 7
>      rate! = .05
>      MENU 2,7,_checked
>      CASE 8
>      rate! = .055
>      MENU 2,8,_checked
>      case 9
>      rate! = .06
>      MENU 2,9,_checked
> END SELECT
> END SELECT
> itemchecked = itemID
>   MENU
> end fn
>
> Pretty straightforward stuff, right?
>
> However, I've found that when the user chooses any of the interest rates
> 3%, 3.5%, 4%, or 4.5%, the menu does not respond. In fact, using a BEEP, I
> find that the CASE for the given rate is not recognized at all. The other
> rates are recognized OK. By a lengthy process of trial and error, I've
> narrowed down the conflict to the following two statements (from a function
> that builds the single window in the program):
>
> EDIT FIELD #6,"1", (440, 310)-(500, 330),_FramedNoCR  ' for user to enter
> duration of investment
> EDIT FIELD #4,"100", (440, 230)-(500, 245), _FramedNoCR' for user to enter
> starting principal
>
> If I change the two edit fields to _Statnoframed, the problem disappears.
> But I want the edit fields "editable!"
>
> I haven't a clue as to what's going on here. Why would the nature of an
> edit field interfere with the ability to choose some menu items. Can anyone
> help me here?