ccastdf@prism.gatech.EDU (Dave) (02/28/91)
    I want to use the GETLABEL and GETNUMBER macro commands to issue a
variable prompt and perform input. The example below is a macro subroutine
INPSUB for input, which uses the contents of PROMPT as a prompt string, and
returns the user input in CURINPUT.
 
Defined Ranges -------------PROMPT CURINPUT NAME ADDR
 
Macro Steps -----------
                        :
                {let PROMPT,"Enter your name: "}
                {INPSUB}
                {let NAME,CURINPUT}
                {let PROMPT,"Enter your address: "}
                {INPSUB}
                {let ADDR,CURINPUT}
                        :
 
{INPSUB}        {getlabel PROMPT,CURINPUT}
                return
 
    This seems to work in V2.2, but not V2.01.  Should this work in V2.01? 
Am I doing something wrong?  Is there some otheacro what v1-2-3 is running?
 
Please reply by e-mail or post..
Dave
-- 
David Frascone 				ccastdf@prism.gatech.edu
Georgia Institute of Technology,
Atlanta Georgia, 30332
Office of Information Technology--User Assistantrlarson2@uxh.cso.uiuc.edu (Robert S larson) (03/01/91)
ccastdf@prism.gatech.EDU (Dave) writes: > I want to use the GETLABEL and GETNUMBER macro commands to issue a >variable prompt and perform input. The example below is a macro subroutine >INPSUB for input, which uses the contents of PROMPT as a prompt string, and >returns the user input in CURINPUT. > >Defined Ranges -------------PROMPT CURINPUT NAME ADDR > >Macro Steps ----------- > : > {let PROMPT,"Enter your name: "} > {INPSUB} > {let NAME,CURINPUT} > {let PROMPT,"Enter your address: "} > {INPSUB} > {let ADDR,CURINPUT} > : > >{INPSUB} {getlabel PROMPT,CURINPUT} > return > > This seems to work in V2.2, but not V2.01. Should this work in V2.01? In V2.01 the first argument of {GETLABEL } can only be a string -- whereas in V2.2 it can be a string, a string formula, or a range. A method which works in both versions and only requires one additional line is to include a macro step which alters the {GETLABEL }. Just change your sub-routine {INPSUB} to this: {INPSUB} {let INPSUB2, +"{getlabel "&@char(34)&prompt&@char(34)&",curinpt":v} {INPSUB2} this cell is created by the cell above it, it is the getlabel comm {return} The macro at cell {inpusub} not creates the proper {getlabel } in the cell just below it -- which is now named INPSUB2. The purpose of the @char(34) in the string formula is to put the proper "" in the prompt s D C cell just below it, which is now called {INPSUB@} {return}