┌─────────────────────────────────────────────────────────────────────────────┐
│ Option:  QU  QUESTIONAIRE...................................................│
└─────────────────────────────────────────────────────────────────────────────┘

Syntax  
═══════════════════════════════════════════════════════════════════════════════
JLUTIL /QU [Parameters] [-Switches]
═══════════════════════════════════════════════════════════════════════════════

Switch Description  
═══════════════════════════════════════════════════════════════════════════════
No Switches available at this time.
═══════════════════════════════════════════════════════════════════════════════

Param       Description  
═══════════════════════════════════════════════════════════════════════════════
FileName    Name of the questionaire-File or number of the questionaire.
═══════════════════════════════════════════════════════════════════════════════

Explanation  
═══════════════════════════════════════════════════════════════════════════════
JLUTIL /QU displays the questionaire and stores the answers. You can
specify several input formats (uppercase, numbers only etc.) and
send the answers then as a msg to somebody.


The questionaire can handle some variables (inspect QUEST001.@JL, if you want
to have an example):

@@DE=    Delimiter Char

@@RE=    Receiver of the Msg

@@NN=    NetNode of the Receiver

@@SU=    Message Subject

@@AR=    MsgArea

@@TI=    Title of this Questionaire; will be displayed whenever you
         use the CLS Command. Delete a title with @@TI=

@@CO=    Display this String. You can enter the normal variables
         (Look at MS.HLP) like @SAD, etc. You can enter the variables,
         you are using in the questionaire. You have to use the
         following syntax: '@VARNAME@'. If you want to write '@',
         then you should enter '@@'. You can format the output of
         VARNAME, you should specify eg.

            '@VARNAME:B 5@'.
                     ││││
                     │││└the output has a minimum of 5 chars
                     ││└ fill the string with that char
                     │└can be 'B' for fill the string from the beginning
                     │     or 'E' for fill the string from the end
                     └must be a ':'

@@HU=    Display this String simulation a human being
         @@HU=100|100|Hi man.
              ─┬─ ─┬─ ──┬────
               │   │    └text
               │   └errors
               └speed

         You can use variables like within @@CO=.

@@LF=    LogFileName; eg. @@LF=D:\QUEST\TOTAL.LOG

@@RL=    Reset (temporal) LogFile TRUE or FALSE

         IF TRUE:  Reset the temporal LOG-File after a
                   CALL command and append it to the
                   current LOGFile of the Questionaire.
         IF FALSE: leave the temporal LOG-File and
                   save it at the end to the LOGFile
                   of the last Questionaire.

;...     ignore this line



GET VARIABLES FROM USER:
------------------------------------------------------------------

and now lets discuss an example line:

NET-NODE= |Enter the Net/Node of your BBS:         | 7|1|1|4|1|1|1..7

NET-NODE=  Variable Name within the Msg
Enter....  Questiontext
1.Flag     Max. Length of the Answer
2.Flag     1: ClrLine before asking the Question
           2: ClrLine after asking the Question
           3: ClrLine before & after asking the Question
3.Flag     1: Length of Answer must be > 0
           2: Length of Answer can  be = 0
4.Flag     1: all chars, normal
           2: transform to uppercase chars
           3: numbers          0123456789
           4: extended numbers 0123456789/()+- etc.
5.Flag     1: display normal
           2: invisible
           3: write dots
6.Flag     1: press RETURN
           2: without RETURN  (for single Char Answers)
1..7       Range of the answer; the answers 1,2,3,4,5,6,7 are possible.
           if you specify A..C; the answers A,B,C are possible.


COMMANDS:
------------------------------------------------------------------

Command               Description
--------------------- --------------------------------------------
CLS                   Clear Screen
GOTO :LABEL           Jump to :Label
GOBACK                Jump from a GOTO command back (not implemented yet)
:LABEL                Label
IF ...                IF CLAUSES  [ = , < , <= , > , >= , <> ]
SETFBCOLOR f,b        Set Foreground to f and Background to b
                      (f,n are integer)
DELAY n               Waits n milliseconds
RANDOM(VarName,N)     Creates a Random-Integer from 1 to N and
                      stores it in the variable VarName.
CALL QuestFileName    Leave the current questionaire and skip to
                      another, which is specified.
DISPLAY FileName      Display the contents of a TextFile.
TERMINATE VarName     Terminate with ErrorLevel of VarName.
SUM (ResultVarName|Var1|...|VarN)
MEAN(ResultVarName|Var1|...|VarN)
ASSIGNUSERFILE        Assign GTUserFile
CLOSEUSERFILE         Close  GTUserFile
GOTOLOGGEDONUSER      Goto the record of the logged on user
READNEXTUSER          read next record of GTUserFile
CHANGELEVELTO NewLev  Change level of current userrecord to NewLev

                      Variables can be:

                      ActUser.LEVEL
                      ActUser.NAME
                      ActUser.CITY
                      ActUser.PSW
                      ActUser.PHONE





;EXAMPLE:
;------------------------------------------------------
:PSW
SETFBCOLOR 14,0
PSW=    |Enter your Password|30|3|1|1|1|1
IF PSW = JuLo THEN GOTO :JULO
GOTO :WRONGPSW
:JULO
@@CO=Hi, JuLo.
@@CO=
:GET_NUMBER
NR= |Enter a number greater 10 |3| 5|1|3|1|1
IF NR <= 10 THEN GOTO :GET_NUMBER
@@CO=You've got it. Bye, Bye.
@@CO=
GOTO :ENDE
:WRONGPSW
SETFBCOLOR 12,11
@@CO=WRONG PASSWORD
DELAY 1000
GOTO :PSW
:ENDE
;------------------------------------------------------


JLUTIL /QU QUEST004.@JL
JLUTIL /QU 4
═══════════════════════════════════════════════════════════════════════════════


