0707070000020047061007770001460001440000010446060355430606200000500000000004Size360 0707070000020045241007770001460001440000010450760355673625100000500000000060NameFORM_MAKER ver 1.1 - 10/22/85 - from THE STORE! 0707070000020046761007770001460001440000010446110355673620600000600000000275Files./Size ./Name ./Files ./Remove ./Install ./attispoll ./fm ./README ./WELCOME:FM ./SAMPLE:FM ./attispoll.hlp ./formmaker.hlp ./test.h ./test_subs.c ./Makefile ./MAKEflop ./MAKEcpio ./Suffix 0707070000020045371007770001460001440000010446100355673612100000700000000457Remove# # delete files from their destination # LIST1="attispoll fm" echo "Removing the FORM_MAKER files" for i in $LIST1 do rm /usr/bin/$i done rm /usr/lib/ua/attispoll.hlp rm /usr/lib/ua/formmaker.hlp rm -rf $HOME/Filecabinet/FORM_MAKER uaupd -r Form Suffixes echo "FORM_MAKER Removal is Complete" 0707070000020046751007770001460001440000010452120355674542500001000000003553Install# Since FORM_MAKER works only with screen editors, the user is warned # if their default editor is /bin/ed ...... if [ "$EDIT" = "/bin/ed" ] then message "WARNING - WARNING\n\nFORM_MAKER requires that a screen editor be used as your default editor - your default editor is still /bin/ed which will not work. Use the Office Preferences to select /usr/bin/vi as your default." message "WARNING (continued)\n\nThe only two default word processors tested are /usr/bin/vi and the CT word processor. The installation will proceed anyway, but you MUST change your \$EDIT default processor before using FORM_MAKER." fi # # move files to their destination # message -i "The FORM_MAKER package and documentation will be placed in a file folder in your Filecabinet called FORM_MAKER.\n\nPlease touch Enter to continue ..." LIST1="attispoll fm" LIST2="README SAMPLE:FM WELCOME:FM test_subs.c test.h Makefile" mkdir $HOME/Filecabinet/FORM_MAKER chown $LOGNAME $HOME/Filecabinet/FORM_MAKER chgrp users $HOME/Filecabinet/FORM_MAKER chmod 0777 $HOME/Filecabinet/FORM_MAKER for i in $LIST1 do mv $i /usr/bin chown bin /usr/bin/$i chgrp bin /usr/bin/$i chmod 755 /usr/bin/$i done mv attispoll.hlp /usr/lib/ua chown bin /usr/lib/ua/attispoll.hlp chgrp bin /usr/lib/ua/attispoll.hlp chmod 644 /usr/lib/ua/attispoll.hlp mv formmaker.hlp /usr/lib/ua chown bin /usr/lib/ua/formmaker.hlp chgrp bin /usr/lib/ua/formmaker.hlp chmod 644 /usr/lib/ua/formmaker.hlp for i in $LIST2 do mv $i $HOME/Filecabinet/FORM_MAKER/$i chown $LOGNAME $HOME/Filecabinet/FORM_MAKER/$i chgrp users $HOME/Filecabinet/FORM_MAKER/$i chmod 666 $HOME/Filecabinet/FORM_MAKER/$i done # # update the user agent special files # uaupd -r Form -a Suffix Suffixes message -i "Please read the document located in the file README in the new folder called FORM_MAKER in your Filecabinet.\n\nPlease touch Enter to continue ..." 0707070000020046741007770001460001440000010446140355622325300001200000050514attispollR% *>!L  .text*> .data !L0@.bss !L !L .lib . . /< . N1X OQ./HJf/H#0NX# $rPl.. $ n /(/< #N1P 9 $"| #B1N1$p.p/N1 Xp.p7/p/p/p/N1# $\. #/9 $\N1X-@.Np.p//9 $\N1HP-@.N. #/< ]/9 $\N1P-@.N. y n /(N1RX @# Lf&. {/<0N1Xp.N1N\N1./< /< "N1P. H/< #8N1X. "/< #8N1X. /< #8N1RX @# "f&. /<0N1Xp.N1N\NNN*N#Np. LN1F. "N1FN1p./< #8N1X# "f&. /<0N1Xp.N1N\p.N1B. "N1Nrf&. /<0N1Xp.N1N\. "N1B. /< $ N1X. /< $ N1X. #X/< $ N1X. $ N1bJgNN\. $\N1-@.NNLN^NuNVH. "pN1. "y/< /9 "N1PN*&./< /9 "N1P. #/< /9 "N1P# !L !P y !P h Jg0 y !P h -h nJg.  n/N1>X-@ ."n"QB1 n./< /9 "N1P n-h n. /< /9 "N1P nJ(fp n-hr n.N1 JoT nJ(g8 n. n/N1XJg n./< %/9 "N1P nA -H`. +/9 "N1X nA-H` y !P# !P`LN^NuNVH# !L !P y !P h Jg. !PN y !P# !P`# !L !Pp.N* y !P# !P y !P h JfLN^NuNVH fp. y !P/( N1(X-@.N y !P# !\ y !\Jg~ y !\. y !\/( y !P h /( N1HP-@.N y !\./< . y !P h /( N1P-@.N y !\# !\`zBJfN1"y !P"i gp.N1`p. y !P/( N1(X-@ .`PN&`N&`N`p. y !P/( N1(X-@.Np-@`Z`V g g g g g g g gn`` LN^NuNVH. ?/< 1N1XLN^NuNVH n-h n PJg.N @"n"Q"i#Hr n P h"n"Q"i!irv n P h"n"Q"i!irz n P hB( n P hB( n P hB( n P hB^p.p/N1TX @"n"Q"i#Hb n P hBf n P hBj n P hBn n P hBz n-h` .N @"n"i #H n h "n"i !iLN^NuNVHB n-h n PJgR n-h`p . .R/N1TX @-H-n n-hB .lV n-P nA -H nd$ n "n 0` n-hR` nB nB( nB n` LN^NuNVHB n-h n PJgR n-h`p. .R/N1TX @-H-n n-hB .l\ n-P nA-H nd* n"n 0` n-hR` nB nB( nB( nB( nB( nB( nB nB nB n` LN^NuNVHJ !Pg<-y !Pp(.p/N1TX @# !P n !P y !P!n`.p(.p/N1TX @# !P# !P !L y !PB y !PBp.p/N1TX @# !\ y !\B y !\B y !P!y !\p.p/N1TX @# !Tp.p/N1TX @"y !T"p~.p/N1TX @"y !T"Q#Hp.p/N1TX @# !Xp .p/N1TX @"y !X" y !X PB y !XB y !T!y !X y !TB y !P!y !Tp.p/N1TX @"y !P#H LN^NuNVH-y !Tp.p/N1TX @# !T n!y !Tp.p/N1TX @"y !T"p~.p/N1TX @"y !T"Q#Hp.p/N1TX @# !Xp .p/N1TX @"y !X" y !X PB y !XB y !T!y !X y !TBLN^NuNVH-y !Xp.p/N1TX @# !X n!y !Xp .p/N1TX @"y !X" y !X PB y !XBLN^NuNVH-y !\p.p/N1TX @# !\ n!y !\ y !\B y !\B LN^NuNVHp./< pN1.X-@ .```Nz`B .Ѐ"Ё"| RJg< .Ѐ"Ё"| VJ1g .Ѐ"Ё"| X-qR` .`$`8. #8N1p.N16`` g g``V gZ g> g< g. g2 g g g`LN^NuNVH. #8N1p.N16LN^NuNVH. #8N1p.N16LN^NuNVHN1$p.pP/p /p/p/N1-@. #/< (/.N1Pp .p//.N1HP. #\/< =/.N1Pp .p//.N1HP. n/.N1Xp .p//.N1HP. #/< /.N1Pp .p//.N1HP. /.N1X. /.N1rX.N1.N1LN^NuNVHJl(./< /<0N1Pp.N1NVLN^NuNVH. /< #\N1X.  /9 #XN1>X# #rPl,. #/9 #X/< #\N1P 9 #"| #\B1. #X/< #\N1XJf`F. "/< $ N1X. #\/< #/< $ N1P. $ N1bJgNLN^NuNVHN-@m .`N *Jgp`` <` <` <` <` < `# $` <`# $` <`z# $` <`f# $` <`R <`H# $ $|# $h ". "N1B @# $x. "/9 $|/9 $xN1P 9 ""y $xB1# $x $` <`# $ $| 9 $hU# "R $|. "N1B @# $x. "/9 $|/9 $xN1P 9 ""y $xB1# $x $` <`r`d```\./< /9 PN1P`@ b@0; NJDXblvJ`p`LN^NuNVH %H cp  y HH`0 y LSm y L"hRp`. LN1# $pr fR  9 $p` 9 $prfp` 9 $p$ ` `F`Jg g` |0 0(HHrW€f |0 0(g* `LN^NuNVHp-@J $lf-| $`B $l | $ $h-H&| &$y z# $t f (R f.Jf&-jJf` n f`Nr-@"nRB-L o .Ѐ"nI vbHH"ЀЁ"| Af,HH"ЀЁ"| A fBp nHH# $p $pfS  y R  $s`*,HH"ЀЁ"| E&`` l < Ѐ"| A-H(H .ЀI vbHH"ЀЁ"| Af,HH"ЀЁ"| A fBp nHH# $p $pfS  y R  $s`H,HH"ЀЁ"| E&`$ ."| ~1HHЀ"nI vbHH"ЀЁ"| Af,HH"ЀЁ"| A fBp nHH# $p $pfS  y R  $s`,HH"ЀЁ"| E&`\$j g(R g`tp nHH# $p $pfS  y R  $s`` KY &c6 nSBJg S# )8g y )8Jo# )4 y )8 "| J1gl y )8 D. S/(NfXrgL &cBY nSHH# $p $pfS  y R  $s` nHH# # )0 . $R# $h 9 $h"| $B1 y )8X )8 ` nHH# $p $pfS  y R  $s`J9 $f# %H p`jN. $HH# J o@ y PSm y P"hR9 `. Pp9 /N1X-| $`LN^NuNVHJfp`. nJg nX  fp` `p`LN^NuNVHNd`LN^NuNVH y PSm y P"hR. `. Pp. /N1XLN^NuNVH# $p $pfS  y R  $sLN^NuNVHp`LN^NuNVH. /./< /<0N1 LN^NuNVH<# )< -# + -B -B -B .B .p# .`&y -(y -$9 -`:&y -(y -$9 -X -e. NLp`t(X& $d "| *&1 n`J .lN# .lB .ֹ .m p=m`P "| 6&1 "| 1 .f*p# .# $` $d$J .oS .`> "| &1pffJ .lN# .lB .*|  f -gP`PJm  .g`&-lp`RJf 9 .`. N `&y -(y -$9 -R .p# . +eb "| * 1&Jm>p=l6 "| 6 1"| f "| 6$1`$YY`p`J .fp`p# .` b@0; NJ.TT# -$K "| (1f 列# $d "| B&1 则 "| 1ДR$p=l( "| 6$1 "| 1"Dg "| 1"| 6$1`8 列# $d "| B&1 则 "| 1ДR$p=l( "| 6$1 "| 1"Dg "| 1"| 6$1# -# -# - 9 -`# ## #X# #N ` y !P h y !P h !j y !P!j y !P h B( y !P h B p".p/N1TX @"y !P"i #HN ` y !P h y !P h !j y !P!j y !P h B( y !P h B p".p/N1TX @"y !P"i #HN `$ y !P!j y !P!j y !P!j `N `N ` y !T P y !T P!j.N1V"y !T"Q@.N1V"y !T"Q@.N1V"y !T"Q@.N1V"y !T"Q@.N1V"y !T"Q@.N1V.N1B @"y !T"Q#H . y !T P/( N1X.N1V"y !T"Q"i@ y !T P h .N1V"y !T"Q"i@ . /*N1XJf y !T P hB` y !T P h!j. /N1XJf y !T P h!j` y !T P h!R`d y !T P y !T P!j.N1V"y !T"Q@.N1V"y !T"Q@.N1V"y !T"Q@.N1V"y !T"Q@ y !T PB(.N1V.N1B @"y !T"Q#H .  y !T P/( N1X` y !\ .N1VV"y !\#@.N1VT"y !\#@N `h y !X P y !X PB( y !X PBN f`p. y !P/( N1(X-@.Np-@ y !P# !P y !P h Jf # !L !P`p. y !P/( N1(X-@.Np`` gt g g gV g g g g g g gt g g gj g> gB gB g.`F``LN^NuNVHN1$p.pF/p/p/p/N1-@. /.N1X. /.N1rXp .p//.N1HP. /.N1XN10Jgp.p/p/p5/p`/p //<p/p/p/p/p //< /.N14p.p/p/p://<p //<hp/p/p/p/p//< f/.N14`(p.p//.N1HP. /.N1Xp .p//.N1HP. ! /.N1XN10Jgp.p/p/p?//<pP//<p/p/p/p/p//< z/.N14p.p/p/p?//<pP//<rp/p/p/p/p//< j/.N14`(p.p//.N1HP. !/.N1Xp .p //.N1HP. !"/.N1XN10Jgp.p/p/p#/p`//</<p/p/p/p/p //< Z/.N14p.p/p/p(//</</<hp/p/p/p/p//< /.N14`(p.p //.N1HP. !0/.N1X. !>/.N1X.N1.N1LN^NuNV. !DN1 @ N^Nu L/usr/tmp/POLL:%s is running, please wait.rMust give name of input file %dwCould not open output file. Could not open output file. Could not dup file. mail UNAME "%s" LOGNAME "%s" TITLE "%s" %s "%s" "%s" %sattispoll.hlpQuestionnaire Help      R RNoYesSure?Pick Oneselect No to continue, Yes to abort%s Warning message !Warning! "%s" may not be in your mail directory Please use Administration's Mail Setup to add it. The telephone number is %s Enter any necessary Prefixes as well Strike any key to continuefatal error in window, code = %d!grep %s /dev/null00    #           !"$%&'!(#)$*&+',)-*.,/.001        X  `  h  p  |       ,       N    Z      . 8 . 6 6 6  * " L J   R   R L   < J   @ F   ^   R   b     "0000000000 %H 1/2, #$" 3%&50.+)(764-*'!  ''"! $ 654*32)10/-,+       1020bad switch yylook %d %s in line number %d yacc stack overflowsyntax error%s CANCEL PREV NEXT MAIL FORM FORM CANCEL PREV FRM NEXT FRM MAIL  0@ @ `@  @  @  @@@@@@@`     0@@ @ @@@C @ @1#`  0 @@ `0@ @ 0 HPh @P(@0  &!?p?L  @ @@@@@0 008( p?> ? @` 0@` ` 00p @  `@ Lh``$0$00@3  ` y~pxp `0`0d 3=```p  00 00 @   0@ `Af@x@3@ D@ C@~|``@0`(6 `@8@`0 ` @` @@@ @@   `0@`v  @ 0@ `@ 0 @      @c  x?@` 0FA@@8 0>? @@ `0   @  d0 <! `` 8 0,`#?~p0 `    0@8  `( pw0``怼ǘp$ `2B4 q00B1 C  ``Apb `A 0>@>h<0CREDITSStrike any key to continueINSPIRED BY :Bill PutnamHACKED BY :Ray FyhrHUMANIZED BY:Carol Solomon[=1CLOGNAME0707070000020046731007770001460001440000010446420355622326400000300000174710fmR" |Hu0 .text|H .data u@.bss u u0.lib /< N1X OQ./HJf/H#0ND/N1x0<N@NVHBN1$p.p/N1 Xp0.pF/p/p/p/N1-@. 6/.N1X. 6/.N1rXN10Jg. 7&/.N1X u u uBy uBy u# u# up.p/p//</<p /pd/p/p/p/p/p4//< @/.N14.N2`B-| uHnHnp//./.N1-@JfHnHnp//./.N1-@ n h-h .`:.gJf p-@` .NN` .N-@` g`. 7,/.N1rX`dHnHnp//./.N1-@`Pp.p//.N1HP. 7W/.N1X. 7y/.N1X. 7/.N1X. 7/.N1X. 7/.N1X. 8/.N1X. 8#/.N1X. 8E/.N1X. 8H/.N1X. 8q/.N1X. 8/.N1X. 8/.N1X. 8/.N1X. 9/.N1X. 9?/.N1XBp-@g .N1-@.N-@`.N1LN^NuNVH .` p.N16`\N$p`V`L g g g g g g g`p`LN^NuNVHN1$p.p/N1 X .`p.p(/p/p/p/N1-@. 9i/.N1rX. 9/.N1Xp.p/p/p?//<p/p/p/p/p/p/p//< */.N14p.p/p/p?//<p//<p/p/p/p/p//< ./.N14`p.p(/p/p/p /N1-@. 9/.N1rX. 9/.N1Xp.p/p/p5/p`/p /p/p/p/p/p/p //< $ /.N14p.p/p/p://<p /px/p/p/p/p/p//< &/.N14`p.p(/p/p/p/N1-@. 9/.N1rX. :/.N1Xp.p/p/p#/p`/p/p/p/p/p/p/p //< 2|/.N14p.p/p/p(//<p/px/p/p/p/p/p//< 4 /.N14`(`$ gb g6 g`. :/.N1Xp.N1.N1LN^NuNVHN1$p.p/N1 Xp.p7/p/p/p/N1# x. :^/9 xN1X-@.N2`p.p//9 xN1HP-@.N2`. :i/9 xN1X-@.N2`N< n ./< wN1X. :/< wN1RX @# Sf(N*. :/< wN1RX @# S`N@N6NH. xN1-@.N2`N1. SN1FN1(LN^NuNVHBBN`# ;. ;p./< ;N1(X-@.N2`. ?/< >/< >tp//9 ;N1-@.N2`Jf N1 ;gp.N1`p./< ;N1(X-@ .`ZN`N@. uN%hp-@``Nz. uN%hp-@`p-@`N$`` g g g g g g g gZ gX gh g| g| gh`x`p./< ;N1(X-@.N2`LN^NuNVHp<./< ?[/9 ;8N1Pp<./< ?\/9 ;NN1Pp./< ?]/9 ;dN1Pp./< ?a/9 ;zN1Pp./< ?e/9 ;N1Pp./< ?i/9 ;N1P# : ;&LN^NuNVH y u h -hp<. n//9 ;8N1Pp<. n/(/9 ;NN1P n(HH./< ?m/9 ;dN1P n(HH./< ?q/9 ;zN1P n(HH./< ?u/9 ;N1P n(HH./< ?y/9 ;N1P n (f# : ;&` nJ(f # : ;&LN^NuNVHB y u-h n PJg n-h`# uN.4 n-P. ;8N1 .N1B @"n". ;8N1 ./9 ;8 n/N1P. ;NN1 .N1B @"n#H. ;NN1 ./9 ;N n/(N1P. ;dN1V"n@ n ( o nB(. ;zN1V"n@. ;N1V"n@. ;N1V"n@ n(HH"n)HHЁrGo nB( nB(. ;N1V.N1B @"n#H . ?}/9 ;N1XJf n|`(p./< ?/9 ;N1PJf nB(LN^NuNVHBB y u h -h y u-h n PJg4p. n//.NPrf n-P n-h`Jf`. ;8N1 .N1B @"n". ;8N1 ./9 ;8 n/N1P. ;NN1 .N1B @"n#H. ;NN1 ./9 ;N n/(N1P. ;dN1V"n@ n ( o nB(. ;zN1V"n@. ;N1V"n@. ;N1V"n@ n(HH"n)HHЁrGo nB( nB(. ;N1V.N1B @"n#H . ?/9 ;N1XJf n|`(p./< ?/9 ;N1PJf nB(LN^NuNVH .SJo$ nR"n R gp` `p`LN^NuNVHBB# ;. ;p./< ;N1(X-@.N2`Np./< ;N1(X-@.N2`JfN1 ;gp.N1`p./< ;N1(X-@ .`4N2. uN%hp-@`np-@`dN$`Z`V g g g g g g g g``4p./< ;N1(X-@.N2`LN^NuNVHBBN3xJf` y u h -h y u-h n PJg|p. n//.NPrfR nJ g n h "n!i` y u"n!i nJg n h"n!i n-h`|LN^NuNVHBBNp./< @N1(X-@.N2`. B/< BB/< Ap//9 @N1-@.N2`JfN1 @gp.N1`p./< @N1(X-@ .`RNN. uN%hp-@`N. uN%hp-@`p-@`N$`x`t g g g g g g g gb g g g|``p./< @N1(X-@.N2`LN^NuNVH y u h -h n-hp(. n//9 ?N1Pp(. n/(/9 ?N1P nJ(f# : ;&` n (f # : ;& n h"nfp<./< B/9 ?N1P`p<. n/(/9 ?N1P n( HH./< B/9 ?N1PLN^NuNVHBB y u h -h y u-h n PJg:p. n//.NPrf n-P` n-h`Jf`z n-h. ?N1 .N1B @"n". ?N1 ./9 ? n/N1P. B/9 ?N1XJf nB`D. ?N1 .N1B @"n#H. ?N1 ./9 ? n/(N1P. ?N1 Jf n"n!i`D. ?N1 .N1B @"n#H. ?N1 ./9 ? n/(N1P. ?N1V"n@ . B/9 ?N1XJf nB(`*p./< B/9 ?N1PJf n|LN^NuNV,HB@B< y u h -h< y u-h0 n0 PJg:p. n0//.Bn=|=|P=|=|Hn/9 xN1P-@.N2`. C HnN1RX @-H n4Jg* n4./< C /.N1P n4A -H4`.N1FN1-@Jf"p.HnHnHnN1T ` .N1. CHnN1RX @-Hp.p/N1TX @# up .p/N1TX @"y u" y u PB y uB n0!y uHnE/.NPrgBHnEN1 X.N1B @"y u"Q"HnE y u P/N1PN/`HnN1X=|7=|BnHn/9 xN1P-@.N2`. C/9 xN1X-@.N2`. C/9 xN1X-@.N2`p.p//9 xN1HP-@.N2`. C"/9 xN1X-@.N2`LN^NuNVH-n n AP-H nSm n"hRp` .N1"n g" nd n  g R` n f nBp` nB nHH`LN^NuNVHBBNp./< CN1(X-@.N2`. E/< Ea/< Ep//9 CN1-@.N2`JfRN1 Cgp.N1`p./< CN1(X-@ .`nNp-@`N g^ g^ gJ`Z`p./< CN1(X-@.N2`LN^NuNVH y u-h p<. n//9 CPN1Pp<. n/(/9 CfN1Pp. y u/(/9 C|N1PLN^NuNVH y u-h . CPN1 .N1B @"n". CPN1 ./9 CP n/N1P. CfN1 .N1B @"n#H. CfN1 ./9 Cf n/(N1P. C|N1 .N1B @"y u#H. C|N1 ./9 C| y u/(N1PLN^NuNVH-y u-y uB uN,# uNcrfn. uN%hJgZ nJf y uB# u u` n h u y u"n!i n!y u y u # uLN^NuNVH-y u-y uB uN,# uNcrf\. uN%hJgH nJf y uB` n P!y u y u"n n u y u!n# uLN^NuNVHN3xJf``J uf`R y uJf y u PB y u# u`( y u P"y u!i y u h"y u LN^NuNVHBBN`p./< HN1(X-@.N2`p.p//9 HN1HP-@.N2`. O/9 HN1X-@.N2`JfN1 Hgp.N1`p./< HN1(X-@ .`4N*. uN%hp-@`np-@`dN$`Z`V g g g g g g g g``4p./< HN1(X-@.N2`LN^NuNVH y u-hB l nJf` n (W./< O-p/ .N1X"| F/1N1P n (U./< O1 .Rr/N1X"| F/1N1Pp<. n/ .Tr/N1X"| F/1N1P n-h V`> l. O5p/ .N1X"| F/1N1X. O6 .Rr/N1X"| F/1N1X. O7 .Tr/N1X"| F/1N1XV`rLN^NuNVHp.p/N1TX @# u y uB y uB y u!y uB lH .Tr.N1"| F.N1 Jop. .N1"| F.N1VV"y u#@ .Rr.N1"| F.N1VT"y u#@ y u o y ur!A y u Ho y ur!A .Tr.N1"| F.N1 .N1B @"y u" .Tr.N1"| F.N1 . .Tr/N1X"| F/1 y u/N1PN/V`LN^NuNVH. OF/< O8N1X.N1LN^NuNVH# u u y u h Jg. uN%h y u# u`LN^NuNVH n-h n PJg n P hJrg n P h.rN1H.N< @"n"Q"i#Hr n P h"n"Q"i!irv n P h"n"Q"i!irz n P hB( n P hB( n P hB( n P hB^p.p/N1TX @"n"Q"i#Hb n P hBf n P hBj n P hBn n P hBz n-h` n h Jg n h .N1H.N @"n"i #H n h "n"i !iLN^NuNVHB n-h n PJgR n-h`p . .R/N1TX @-H-n n-hB .lV n-P nA -H nd$ n "n 0` n-hR` nB nB( nB n` LN^NuNVHB.N n-h n PJgR n-h`p. .R/N1TX @-H-n n-hB .l\ n-P nA-H nd* n"n 0` n-hR` nB nB( nB( nB( nB( nB( nB nB nB n` LN^NuNVH n-h n PJg n-h n PJgx n P(HH"Ё"n"Q)HHЁ-@ n P(HH"Ё"n"Q)HHЁ-@ .o nJ f n!n` n h !n nJg n h!n n hg n h!n n h g n h !n n-h n"n!i ng n!n` n!n n-h n"n!i ng n!n ` n!n -n-n-n n-h` n-h`\LN^NuNVHBBp./< ON1(X-@.N2`JfN1 Ogp.N1`p./< ON1(X-@ .`6Np-@`|N3xrfN1 `dN$`Z`V g g g g g g g g``2p./< ON1(X-@.N2`LN^NuNVH. O/< wN1X. O/9 O`N1>X-@rPl<./9 O`/< wN1P ."| wB1. O/< wN1XN,NcN,LN^NuNVHJ ug<-y up(.p/N1TX @# u n u y u!n`.p(.p/N1TX @# u# u u y uB y uBp.p/N1TX @# u y uB y uB y u!y up.p/N1TX @# up.p/N1TX @"y u"p~.p/N1TX @"y u"Q#Hp.p/N1TX @# up .p/N1TX @"y u" y u PB y uB y u!y u y uB y uB y u!y up.p/N1TX @"y u#H LN^NuNVH-y up.p/N1TX @# u n!y u y u!n y uBp.p/N1TX @"y u"p~.p/N1TX @"y u"Q#Hp.p/N1TX @# up .p/N1TX @"y u" y u PB y uB y u!y uLN^NuNVH-y up.p/N1TX @# u n!y up .p/N1TX @"y u" y u PB y uBLN^NuNVH-y up.p/N1TX @# u n!y u y uB y uB LN^NuNVH# P Qp./< PN1.X-@ .```N$`B .Ѐ"Ё"| PJg< .Ѐ"Ё"| PJ1g .Ѐ"Ё"| P-qR` .``,p.N16`` g g``V gf gJ gH g: g> g& g g`LN^NuNVHp.N16LN^NuNVHp.N16LN^NuNVHN1$p.pP/p /p/p/N1-@. Q/.N1Xp .p//.N1HP. w/< Q/.N1Pp .p//.N1HP. R/.N1Xp .p//.N1HP. w/< RC/.N1Pp .p//.N1HP. R_/.N1X. R/.N1rX.N1.N1LN^NuNVHJl(./< R/<0N1Pp.N1NtLN^NuNVH. R/< wN1X. R/9 wN1>X# wrPl,. w/9 w/< wN1P 9 w"| wB1. w/< wN1XJf`F. R/< xLN1X. w/< R/< xLN1P. xLN1bJgNLN^NuNVH# P Qp./< PN1.X-@ .```N$`B .Ѐ"Ё"| PJg< .Ѐ"Ё"| PJ1g .Ѐ"Ё"| P-qR` .``$p`|` g g``V gn gR gP gB gF g. g( g`p`LN^NuNVH# O Pp./< P N1.X-@ .```N$`B .Ѐ"Ё"| OJg< .Ѐ"Ё"| OJ1g .Ѐ"Ё"| O-qR` .`p``` g g``V gn gR gP gB gF g. g( g`p`LN^NuNVH./< R/<0N1Pp.N1xLN^NuNVH.5p/N1nX.5p/N1nX.5p/N1nX.5p/N1nX.5p/N1nX.5p/N1nX.5p/N1nX.5p/N1nX.5p /N1nX.5p /N1nX.5p /N1nX.5p /N1nX.5p/N1nX.5p/N1nX.5p/N1nXLN^NuNVHN-@m .`N *Jgp`` <` <` <` <` < `# \n x <`# \p x <`z# \r x <`f# \t x <`R <`H# x x# x w@. w@N1B @# x. w@/9 x/9 xN1P 9 w@"y xB1# x x <`# x x 9 xU# w@R x. w@N1B @# x. w@/9 x/9 xN1P 9 w@"y xB1# x x <`r`d```\./< \v/9 SN1P`@ b@0; NJDXblvJ`p`LN^NuNVH y Wcp W y WHH`0 y SSm y S"hRp`. SN1# xr fR W 9 x` 9 xrfp` 9 x$ ` `F`Jg g` |0 0(HHrW€f |0 0(g* `LN^NuNVHp-@J xf-| x`B x | x x-H&| zP$y W># x Wf (R Sf.Jf&-jJf` n Sf`Nr-@"nRB-L So .Ѐ"nI W:bHH"ЀЁ"| TAf,HH"ЀЁ"| TA TfBp nHH# x xfS W y WR W x`*,HH"ЀЁ"| TE&`` Sl < SԐЀ"| SA-H(H .ЀI W:bHH"ЀЁ"| TAf,HH"ЀЁ"| TA TfBp nHH# x xfS W y WR W x`H,HH"ЀЁ"| TE&`$ ."| WB1HHЀ"nI W:bHH"ЀЁ"| TAf,HH"ЀЁ"| TA TfBp nHH# x xfS W y WR W x`,HH"ЀЁ"| TE&`\$j g(R Sg`tp nHH# x xfS W y WR W x`` KY zPc6 nSBJg S# }xg y }xJo# }t y }x "| WJ1gl y }x D. S/(NfXrgL zPcBY nSHH# x xfS W y WR W x` nHH# W# }p . xR# x 9 x"| xB1 y }xX }x ` nHH# x xfS W y WR W x`J9 xf# y Wp`jN. xHH# WJ Wo@ y SSm y S"hR9 W`. Sp9 W/N1X-| x`LN^NuNVHJfp`. nJg nX  fp` `p`LN^NuNVHNd`LN^NuNVH y SSm y S"hR. `. Sp. /N1XLN^NuNVH# x xfS W y WR W xLN^NuNVHp`LN^NuNVH. W/./< \/<0N1 LN^NuNVH<# }| 0#  4B 8B "| [&1pffJ HlN# HlB H*| W f -gP`PJm  Hg`&-lp`RJf 9 D`. \N `&y 0(y 4$9 8R @p# D eb "| X 1&Jm>p=l6 "| W 1"| Z f "| W$1`$YY`p`J Hfp`p# H` b@0; NJ.TT# <$K "| ZZ(1f 列# x "| Z&1 则 "| Y 1ДR$p=l( "| W$1 "| Z 1"Dg "| Y 1"| W$1`8 列# x "| Z&1 则 "| Y 1ДR$p=l( "| W$1 "| Z 1"Dg "| Y 1"| W$1# 8# 4# 0 9 <`# w# w# wN,` y u h y u h !j y u!j y u h B( y u h B p".p/N1TX @"y u"i #HN,` y u h y u h !j y u!j y u h B( y u h B p".p/N1TX @"y u"i #HN,`$ y u!j y u!j y u!j `N.4`N.4` y u P y u P!j.N1V"y u"Q@.N1V"y u"Q@.N1V"y u"Q@.N1V"y u"Q@.N1V"y u"Q@.N1V.N1B @"y u"Q#H . \ y u P/( N1X.N1V"y u"Q"i@ y u P h .N1V"y u"Q"i@ . \/*N1XJf y u P hB` y u P h!j. \/N1XJf y u P h!j` y u P h!R`d y u P y u P!j.N1V"y u"Q@.N1V"y u"Q@.N1V"y u"Q@.N1V"y u"Q@ y u PB(.N1V.N1B @"y u"Q#H . \ y u P/( N1X` y u .N1VV"y u#@.N1VT"y u#@N/`h y u P y u PB( y u PBN/`N1Pp. nA4//9 cTN1Pp. nA=//9 cjN1Pp. nAF//9 cN1PLN^NuNVHpP.N1B @-H. b/9 b/9 bb/9 b6/9 b /9 a/9 a/9 a/< i/.N1$ y u!npP.N1B @-H. b/9 b/9 bx/9 bL/9 b /9 a/9 a/9 a/< j/.N1$ y u!npP.N1B @-H. c/9 cj/9 cT/9 c>/9 c(/9 c/9 b/9 b/< jR/.N1$ y u!n LN^NuNVHBBNp./< jN1(X-@.N2`JfN1 jgp.N1`p./< jN1(X-@ .`(Np-@`np-@`dN$`Z`V g g g g g g g g``@p./< jN1(X-@.N2`LN^NuNVHp<./9 w/9 jN1Pp<./9 w/9 jN1Pp<./9 w/9 jN1PLN^NuNVH. jN1 .N1B @# w. jN1 ./9 j/9 wN1P-y u n h Jg n h w n-P`. jN1 .N1B @# w. jN1 ./9 j/9 wN1P. jN1 .N1B @# w. jN1 ./9 j/9 wN1PLN^NuNVHN1-@. lN1 @.HnN1X./< lHnN1P. xN1-@.N2`Hn/9 xN1P-@.N2`. lHnN1XJf>Bn=|=|P=|=|Hn/9 xN1P-@.N2`N1-@Jf"p.HnHnHnN1T ` .N1. lHnN1RX @# lJ lfp`". lHnN1XJfp./<z/9 lN1PB LB wDB o.=|7=|BnHn/9 xN1P-@.N2`. l/9 xN1X-@.N2`. l/9 xN1X-@.N2`p.p//9 xN1HP-@.N2`. l/9 xN1X-@.N2`NpJfp`HnN1Xp`LN^NuNVHN(-@m .`N ^Jgp` `# l x# X w@ 9 Xѹ wD. w@N1B @# xp.N1B @# h. w@/9 x/9 xN1P 9 w@"y xB1 y h x y h"9 wD w@!A y h!y o.# h P <`T# l x# X w@ 9 Xѹ wD. w@N1B @# xp.N1B @# h. w@/9 x/9 xN1P 9 w@"y xB1 y h x y h"9 wD w@!A y h!y o.# h P <`B wD`P wD 9 wDjDD` wD`^ 9 Xѹ wD`N`J./< p/9 lN1P`. b@0; NJz`p`LN^NuNVH 4 o2cp o2 y o2HH`0 y lSm y l"hRp`. lN1# `r fR o. 9 `` 9 `rfp` 9 `$ ` `F`Jg g` |0 0(HHrW€f |0 0(g* `LN^NuNVHp-@J \f-| l`B \ | l X-H&| $y n# d o6f (R mLf.Jf&-jJf` n mLf`Nr-@"nRB-L mLo .Ѐ"nI nbHH"ЀЁ"| nAf,HH"ЀЁ"| nA nfBp nHH# ` `fS o. y o2R o2 c`*,HH"ЀЁ"| nE&`` mLl < mLЀ"| mLA-H(H .ЀI nbHH"ЀЁ"| nAf,HH"ЀЁ"| nA nfBp nHH# ` `fS o. y o2R o2 c`H,HH"ЀЁ"| nE&`$ ."| n1HHЀ"nI nbHH"ЀЁ"| nAf,HH"ЀЁ"| nA nfBp nHH# ` `fS o. y o2R o2 c`,HH"ЀЁ"| nE&`\$j g(R mLg`tp nHH# ` `fS o. y o2R o2 c`` KY c6 nSBJg S# $g y $Jo# y $ "| o$J1gl y $ D. S/(NfXrgL cBY nSHH# ` `fS o. y o2R o2 c` nHH# o6#  . lR# X 9 X"| lB1 y $X $ ` nHH# ` `fS o. y o2R o2 c`J9 lf# 4 o2p`jN. lHH# o6J o6o@ y lSm y l"hR9 o9`. lp9 o9/N1X-| l`LN^NuNVHJfp`. nJg nX  fp` `p`LN^NuNVHNd`LN^NuNVH y lSm y l"hR. `. lp. /N1XLN^NuNVH# ` `fS o. y o2R o2 cLN^NuNVHp`LN^NuNVH. o././< p/<0N1 p.N1LN^NuNVHJ Lfb y u h "n y u h "n!Qp .p/N1TX @"y u#HNt./< p y u/(N1P`FJ Lo< y u"n y u"n")T!A y u"n")T!AN/R LLN^NuNVHB-y u nJg n-PR` .`LN^NuNVH<# ( # B B B B p# `&y (y $9 `:&y (y $9 X e. pN8p`,(X& T "| o&1 n`J lNf# lB ֹ m p m`P "| oR&1 "| p" 1 f*p# # P T$J oS `> "| pR&1pffJ lN# lB *| o: f -gP`PJm  g`&-lp` Jf 9 `. pN`&y (y $9 R p# eb "| o 1&Jm>p l6 "| oR 1"| p" f "| oR$1`$YY`p`\J fp`Lp# ` b@0; NJ.TT# $K "| o(1f 列# T "| o&1 则 "| o 1ДR$p l( "| oR$1 "| p" 1"Dg "| o 1"| oR$1`8 列# T "| o&1 则 "| o 1ДR$p l( "| oR$1 "| p" 1"Dg "| o 1"| oR$1# # # 9 ` y u h B( y u h B p".p/N1TX @"y u"i #Hp`p` j ("RgH.Np.N1B @"y u"Q". p y u P/N1X y u PB(`" y u P"j y u P"ji y u PB y u P"R) SA y u P"Ri R.N1 "y u"Q@ y u PB( R.N1 .N1B @"y u"Q#H . p y u P/( N1XJ Lfp y u h "j y u h "j!Qp .p/N1TX @"y u#HNX./< p y u/(N1PR o. y u PR(R LN.4` p.N1B @"y u"Q". p y u P/N1X y u PB y u P"R) SA y u PB( y u P"Ri R.N1 "y u"Q@ y u PB( R.N1 .N1B @"y u"Q#H . p y u P/( N1XN.4`:.N~`0S b$@0; NJ 8z `L<N^NuNVHBBN # p rp./< rN1(X-@N.N2`JfN1 rgp.N1`p./< rN1(X-@ .`,NPNp-@`np-@`dN$`Z`V g g g g g g g g`` ? @` 0@` ` 00p @  `@ Lh``$0$00@3  ` y~pxp `0`0d 3=```p  00 00 @   0@ `Af@x@3@ D@ C@~|``@0`(6 `@8@`0 ` @` @@@ @@   `0@`v  @ 0@ `@ 0 @      @c  x?@` 0FA@@8 0>? @@ `0   @  d0 <! `` 8 0,`#?~p0 `    0@8  `( pw0``怼ǘp$ `2B4 q00B1 C  ``Apb `A 0>@>h<0FORM MAKERStrike any key to continue, or press Help.[=1CStrike any key to continue, or press Help. ####### ####### ###### # # # # # # # ## ## # # # # # # # # # ##### # # ###### # # # # # # # # # # # # # # # # # # ####### # # # # # # # # # ####### ###### ## ## # # # # # # # # # # # # # # # # # # # # # # # ### ##### ###### # # ####### # # # # # # # # # # # # # # # # # # # # ####### # # Strike any key to continue, or press Help.HACKED BY :Strike any key to continue, or press Help.INSPIRED BY :Strike any key to continue, or press Help.HUMANIZED BY:[=1CForm MakerForm Maker is running, please wait.rr ; ; ; : : < < < &(7 >5 : >9 >\ >b ;. ;.NoYesselect Yes or NoLabel : Enter a 60 character or less label for the fieldHelp : Enter a 60 character or less help messageField row : Enter the row number of this field in the form (0 - 10)Label column: Enter the column number for the field label in the formField column: Enter the column number for the field's entry area in the formField width : Enter the width of the field's entry area in the formMenu Only? : Are only menu selections allowed ?FieldField Description ADD DELETE FIELD FIELD ADD FLD DLT FLD %2d%2d%2d%2d%2d%2d%2d%2dYesNoYesNo @* ( @4 @] @ ( @ @ @ < @ A7 An4A A{ A~ A4A A : A A A ? ?Label : Enter a 40 character or less label for the menuTitle : Enter a 40 character or less title for the menuHelp : Enter a 60 character or less help message for the menuColumns : Enter the desired number of columnsMultiple? : Are more than one menu selections allowed ?MenuMenu Description EDIT ITEMS EDT ITMS %2dYesNoEDIT/usr/tmp/FMMI%d/usr/bin/viw%s rForm MakerForm Maker is running, please wait. C < C C D/ < D9 Dv D D D D E CF CFLabel : Enter a 60 character or less Label for the formName : Enter a 60 character or less Name for the formVariable name : For C code generation, a unique name with 8 or less charactersFormForm Description ADD FORM ADD FORM DELETE SORT BEFORE AFTER FORM FORMS BEFORE AFTER DELETE SORT H H H H H H H < H I: I_ I` Id I{ I| I I < I I I I J J J J J9 < J: Jx J J J J J J J < J K K< K= KA KX KY K] Kw < Kx K K K K K K K L < L LU Lz L{ L L L L L < L L M M M M5 M6 M: MT < MU M M  M M M  M M M < M N2 NW  NX N\ Ns  Nt Nx N < N N N N E E Enter the row (0 - 10) Enter the column (0 - 70) Enter a 60 character or less comment Enter the row (0 - 10) Enter the column (0 - 70) Enter a 60 character or less comment Enter the row (0 - 10) Enter the column (0 - 70) Enter a 60 character or less comment Enter the row (0 - 10) Enter the column (0 - 70) Enter a 60 character or less comment Enter the row (0 - 10) Enter the column (0 - 70) Enter a 60 character or less comment Enter the row (0 - 10) Enter the column (0 - 70) Enter a 60 character or less comment Enter the row (0 - 10) Enter the column (0 - 70) Enter a 60 character or less comment Enter the row (0 - 10) Enter the column (0 - 70) Enter a 60 character or less comment Enter the row (0 - 10) Enter the column (0 - 70) Enter a 60 character or less comment Enter the row (0 - 10) Enter the column (0 - 70) Enter a 60 character or less commentCommentsComments for this FormROW COL Comment text%2d%2dformmaker.hlpForm Maker Help O O O O O OV OVForm Name : Enter a new nameForm MakerCreate a New Form::FM Q& Q* Q- Q3 QS O O Q Q Q Q Q P PYesNoSure?Do you wish to save the changesselect yes to save the changes, otherewise select noNoYesSure?Pick Oneselect No to continue, Yes to abortATTIS_POLL Warning message !Warning! "%s" may not be in your mail directory Please use Administration's Mail Setup to add it. The telephone number is %s Enter any necessary Prefixes as well Strike any key to continue fatal error in window, code = %d !grep %s /dev/nullABORT - got signal number %d 00    #           !"$%&'!(#)$*&+',)-*.,/.001    S S T S S S S$ S S, S S4 S S@ S SH S SP S SX S S` S Sh S St S U S U S S U S S S S S S S S S S S S S S T T S S T S S T T S S T T S S T T S S T" S S T S S T& S S T T 0000000000 y 1/2, #$" 3%&50.+)(764-*'!  ''"! $ 654*32)10/-,+       1020bad switch yylook %d %s in line number %d yacc stack overflowsyntax error%s HEADER FORM COMMENTS PRV FORM NXT FORM FIELD MENU SLK FORM FORM HEADER FORM COMMENTS PRV FORM NXT FORM FIELD MENU SLK wCould not open yyinput file. HEADER { "%s" "%s" "%s" } FORM { "%s" "%s" "%s" FIELD { "%s" "%s" %d %d %d %d ONLY OTHER SINGLEMULTIPLE "%s" %d "%s" "%s" "%s" "%s" } FIELD { "%s" %d %d } SLK { "%s" "%s" "%s" } } .cwCould not open output file %s. mitem_t mi%d%s[] = { "%s",%d,%d, 0,0,0 }; menu_t m%d%s = { "%s", NULL, "%s", "%s", 0,%d,0,0,M_SINGLE,0,{0}, 0,0,0,0,0, mi%d%s,mi%d%s,0 }; field_t f%s[] = { "%s",%d,%d,%d,%d,F_MONLY, " F_CLEARIT, " ", &m%d%s, ",0, "%s", 0,0,0,0,0,0,0,0,0 }; char *slk%s[3] = { "%s", "%s", "%s" }; form_t %s = { "%s", "%s",0, F_WINNEW,0,f%s, f%s }; hstring s%d%s = { "%s", %d,%d,NULL }; &s%d%s }; test.cwCould not open output file. #include "test.h" #include "%s.c" main() { start_up(); getform(&%s,NULL,&s%d%s,NULL); slk%s); save_answers(&%s); shut_down(); wexit(); } d d d d d d d  d d e  e e) eP eQ eZ e e e e e e e e e f$ f f fE$ fF fO fv- fw f f- f f f6 f f g 6 g g g:? g; gD gk? gl gu g g g g  g g g g g h h h h($ h) h2 hK- hL hU hn6 ho hx h? h h h h a| a| h h c h c h c h& c i/ c i 8 d iA d i d, i;$ d< i` dL i$ d\ i dl type line 1 of label as it will appear type line 2 of label as it will appear type line 1 of label as it will appear type line 2 of label as it will appear type line 1 of label as it will appear type line 2 of label as it will appear type line 1 of label as it will appear type line 2 of label as it will appear type line 1 of label as it will appear type line 2 of label as it will appear type line 1 of label as it will appear type line 2 of label as it will appear type line 1 of label as it will appear type line 2 of label as it will appear type line 1 of label as it will appear type line 2 of label as it will appear type label (1 line only) type label (1 line only) type label (1 line only) type label (1 line only) type label (1 line only) type label (1 line only) type label (1 line only) type label (1 line only)Screen Labeled KeysScreen Labeled Keys : CONSOLESLK 1SLK 2SLK 3SLK 4SLK 5SLK 6SLK 7SLK 8------------------------------------------------------------------------------------------------------------------------------------------------Screen Labeled Keys : REMOTE TERMINAL%s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s %-8.8s k < k kL k < k k k < k l= lk lz j jLabel : Enter a 60 character or less label for all the formsReturn : Enter a 60 character or less return addressNumber : Enter a 60 character or less telephone numberReturn AddressReturn Address InformationEDIT/usr/tmp/FM%d/usr/bin/vir/usr/bin/wpForm MakerForm Maker is running, please wait.00  mJ mL n" mL m mL m mL m mF m mP m, mD n^ m8 mL nj m@ n n" 000000000000000000000000000000000000_00000000000000000000000000 4      bad switch zzlook %d %s in line number %d form%dyacc stack overflowsyntax errorform%d r r r s s s s6 s7 s; sU sV sZ st su sy s s s s s s s s s s s s t  t t t.  t/ t3 tM(D tN tR tl(D tm tq t(D t t t(D t t t(D t t t(D t t u(D u u u&(D u' u+ uE(D uF uJ ud (D ue ui u (D u u u u p p Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence number Enter the sequence numberFORMSForm Resequencing%2d %-.25s0707070000020046721007770001460001440000010447420355426200600000700000052407README AT&T Information Systems Subject: Documentation for Formmaker, 1.0 date: Oct. 8, 1985 from: C.A. Solomon FJ 62401-301 3A-103 x4123 R.A. Fyhr FJ 62401-301 3A-103 5238 1.0 Introduction 1.1. Purpose. Formmaker allows you to easily create forms on the UNIX PC that make use of the User Agent interface. Formmaker generates C source code so the forms can readily be incorporated in other programs or applications for the UNIX PC. In addition, Formmaker can be used to prototype user interface designs, or to create questionnaires (see section 3.0). 1.2. Relevant Formmaker terminology. A form consists of at least one input field and text. The form called SAMPLE, included with your Formmaker directory, is an example of a form that could have easily been designed with Formmaker. It is the form used in the UNIX PC Electronic Mail program for adding a new computer. Looking at the SAMPLE form will clarify the following Formmaker terminology. Form Label. This is the text appearing in the top border of a form window. In SAMPLE, the label is "Modify or Add Definition of Called Computer." Form Name. This is the text appearing centered at the top of the form. In SAMPLE, the name is "Enter information for the receiving computer." Field Label. The text attached to an input field that indicates the kind of input desired. In SAMPLE, labels include "Name of receiving computer:" and "1st choice method:". All input fields in Formmaker must have a label. Field. An input field. Formmaker supports three types of fields: (1) free-entry, which allows the user to type any answer within length constraints, (2) menu-only, which requires the user to select one or more responses from a menu, and (3) mixed, which presents a menu and also allows the user to type an answer if no menu items apply. Menu. The list of multiple-choice items from which users can select to complete an input field. Menus can be multiple as well as single choice. Users can access menus in either of two ways. By pressing the CMD key or B2 on the mouse, they get a window which displays all menu items with a menu-specific label, title and help message or, by pressing the SLECT/MARK key or B3 on the mouse, they can cycle through items one by one as each is printed on the field blank. Any menu can be accessed in either way. Comment. A comment is text unattached to a field. Comments are not illustrated on the SAMPLE form and are seldom used in forms. However, they're used extensively in questionnaires (as directions, for example). Help message for the input field. The status line at the bottom of the screen can be used for a help message specific to a field or a menu. 1.3 What you do--the big picture. Details on using Formmaker follow. First, though, a quick overview. When Formmaker is installed, one of the objects you can create is a "Form." Formmaker version 1.0 will immediately put you into your default editor. (Formmaker gets along best with VI; second best with CT's Word Processor; untested with anything else.) Once in your editor, do a rough sketch of the form. Exit your editor, saving the file as you normally do. Formmaker will then paint the screen in a window and put up a set of screen- labeled keys leading to menus that facilitate editing the text, changing placement of items, adding help messages, adding menu items, etc. The form is up-dated with each change so you have the option of immediately evaluating the changes. Once you've finished a form, you can add other forms before or after it. You can also resort completed forms. When you save and exit from Formmaker, it generates files called .c containing the C source code for each of the forms and test.c containing the source code for the main subroutine for running the forms. 2.0 Using Formmaker 2.1 Starting and stopping. -Installing Formmaker. Go into Administration, then into Software Setup, then into Install Software from Floppy. Follow directions from there. With version 2.0 of the operating system, you must logout and login again. When Formmaker is installed, you will have a new object in the CREATE menu, a "form," and the Filecabinet of the login used to install Formmaker will have a folder called Formmaker with two forms, SAMPLE and WELCOME, and three standard files, Makefile, test.h, and test_subs.c (see section 2.4 for an explanation of these files). -Creating a new forms file. Select CREATE from the command menu. Then select Form and name the new file. Formmaker appends a :FM to these files. -Exiting Formmaker. Use the EXIT key to exit Formmaker. You'll be prompted to save your changes. The CANCEL key will get you out without saving changes. -Editing an existing forms file. Highlight the form name in your filecabinet, and use the OPEN command (not the ENTER command). When you open an existing file, Formmaker may announce the presence of an error. If that happens, do not exit in the normal way--Formmaker may destroy part of the file. Instead, do a shifted EXIT to get out with the file intact. 2.2 Sketching the Form. Each time you begin a new form, Formmaker will first put you in your default editor, which will hopefully be VI. You can then sketch the location of all labels, fields, and comments. Since your editor will contain no hints on Formmaker's constraints, pay close attention to this section. -Use only the first 12 lines. Using more than 12 will cause Formmaker to be ill in peculiar ways. (The line restriction allows screens designed with Formmaker to run on remote terminals.) -Limit line length to 70 characters. End each line with a return (no word-wrap). -Do not use double quotes ("). -Indicate input fields by underscores (_). You must have at least one field in your form, and each field must have a label. You can create null labels by using a few spaces. -The first line will be used by Formmaker as both the default Form Label and Form Name. Later, when finishing the form, you can change one (or both). Use the next 11 lines for the actual form. (The line restriction allows forms to run remotely.) -If your form includes comments (text without input fields-- for example, directions), you'll need to take some special care to be sure comments appear on the finished form. The size of the form drawn by Formmaker is regulated by the location of input fields, not comments. Formmaker always places the upper left corner in the top left of the screen. The right and bottom margins vary depending on FIELD placement. To be sure any comments can be seen, the last line in a form should include a field, and the rightmost item in the form should also be a field. -When your form is in good shape, save and exit VI as you normally do. Formmaker will paint that form and return you to the main environment with eight screen-labeled keys. 2.3 Finishing the Form. In your editor you've sketched the placement of labels, input fields and comments. To finish the form, you'll define the type of input field, add help messages, menu items, the text for screen-labeled keys, etc., as well as edit your original material. You can do this using menus brought up by the following eight screen-labeled keys. 2.3.1 HEADER (F1). Use this only if you're designing forms that will be used as a questionnaire. It allows user questionnaire data, in the form of an ASCII file, to be electronically mailed to a specified address. This key brings up a form for entering that address. 2.3.2 FORM (F2). This allows you to change the form label and form name, delete the form, add forms, sort forms, and give a unique name to the form that is used only in the C source code. The FORM key (F2) brings up a form for the current form label and name, and the following new screen-labeled keys: ADD FORM BEFORE (F1), ADD FORM AFTER (F2) , DELETE FORM (F3), and SORT FORMS (F4). -Changing form labels and names. The first line you typed when sketching your form in the editor is used as the default form label (printed in the upper left border) and as the default form name (centered on the first line of the form). To change the form label or name, FORM (F2) brings up a menu with the current form label and name. Type the new label and/or name. A third optional name you can give the form is a variable name. This is used only in the C source code to improve its intelligibility--end-users never see it. If you don't give a specific variable name to the form, the C source code will refer to that form by a number. Use the ENTER key to save your changes, EXIT to quit without saving changes. -Adding or deleting forms. Use the FORM key (F2) to bring up the following new screen-labeled keys: ADD FORM BEFORE (F1), ADD FORM AFTER (F2) , DELETE FORM (F3). To delete the current form, hit the DELETE FORM key (F3). When you are returned to the main menu, the current form will be repainted on the screen, but never fear--it has been deleted. If you then use the PREVIOUS FORM and NEXT FORM keys, you'll see that the current form is gone. To add a new form, use either the ADD FORM BEFORE or ADD FORM AFTER keys. Both will put you back into your default editor to begin the new form creation process. -Sorting forms. Once you have several forms, you may want to change their order, particularly if they're being used as a questionnaire. This is facilitated if the forms have unique labels. To sort forms, use the FORM key (F2) in the main menu to bring up a new menu with a SORT FORMS key (F4). SORT FORMS produces a form with all of your form labels printed in their current order with current sequence numbers. To change their sequence, enter new sequence numbers for them. Use the ENTER key to save your changes, EXIT to quit without making the changes. 2.3.3 COMMENTS (F3). This brings up a form which allows you to add or edit comments (text without input fields). Comments are used primarily in questionnaires, although their judicious use in other forms would improve readability. When adding comments, never use quotation marks. You'll need to take some special care to be sure the comments you add here appear on the finished form. The size of the form drawn by Formmaker is regulated by the location of input fields, not comments. Formmaker always places the upper left corner in the top left of the screen. The right and bottom margins vary depending on FIELD placement. To be sure any comments can be seen, the last line in a form should include a field, and the rightmost item in the form should also be a field. Use the ENTER key to save comments, EXIT to quit without saving. 2.3.4 PREV FORM (F4) and NEXT FORM (F5). Use these keys to move from form to form. 2.3.5 FIELD (F6). Use this key when you want to define the type of input field (e.g., free entry or menu only), add a field-specific help message, change the current field size, label, or placement, delete the field, and add new fields. The FIELD key brings up a form for editing the current field and two new screen-labeled keys, ADD FIELD (F6) and DELETE FIELD (F7). All fields must have a label although the label can be "null," consisting of one blank. Quotation marks can't be used in field labels. -Adding field-specific help messages. On the form you've designed, highlight the relevant field and hit FIELD (F6) to bring up the field form. Type a help message in the field labeled "Help." -Defining the type of field. You need to indicate whether users are restricted to menu items, or are free to write in responses. Highlight the relevant field and hit FIELD (F6) to bring up the field form. In the field labeled "Menu only", select YES if users are restricted to the menu items, NO if they can write in a response. -Changing field or label placement or editing labels. Highlight the relevant field and hit FIELD (F6) to bring up the field form. To edit the label, type the new label in the appropriate field. To change field or label placement, enter new row and column values in the appropriate fields. The values must conform to these two rules: (1) The field column value (a number from 0-70 indicating where the field starts) plus the field width (the number indicating over how many columns the field extends) must be equal to or less than 70 (the maximum line-length in Formmaker), and (2) The field column value (a number from 0-70 indicating where the field starts) minus the label column value (a number from 0-70 indicating where the label starts) must at least equal the number of characters in the label. -Adding fields. Highlight the field which preceeds the field you plan to add, and hit FIELD (F6). This brings up the new screen-labeled key, ADD FIELD (F6). Hitting ADD FIELD brings up a new field form. Follow directions above for adding help messages, menus, and indicating field and label placement. -Deleting fields. Highlight the field you want to delete and hit FIELD (F6) to bring up a new screen labeled key DELETE FIELD (F7). Hit DELETE FIELD and the field you had highlighted will go away. 2.3.6 MENU (F7). This key brings up a form through which you can design the label, title and help message for a menu, and a screen-labeled key, EDIT ITEMS (F7), through which you can add menu items using your editor. You can create a form which is essentially only a menu by creating a dummy field with a null label, and then creating a menu for it. -Adding labels, titles and help messages to menus. Highlight the relevant field on the form and hit MENU (F7) to bring up a form with fields for entering a menu label (which appears in the menu border), title (which appears centered above the menu items) and help message. -Indicating single or multiple select menus. Users can be allowed to select only one or more than one item from a menu. To indicate your choice for a particular menu, highlight the relevant field in the form and hit MENU (F7) to bring up a form with a field labeled "Multiple?" Select the YES response if users can select more than one item from the menu, NO if only one selection is permitted. -Adding or editing menu items. Highlight the field for which menu items are to be added (or changed) and hit MENU (F7) to bring up a screen-labeled key EDIT ITEMS (F7). Hitting the EDIT ITEMS key will put you into your default editor. Type the menu items one per line, or edit existing items as you normally would. (Use no quotation marks in menu items.) Save and exit from your editor as usual. -Indicating menu column format. Menu items can be printed in one-column or several-column format. To indicate the number of columns, highlight the relevant field and hit MENU (F7) to bring up a form with a field for number of columns. Enter the desired number. 2.3.7 SLK (F8). This stands for screen-labeled keys. You can design screen-labeled keys which will appear when the compiled C-code is run. Formmaker will not give the keys their indicated functionality, but their appearance will help in evaluating screen design. Hitting SLK (F8) will bring up a form that simulates screen-labeled keys for both the console (two lines) and terminal (one line). Type your desired labels. Use the ENTER key to save your work, EXIT to quit without saving changes. 2.4 Using the C Source Code. Using Formmaker automatically generates C source code. When you exit from Formmaker, you'll find in your directory a test.c file and one or more .c files. There is one .c file for each form, and the is either the variable name you gave it (see section 2.3.2) or a default number assigned by Formmaker. The test.c file is the main subroutine which calls the forms in order and saves input data into a test.ans file. The C source code generated by Formmaker can be used in several ways. The source code for specific forms can simply be inserted into other programs, or it can be linked and compiled into an executable program that runs the forms and saves input data in a file. To insert source code for specific forms into other code, you should give each form a unique, neumonic name (see section 2.3.2 for how to do this). You'll then be able to easily identify the appropriate parts of the generated C code. To create an executable program, you will need the three standard files called Makefile, test.h and test_subs.c. Makefile is the script file for the UNIX MAKE facility--it assumes you have loaded the complete development set. The file test.h has a list of the necessary header (.h) files for using the window facilities and form routines and the data structure (h string) for positional text output. The file test_subs.c is the part of the test program that performs calls to the TAM window routines. Running MAKE (by doing if you're not in a UNIX window) will compile and link these files into an executable program called test. 3.0 Questionnaires and Human Interface Designs In addition to developing forms for UNIX PC applications, Formmaker can be used to design questionnaires and to prototype human interface designs. The forms you design can function as a questionnaire. (This was, in fact, the original purpose of Formmaker.) To use the forms as a questionnaire, highlight the form name in the filecabinet and hit the ENTER key. Formmaker presents the forms in order and saves responses in an ASCII file. If you've filled in header information (see section 2.3.1), that file can be mailed to you. A sample questionnaire, called WELCOME, was installed with Formmaker in the filecabinet of the installing login. WELCOME teaches users naive to the UNIX PC how to complete a questionnaire and provides a complete HELP facility 0707070000020046711007770001460001440000010447710355402655400001300000034335WELCOME:FMHEADER { "Learning to Use Tell-Labs" "tutor" "7841" } FORM { "Learning to Use Tell-Labs" "WELCOME!" "" FIELD { "1. Do you want to continue?" "Check this line for HELP messages." 10 0 50 3 ONLY SINGLE "New MENU" 0 "New MENU" "" "YES" "NO" } FIELD { "Hi. Through this program you'll learn to use the" 0 0 } FIELD { "other Tell-Labs questionnaries to give us Labs folks" 1 0 } FIELD { "a better idea of what your customers want." 2 0 } FIELD { "You'll also gain experience on the UNIX PC." 3 0 } FIELD { "First, we'll learn how to turn to the next page" 4 0 } FIELD { "of the questionnaire. I'll assume that your answer" 5 0 } FIELD { "to the question below is 'YES.' To see the next" 6 0 } FIELD { "page, hit the ENTER key, the long narrow key on the" 7 0 } FIELD { "right side of the keyboard." 8 0 } } FORM { "Learning to Use Tell-Labs" "TURNING PAGES" "" FIELD { "2. Can you place the pointer on the [OK] below?" "Use the mouse (LEFT button) to turn this page." 10 0 60 3 ONLY SINGLE "New MENU" 0 "New MENU" "" "YES" "NO" } FIELD { "Another way to turn pages uses the mouse and pointer." 3 0 } FIELD { "Rub the mouse against the desk and watch the pointer" 4 0 } FIELD { "move. If you have to move the mouse a long way, just" 5 0 } FIELD { "lift it up, replace it closer to you, then rub it again." 6 0 } FIELD { "To turn pages with the mouse, point to the [OK] at the" 7 0 } FIELD { "bottom of the page, then press the LEFT button." 8 0 } FIELD { "You have a nice touch on the keyboard!" 1 0 } } FORM { "Learning to Use Tell-Labs" "TURNING PAGES" "" FIELD { "3. Are you ready for page 4?" "Use enter key or left mouse button." 10 0 60 3 ONLY SINGLE "Menu" 0 "Menu" "" "YES" "NO" } FIELD { "Usually, each page will ask several questions, not just" 4 0 } FIELD { "one. When you've answered them all, and you're happy with" 5 0 } FIELD { "your answers, you're ready to turn the page." 6 0 } FIELD { "Good Mouse Movement!" 1 0 } } FORM { "Learning to Use Tell-Labs" "GETTING HELP" "" FIELD { "Try asking for HELP now." "Use HELP key to get help, EXIT key to return." 10 15 65 4 ONLY SINGLE "HELP" 0 "HELP" "" "YES" "YES" } FIELD { "I offer two kinds of help. First, the single sentence" 0 0 } FIELD { "at the bottom of the screen relates to whatever question" 1 0 } FIELD { "you're answering at the time." 2 0 } FIELD { "To get the other kind of help, hit the HELP key (upper)" 4 0 } FIELD { "right keyboard). That's like opening a special booklet" 5 0 } FIELD { "with lots of information not keyed to where you are in" 6 0 } FIELD { "the questionnaire. Look through to find the help you" 7 0 } FIELD { "need, then hit the EXIT key to get back." 8 0 } } FORM { "Learning to Use Tell-Labs" "MOVING FROM BLANK TO BLANK" "" FIELD { "5. At first this blank will be highlighted." "Look for HELP messages on this line." 8 0 60 3 ONLY SINGLE "MENU" 0 "MENU" "" "YES" "YES" } FIELD { "6. Use mouse or NEXT to highlight this blank." "You don't need help, you did it!" 9 0 60 3 ONLY SINGLE " " 0 " " " " "YES" "YES" } FIELD { "7. Practice with both the mouse and NEXT key." "You're good! Try both ways, then turn the page." 10 0 60 3 ONLY SINGLE "" 0 "" "" "YES" "YES" } FIELD { "You can use the mouse/pointer or NEXT key (lower" 0 0 } FIELD { "right keyboard) to move from one answer blank to" 1 0 } FIELD { "another. Moving is important because you can write" 2 0 } FIELD { "only on the highlighted blank. Practice moving " 3 0 } FIELD { "from blank to blank several times." 4 0 } FIELD { "Watch the changing help messages below." 6 0 } } FORM { "Learning to Use Tell-Labs" "MOVING FROM BLANK TO BLANK" "" FIELD { "8. Move that blinkity-blank!" "The highlight always starts on the first question." 6 0 50 2 ONLY SINGLE "New MENU" 0 "New MENU" "" "GO" "GO" } FIELD { "9. Check the HELP message below." "Please help me--move that blank." 7 0 50 2 ONLY SINGLE "" 0 "" "" "GO" "GO" } FIELD { "10. Keep it moving!" "Good. Turn the page for more." 8 0 50 2 ONLY SINGLE "" 0 "" "" "GO" "GO" } FIELD { "Once more, with feeling!" 1 0 } FIELD { "Remember, if you use the keyboard, use the NEXT key" 3 0 } FIELD { "within a page, and ENTER to turn pages." 4 0 } } FORM { "Learning to Use Tell-Labs" "SELECTING AN ANSWER" "" FIELD { "11. Have you stopped beating your spouse?" "Turn the page TWICE for more." 9 0 50 10 ONLY SINGLE "Spouse" 0 "Spouse" "" "HUH?" "SURE" "MY WHO?" "WHY?" } FIELD { "Many questions are multiple choice. The UNIX PC" 1 0 } FIELD { "will show your menu of choices in a small insert" 2 0 } FIELD { "page. To view your menu below, touch the CMD key" 3 0 } FIELD { "(for 'commands') on the upper right keyboard." 4 0 } } FORM { "Learning to Use Tell-Labs" "SELECTING AN ANSWER" "" FIELD { "12. Select the word MAGIC and win a duck." "To exit menu, ENTER key or LEFT button (pointer in menu)." 10 0 60 10 ONLY SINGLE "Groucho" 0 "Groucho" "" "NOT ME" "DUCK" "MAGIK" "MAGIC" } FIELD { "To select a choice:" 0 0 } FIELD { "a) view the menu using CMD key" 1 5 } FIELD { "b) highlight your choice using NEXT key" 2 5 } FIELD { "or the mouse/pointer" 3 8 } FIELD { "c) get my attention by touching the ENTER key" 4 5 } FIELD { "or the left mouse button" 5 8 } FIELD { "NOTE: When using the mouse, be sure the pointer" 7 0 } FIELD { "is inside the menu before clicking the left button." 8 0 } } FORM { "Learning to Use Tell-Labs" "SELECTING AN ANSWER" "" FIELD { "13. What adjective best describes you?" "Use CMD key to view menu." 9 0 60 10 ONLY SINGLE "Me" 0 "Me" "" "CLEVER" "KREATIVE" "QUIRKY" "KLUTZ" } FIELD { "14. What adjective best describes your boss?" "Come on, you can tell me." 10 0 60 10 ONLY SINGLE "Boss" 0 "Boss" "" "CRETIN" "CRAZED" "CRIMINAL" } FIELD { "When the menu disappears, your choice appears " 1 0 } FIELD { "in the answer blank." 2 0 } FIELD { "If you chose wrong, just repeat the process:" 4 0 } FIELD { "view menu, highlight choice, enter choice." 5 0 } FIELD { "Try these two." 7 0 } } FORM { "Learning to Use Tell-Labs" "SELECTING AN ANSWER" "" FIELD { "15. Which do you prefer?" "Point to blank and use MIDDLE button to view menu." 9 0 50 10 ONLY SINGLE "Entry Mode" 0 "Entry Mode" "" "MOUSE" "KEYBOARD" } FIELD { "16. Which do you prefer?" "You're on your own for this one." 10 0 50 10 ONLY SINGLE "Drinks" 0 "Drinks" "" "NEW COKE" "OLD COKE" "PEPSI" "RC" "7-UP" } FIELD { "You're getting very good at this!" 0 0 } FIELD { "You can view the menu using only the mouse instead" 2 0 } FIELD { "of the keyboard CMD key." 3 0 } FIELD { "Try pointing to the answer blank and clicking the" 5 0 } FIELD { "MIDDLE mouse button. When the menu appears," 6 0 } FIELD { "follow your usual routine to make your choice." 7 0 } } FORM { "Learning to Use Tell-Labs" "SELECTING SEVERAL ANSWERS" "" FIELD { "17. Pick all that you enjoy doing." "First view menu, then use pointer and RIGHT button to pick." 10 0 50 10 ONLY MULTIPLE "Fun Things" 0 "Fun Things" "" "DANCING" "SINGING" "TENNIS" "SOFTBALL" "WALKING" "GOLF" "READING" "SWIMMING" } FIELD { "Some questions have more than one right answer." 0 0 } FIELD { "We can handle these existential crises." 1 0 } FIELD { "To select several answers, point to each one and" 3 0 } FIELD { "click the RIGHT mouse button." 4 0 } FIELD { "To unselect an answer, point to it again, click the" 5 0 } FIELD { "RIGHT button again, then move the pointer away." 6 0 } FIELD { "Practice selecting and unselecting on this one." 8 0 } } FORM { "Learning to Use Tell-Labs" "SELECTING SEVERAL ANSWERS" "" FIELD { "18. Pick all that you do well." "Select several answers, tell me, then review menu to check." 10 0 60 10 ONLY MULTIPLE "Good At:" 0 "Good At:" "" "EATING" "SLEEPING" "PLAYING" "WORKING" "TALKING" } FIELD { "To tell me your choices, either hit ENTER key or, keeping" 0 0 } FIELD { "the pointer inside the menu, click the LEFT button." 1 0 } FIELD { "It's easy to highlight a choice accidentally. To" 3 0 } FIELD { "check yourself, view the menu again (CMD key or MIDDLE" 4 0 } FIELD { "button). Your choices should be highlighted. Make" 5 0 } FIELD { "any changes, then tell me your choices again." 6 0 } } FORM { "Learning to Use Tell-Labs" "PRACTICE SELECTING ANSWERS" "" FIELD { "19. How do you like the program so far?" "Select one answer." 6 0 50 20 ONLY SINGLE "Evaluation" 0 "Evaluation" "" "GREAT" "OK" "TERRIBLE" } FIELD { "20. What would you rather do than this?" "Select several answers." 7 0 50 20 ONLY MULTIPLE "Fun Things" 0 "Fun Things" "" "WATCH GRASS GROW" "PLAY GAMES" "TALK TO BOSS" "VACATE" "EARN MONEY" } FIELD { "21. Who do you think you are, anyway?" "Select one answer." 8 0 50 20 ONLY SINGLE "Me2" 0 "Me2" "" "Wise Guy" "Happy-Go-Lucky" "Nice Person" } FIELD { "Use this page to practice selecting answers. Try" 0 0 } FIELD { "things out, don't worry about blowing up the program." 1 0 } FIELD { "Check out the help messages below." 3 0 } } FORM { "Learning to Use Tell-Labs" "RATING SCALES" "" FIELD { "Rate this program, where 1 = BEST, 10 = WORST." "Use RIGHT mouse button to select ratings." 10 0 60 2 ONLY SINGLE "PROGRAM" 0 "PROGRAM" "" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" } FIELD { "Rating scales are another type of multiple choice" 0 0 } FIELD { "question. To select a rating, point to the answer" 1 0 } FIELD { "blank and click the RIGHT mouse button. Each" 2 0 } FIELD { "click will bring a new rating into view. " 3 0 } FIELD { "The rating that appears in the blank when you turn" 5 0 } FIELD { "the page is the one I get." 6 0 } FIELD { "Try this one." 8 0 } } FORM { "Learning to Use Tell-Labs" "RATINGS" "" FIELD { "SINGING" "Point and use RIGHT mouse button to select ratings." 8 0 30 1 ONLY SINGLE "Fun;" 0 "Fun;" "" "1" "2" "3" "4" "5" } FIELD { "TELLING STORIES" "Use RIGHT mouse button." 9 0 30 1 ONLY SINGLE "FUN;" 0 "FUN;" "" "1" "2" "3" "4" "5" } FIELD { "WORKING" "You're on your own here." 10 0 30 1 ONLY SINGLE "FUN;" 0 "FUN;" "" "1" "2" "3" "4" "5" } FIELD { "I hope you didn't mean that!" 0 0 } FIELD { "Use this scale to rate your" 2 0 } FIELD { "expertise in these tasks:" 3 0 } FIELD { "1 = GREATEST" 5 0 } FIELD { "5 = DISASTER" 6 0 } } FORM { "Learning to Use Tell-Labs" "OPEN-ENDED QUESTIONS" "" FIELD { "What's your name?" "Use backspace or clearline keys to correct typos." 9 0 30 30 } FIELD { "What town do you live in/near?" "Use backspace or clearline keys to correct typos." 10 0 40 30 } FIELD { "You're doing great! Good news---" 0 0 } FIELD { "we're almost through." 1 0 } FIELD { "For open-ended questions, you'll have to type " 3 0 } FIELD { "your answer. Always check your typing before" 4 0 } FIELD { "turning the page. To correct errors, use either" 5 0 } FIELD { "the CLEARLINE key (upper left) or the BACKSPACE" 6 0 } FIELD { "key (upper right)." 7 0 } } FORM { "Learning to Use Tell-Labs" "FINAL REVIEW" "" FIELD { "a. What is your favorite food?" "Type your answer." 3 10 50 20 } FIELD { "b. Which one do you like best?" "Select only one." 5 10 50 20 ONLY SINGLE "Courses" 0 "Courses" "" "APPETIZER" "SALAD" "MAIN COURSE" "DESSERT" "DRINKS" } FIELD { "c. Who do you like to be with?" "Select at least two." 7 10 50 20 ONLY MULTIPLE "People" 0 "People" "" "FRIENDS" "FAMILY" "COWORKERS" "IN-LAWS" "OUTLAWS" } FIELD { "rate your cooking ability." "Use mouse to select rating." 10 13 50 2 ONLY SINGLE "ME2;" 0 "ME2;" "" "1" "2" "3" "4" "5" } FIELD { "Here's a quick check--one question of each type." 1 0 } FIELD { "d. On a scale of 1-5 (1=BEST)," 9 10 } } FORM { "Learning to Use Tell-Labs" "REVIEWING YOUR WORK" "" FIELD { "Are you ready to see page 1 again?" "Sorry, you don't have much choice on this one." 10 0 60 10 ONLY SINGLE "NoChoice" 0 "NoChoice" "" "YES" "YES" "YES" } FIELD { "You're ready to go!" 0 0 } FIELD { "You can review your answers only after one complete pass" 2 0 } FIELD { "through the questionnaire. In fact, you MUST review them" 3 0 } FIELD { "once, because I automatically cycle you through a second" 4 0 } FIELD { "time. If you want more review, use the F4 and F5 keys" 5 0 } FIELD { "(with screen labels PREV FORM and NEXT FORM) to find" 6 0 } FIELD { "specific pages. Once on a page, you can change any answers." 7 0 } } FORM { "Learning to Use Tell-Labs" "REALLY THE LAST PAGE!" "" FIELD { "Now, are you ready for page 1?" "Answer Yes on your first pass, No on your second pass." 10 20 60 3 ONLY SINGLE "CYCLE" 0 "CYCLE" "" "YES" "NO" } FIELD { "One last point. I want very much to get your answers." 0 0 } FIELD { "For that to happen, my address should be preset in your" 1 0 } FIELD { "UNIX PC BEFORE you begin the questionnaire. The other" 2 0 } FIELD { "questionnaires check for that and immediately give you" 3 0 } FIELD { "an error message if they can't find an address." 4 0 } FIELD { "If you get that message, check the documentation to" 5 0 } FIELD { "set up my address--or ask someone for help." 6 0 } FIELD { "THANKS FOR PLAYING ALONG WITH ME. HOPE TO HEAR FROM" 7 0 } FIELD { "YOU AGAIN SOON." 8 0 } } 0707070000020046701007770001460001440000010450110355404255600001200000004261SAMPLE:FMHEADER { "SAMPLE ver 1.0" "tutor" "555-5555" } FORM { "Modify or Add Definition of Called Computer" "Enter information for the receiving computer" "f_uucp" FIELD { "Name of receiving computer : " "Enter the name of the receiving computer." 0 8 40 9 } FIELD { "Electronic mail login name : " "Type the receiving computer's special login for mail." 1 8 40 6 } FIELD { "Electronic mail password : " "Auto call password as supplied by Administrator." 2 10 40 10 } FIELD { "Days of week calls are allowed : " "Use CMD to select days of week which calls may be placed." 3 4 40 14 ONLY SINGLE "days" 1 "days" "Cursor to desired value and press Enter" "ALL DAYS" "WEEKDAYS ONLY" "WEEKEND ONLY" } FIELD { "Hours when calls are allowed : " "Used Cmd to select the hours which calls may be placed." 4 6 40 25 ONLY SINGLE "Hours" 1 "Hours" "Select the hours of the day to place calls." "ALL TIMES" "WORKING HOURS (9am - 5pm)" "NIGHT ONLY (5pm - 9am)" "LATE NIGHT (11pm - 5am)" } FIELD { "1st choice method : " "Use CMD to choose the line type" 6 4 25 8 ONLY SINGLE "Port" 1 "Port" "" "PHONE" "RS232" } FIELD { "Baud Rate : " "Use Cmd to select the speed of the receiving computer." 6 38 52 6 ONLY SINGLE "Data Speed" 1 "Data Speed" "Select the choice and press Enter" "1200" " 300" "2400" "4800" "9600" } FIELD { "2nd choice method : " "Use CMD to choose the line type" 7 4 25 8 ONLY SINGLE "Port" 1 "Port" "" "NONE" "PHONE" "RS232" } FIELD { "Baud Rate : " "Use Cmd to select the speed of the receiving computer." 7 38 52 6 ONLY SINGLE "Data Speed" 1 "Data Speed" "Select the choice and press Enter" "NONE" " 300" "1200" "2400" "4800" "9600" } FIELD { "3rd choice method : " "Use CMD to choose the line type" 8 4 25 8 ONLY SINGLE "Port" 1 "Port" "" "NONE" "PHONE" "RS232" } FIELD { "Baud Rate : " "Use Cmd to select the speed of the receiving computer." 8 38 52 6 ONLY SINGLE "Data Speed" 1 "Data Speed" "Select the choice and press Enter" "NONE" " 300" "1200" "2400" "4800" "9600" } } 0707070000020046671007770001460001440000010450140355432316400001600000037732attispoll.hlp Wlabel = "Form Help" Contents = Using help, Introduction, Form Maker, Backspace Key, Button: Left, Button: Middle, Button: Right, Canceling Session, Changing Answer, Clearline Key, Command Key, Entering Answers, Enter Key, Erasing Chars, Erasing Lines, Exit Key, F1 Key, F4 & F5 Keys, F8 Key, Going Back, Help Key, Help Line, Mailing, Mouse: Pointer, Moving Cursor, Multiple Choice, Next Key, Rating Scale, Selectmark Key Name = Using help Llabel = " USING HELP" Slabel = " HELP" Branch = Using help, Introduction, Exit Key Title = "How to Use Form Help" Text = When you call for help, you'll first get this window of information. \ Since I may have more to say than fits in a window, always try to \ scroll beyond the last sentence you see. You scroll by using the \ mouse to move the pointer onto the down arrow and clicking the right \ mouse button. Or hit the page key. To return to the top, point to \ the up arrow, or use the shifted page key. To get out of a help screen, hit the exit key, or point to the [X] \ icon and click the right button. The screen labeled keys (F1-F8) will bring more help. The Table of \ Contents lists things you're likely to want to do, command keys you'll \ probably need, etc., while using the forms. To get to the \ Table of Contents, hit the appropriate screen labeled key. Then move \ the cursor to highlight the topic you're interested in and hit enter. \ You'll then be able to read about that topic. The Introduction provides general information on how to work through \ the forms, as well as background information on why they were \ developed and what uses we hope to make of your input. If you're new to the UNIX PC, we recommend that you run the WELCOME \ form first. This lets you learn to fill out the forms \ by doing it, rather than just by reading about it. \ In either case, pressing EXIT ends the help display. \EOT\ Name = Introduction Llabel = " INTRO- DUCTION" Slabel = " INTRO" Branch = Using help, Introduction, Exit Key Title = "Introduction to Forms" Text = Here I'll briefly describe how to complete the \ forms. Check the Table of Contents as needed for details \ on how to do individual things. You might like to \ first try the WELCOME Form. The forms use the UNIX PC User Agent interface, \ which is very user-friendly. When in doubt about what to do, \ use the mouse to move the pointer to a word that seems potentially \ relevant and click the left mouse button. This will bring on more \ information about that item--if it's not what you wanted, point to \ the X in the lower left of the lighted window, and click the left \ button again--the window will disappear, and you can try something \ else. Hitting the "HELP" key will also bring up lots of information, \ some of which may be useful! Highlight the form \ on the topic you are interested in. When you point to \ that form and click at it, the form program will \ automatically begin to run it. That means it will write a screenful \ of questions (2-5) and wait for your answers. The cursor will \ automatically be positioned on the first answer blank. When you've \ answered all questions on that screen, you give directions to store \ those answers and present the next screen by hitting the enter key \ or pointing to the [OK] at the bottom of the screen and clicking the \ left button. When you've seen and answered all questions, you can mail \ the answers to us automatically, just by hitting the F8 key \ (which, at that point and not before, will have the screen label MAIL). \ If you want to review your work before mailing it, you will \ automatically be cycled through once more, or you can use the F4 and \ F5 keys to move from page to page as you see fit. During the first \ pass through the form, however, you can only go forward. There are three basic question types (and variations, of course). \ For a free response question, you simply type your answer. If you make \ typing errors, use the backspace key or clearline key to correct them. \ For a multiple choice question, you will only see one choice at a time \ unless you ask for the whole menu of choices. Ask for the menu by \ highlighting the answer blank, and hitting \ the command key or clicking the middle mouse \ button. Highlight your choices in the menu and enter them \ by hitting the enter key or \ clicking the left button. \ For a rating scale question, you can cycle through the rating \ values one at a time by highlighting that answer blank and clicking the \ right mouse button, or hitting the select mark key. If all of this \ sounds like Greek to you, do the WELCOME program first. It's much \ easier to do it than to read about it! Finally, thanks for your help! \EOT\ Name = Multiple Choice Llabel = "MULTIPLE CHOICE" Slabel = "MULTIPLE" Branch = Using help, Rating Scale, Help Line, Moving Cursor, Button: Right, Entering Answers Title = "Answering Multiple Choice Questions" Text = For questions with only one answer: 1) Move cursor to answer space 2) Hit command key or middle mouse button 3) Highlight or point to your choice 4) Hit enter key or left mouse button For questions with more than one answer: 1) Move cursor to answer space 2) Hit command key or middle mouse button 3) Use selectmark key or right mouse button to highlight all of your choices 4) Hit enter key or left mouse mouse button. \EOT\ Name = Form Maker Llabel = " FORM MAKER" Slabel = "F0RM MKR" Branch = Using help Title = "Creating Forms Using Form Maker" Text = There is a utility called "Form Maker" that allows a user \ to interactively design forms. In order to get more help on "Form Maker", the program must be \ running. This can be accomplished by using the \ User Agent "Create" command with "Form" as the object type \ or by pointing to an existing "Form" and performing an "Open". At this point using the help key will access information \ specific to "Form Maker" \EOT\ Name = Rating Scale Llabel = " RATING SCALE" Slabel = " RATING" Branch = Using help, Multiple Choice, Help Line, Moving Cursor, Button: Right, Entering Answers, Changing Answer Title = "Answering Rating Scale Questions" Text = 1) Move cursor/pointer to answer space 2) Hit selectmark key or right mouse button to cycle through all values of rating scale 3) Leave your chosen value in answer space when you hit enter to turn page. \EOT\ Name = Backspace Key Llabel = " BACK SPACE" Slabel = " BCKSPC" Branch = Using help, Changing Answer, Clearline Key Title = "Backspace Key" Text = \IND\Backs the cursor up one space. Used to correct errors in typing. Located at the upper right of QWERTY keyboard.\EOT\ Name = Canceling Session Llabel = "CANCELNGSESSION" Slabel = "CANCELNG" Branch = Using help, Enter Key, Mailing, Changing Answer Title = "Canceling Session" Text = \IND\1) Hit cancel key (right keyboard) or F1 key (after you've completed one pass through form) 2) Highlight YES on the "Are you sure" menu and hit enter. NOTE: You will lose all record of this session and will not be able to mail the form if you do this.\EOT\ Name = Changing Answer Llabel = "CHANGING ANSWER" Slabel = "CHNG ANS" Branch = Using help, Backspace Key, Clearline Key, Moving Cursor, Enter Key, Going Back Title = "Changing Answer/Correcting Errors" Text = \IND\For multiple choice questions: 1) Move cursor to answer space 2) Hit command key or middle mouse button 3) Highlight or point to your choice 4) If chosing more than one item use select mark key or right mouse button to highlight other choices 4) Hit enter key or left mouse button. For rating scales: 1) Move cursor/pointer to answer space 2) Hit select mark key or right mouse button to cycle through all values of rating scale 3) Leave your chosen value in answer space when you hit enter to turn page. For mistakes in typing: 1) Move cursor to bad line 2) Hit clearline key to remove line 3) Retype line If you notice the error while still on that line, just use the backspace key to place cursor before the error and retype correctly. If you think you made an error on a previous page, you can return to that page after you've gone through the whole form once. At that point, you will be automatically cycled through each page a second time, and can make changes when on the page. Also at that point, you'll be able to use the F4 and F5 keys to move from page to page. \EOT\ Name = Clearline Key Llabel = "CLEARLNE KEY" Slabel = "CLEARLNE" Branch = Using help, Changing Answer, Backspace Key Title = "Clearline Key" Text = \IND\Clears the line the cursor is positioned on. Used to correct errors in typing. Located upper left keyboard. \EOT\ Name = Command Key Llabel = " COMMAND KEY" Slabel = " COMMAND" Branch = Using help, Multiple Choice Title = "Command (Cmd) Key" Text = \IND\Displays menu of choices. Used in multiple choice questions to view all choices. Located upper third of right keyboard. \EOT\ Name = Entering Answers Llabel = "ENTERING ANSWERS" Slabel = "ENTERING" Branch = Using help, Enter Key Title = "Entering Answers" Text = \IND\Hit enter key (right), or point to [OK] icon and click right mouse button. Use either for a menu of multiple choice items or a page of the form. \EOT\ Name = Enter Key Llabel = " ENTER KEY" Slabel = " ENTER" Branch = Using help Title = "Enter Key" Text = \IND\Stores one pageful of answers to be sent to Labs and turns to the next page. Stores your selections from multiple choice menu and returns you to ques- tionnaire page. Used when you're satisfied with your answers on the current screen and you want to move to the next set of questions. Located on right of QWERTY keyboard. \EOT\ Name = Erasing Chars Llabel = " ERASING CHARS" Slabel = " ERASING" Branch = Using help, Changing Answer, Clearline Key Title = "Erasing Characters" Text = \IND\If you haven't yet moved to a new line, use backspace key to back cursor up before error and retype over error. \EOT\ Name = Erasing Lines Llabel = " ERASING LINES" Slabel = " ERASING" Branch = Using help, Changing Answer Title = "Erasing Lines" Text = \IND\Use clearline key (upper left) with cursor positioned on line to be erased. \EOT\ Name = Exit Key Llabel = " EXIT KEY" Slabel = "EXIT KEY" Branch = Using help, Canceling Session, Mailing Title = "Exit Key" Text = \IND\Gets you out of the current screen. Most frequently used to return to form from HELP screen. If used when on the main form screen, will take you out of the program; does not save work to date. Located upper right. \EOT\ Name = F1 Key Llabel = " F1 KEY " Slabel = " F1 KEY " Branch = Using help, Canceling Session, Mailing Title = "Function 1 (F1) Key" Text = \IND\Screen-labeled key, CANCEL, available after first pass through form. Gets you out of the form program without saving or mailing your answers. Located top row. \EOT\ Name = F4 & F5 Keys Llabel = " F4 & F5 Keys" Slabel = " F4 & F5" Branch = Using help, Going Back, Changing Answer Title = "Function 4 and 5 (F4 and F5) Keys" Text = \IND\Screen-labeled keys, PREV FORM and NEXT FORM, available after first pass through form. Moves from one page to another. Useful in reviewing your answers. Located top row. \EOT\ Name = F8 Key Llabel = " F8 Key" Slabel = " F8 Key" Branch = Using help, Mailing, Canceling Session Title = "Function 8 (F8) Key" Text = \IND\Screen-labeled key, MAIL, available after first pass through form. Stores and sends file of your answers to the return address. \EOT\ Name = Going Back Llabel = " GOING BACK" Slabel = "GOING BK" Branch = Using help, Enter Key, Changing Answer Title = "Going Back to Previous Page" Text = \IND\You can go back to previous pages only after going through the whole question- naire once. At that point, you will be automatically cycled through each page a second time. Also at that point, you will be able to use the F4 and F5 keys (labeled on screen as previous form and next form) to move from page to page. \EOT\ Name = Help Key Llabel = " HELP KEY" Slabel = "HELP KEY" Branch = Using help, Help Line Title = "Help Key" Text = \IND\Prints HELP messages. Used anytime while completing the forms. Located upper right. \EOT\ Name = Help Line Llabel = " HELP LINE" Slabel = "HELP LNE" Branch = Using help, Help Key Title = "Help Line" Text = \IND\The bottom line on any screen of the form provides a brief message relevant to the question the cursor is placed on. \EOT\ Name = Mailing Llabel = " MAILING" Slabel = " MAILING" Branch = Using help, Introduction, Exit Key Title = "Mailing Completed Forms" Text = \IND\Once you've completed the form, F8 key will have the screen label, mail. Hitting the F8 key will send your answers to the Labs. If, after you've opened a form, you get a message about not being able to find our address, don't go on unless you are sure our address is in your Email directory. If the address is not there, all your work in answering the form will be lost. To check on our address, (1) open Administration, (2) open Mail Set Up (3) open Electronic Mail Names of Other Systems, (4) highlight 'computer name' and hit CMD key. If FORM MAKER is listed, you have our address. If not call Ray Fyhr at 201-577-5238. \EOT\ Name = Button: Left Llabel = " BUTTON LEFT" Slabel = " LEFT" Branch = Using help, Enter Key, Entering Answers, Button: Middle, Button: Right, Mouse: Pointer Title = "Mouse Button: Left" Text = \IND\When pointer is on the [OK] icon, saves all answers on that page and moves to next page of questions. When pointer is inside a multiple choice menu, saves highlighed choices as answers and returns to form. When pointer is on [X] icon, exits you from that window. When pointer is on the [?] icon of the form page, brings up the HELP screens. \EOT\ Name = Button: Middle Llabel = " BUTTON MIDDLE" Slabel = " MIDDLE" Branch = Using help, Command Key, Multiple Choice, Button: Left, Button: Right, Mouse: Pointer Title = "Mouse Button: Middle" Text = \IND\When pointing to a multiple choice answer blank, brings up the full menu of choices available to you. \EOT\ Name = Button: Right Llabel = " BUTTON RIGHT" Slabel = " RIGHT" Branch = Using help, Selectmark Key, Multiple Choice, Button: Left, Button: Middle, Mouse: Pointer Title = "Mouse Button: Right" Text = \IND\1) When in a multiple choice menu with more than one choice allowed, highlights choices as they are pointed to. 2) When using a rating scale, will cycle the rating values through the answer blank. (Will also cycle multiple choices through blank.) \EOT\ Name = Mouse: Pointer Llabel = " POINTER" Slabel = " POINTER" Branch = Using help, Moving Cursor, Button: Left, Button: Middle, Button: Right Title = "Mouse: Pointer" Text = \IND\Moves cursor as mouse is rubbed on desk. \EOT\ Name = Moving Cursor Llabel = " MOVING CURSOR" Slabel = " MOVING" Branch = Using help, Mouse: Pointer, Next Key Title = "Move Cursor" Text = \IND\Use next key (lower right), or use mouse to drag pointer over current cursor position to new position. The cursor must be positioned next to the question you are currently working on. \EOT\ Name = Next Key Llabel = " NEXT KEY" Slabel = "NEXT KEY" Branch = Using help, Moving Cursor, Mouse: Pointer Title = "Next Key" Text = \IND\Moves cursor from one answer blank to another. Used to highlight the blank you're going to answer. Located lower right. \EOT\ Name = Selectmark Key Llabel = "Slectmrk Key" Slabel = "Slectmrk" Branch = Using help, Mouse: Pointer, Rating Scale Title = "Selectmark Key" Text = \IND\Marks two or more multiple choice answers. Used when selecting more than one answer to a multiple choice question. Also used to cycle rating scale values through the answer blank. Located lower left. \EOT\ 0707070000020046661007770001460001440000010450350355431234200001600000057321formmaker.hlp Wlabel = "Form Maker Help" Contents = Using help, Introduction, Editing Forms, Editing Fields, Editing Labels, Editing Menus, Help Messages, Def of Terms, F1 -- HEADER, F2 -- FORM, F3 -- COMMENTS, F4 -- PREV FORM, F5 -- NEXT FORM, F6 -- FIELD, F7 -- MENU, F8 -- SLK, Sketching Forms, Sorting Forms, Start/Stop, Questionnaire Name = Using help Llabel = " USING HELP" Slabel = " HELP" Branch = Using help, Introduction, Start/Stop Title = "How to Use Form Maker Help" Text = When you call for help, you'll first get this window of information. \ Since I may have more to say than fits in a window, always try to \ scroll beyond the last sentence you see. You scroll by using the \ mouse to move the pointer onto the down arrow and clicking the right \ mouse button. Or hit the page key. To return to the top, point to \ the up arrow, or use the shifted page key. To get out of a help screen, hit the exit key, or point to the [X] \ icon and click the right button. The screen labeled keys (F1-F8) will bring more help. The Table of \ Contents lists things you're likely to want to do, command keys you'll \ probably need, etc., while using the questionnaires. To get to the \ Table of Contents, hit the appropriate screen labeled key. Then move \ the cursor to highlight the topic you're interested in and hit enter. \ You'll then be able to read about that topic. \EOT\ Name = Introduction Llabel = " INTRO- DUCTION" Slabel = " INTRO" Branch = Using help, Introduction, Start/Stop Title = "Introduction to Form Maker" Text = Formmaker allows you to easily create forms on the UNIX PC that \ make use of the User Agent interface. Formmaker generates C \ source code so the forms can readily be incorporated in other \ programs or applications for the UNIX PC. Details on using Formmaker are in the Table of Contents. Here we \ provide a quick overview. When Formmaker is installed, one of the objects you can create is \ a "Form." Formmaker version 1.0 will immediately put you into \ your default editor. (Formmaker gets along best with VI; second \ best with CT's Word Processor; untested with anything else.) \ Once in your editor, sketch the form, primarily the labels and \ input fields. Exit your editor, saving the file as you normally \ do. Formmaker will then paint the screen in a window and put up \ a set of screen-labeled keys leading to menus that facilitate \ editing the label text, changing placement of items, adding help \ messages, adding menu items, adding or deleting input fields, \ etc. The form is up-dated with each change so you have the \ option of immediately evaluating the changes. Once you've finished a form, you can add other forms and delete \ forms. When you save and exit from Formmaker, it generates files \ called .C containing the C source code for the forms and \ test.C containing C source code for running the forms. \ \EOT\ Name = Editing Forms Llabel = "EDITING FORMS" Slabel = "EDT FORM" Branch = Using help, F2 -- FORM, Sketching Forms Title = "Editing Forms" Text = Use the FORM key (F2) to bring up the following new screen- \ labeled keys: ADD FORM BEFORE (F1), ADD FORM AFTER (F2) , DELETE \ FORM (F3). To delete the current form, hit the DELETE FORM key \ (F3). When you are returned to the main menu, the current form \ will be repainted on the screen, but never fear--it has been \ deleted. If you then use the PREVIOUS FORM and NEXT FORM keys, \ you'll see that the current form is gone. To add a new form, use \ either the ADD FORM BEFORE or ADD FORM AFTER keys. Both will put \ you back into your default editor to begin the new form creation \ process. \ \EOT\ Name = Editing Fields Llabel = "EDITING FIELDS" Slabel = "EDT FLDS" Branch = Using help, F6 -- FIELD, Sketching Forms Title = "Editing Fields" Text = To add an input field to a form, highlight the field which \ preceeds the one you plan to add, and hit FIELD (F6). This \ brings up the new screen-labeled key, ADD FIELD (F6). Hitting \ ADD FIELD brings up a new field form. Enter the label and field \ help messages in the appropriate fields. To indicate label and \ field placement, enter row and column values in the appropriate \ fields. The values must conform to these two rules: (1) The \ field column value (a number from 0-70 indicating where the field \ starts) plus the field width (the number indicating over how many \ columns the field extends) must be equal to or less than 70 (the \ maximum line-length in Formmaker), and (2) The field column value \ (a number from 0-70 indicating where the field starts) minus the \ label column value (a number from 0-70 indicating where the label \ starts) must at least equal the number of characters in the \ label. In the field labeled "Menu only", select YES if users are \ restricted to the menu items, NO if they can write in a response. To delete an input field, highlight the field you want to delete \ and hit FIELD (F6) to bring up a new screen labeled key DELETE \ FIELD (F7). Hit DELETE FIELD and the field you had highlighted \ will go away. \EOT\ Name = Editing Labels Llabel = "EDITING LABELS" Slabel = "EDT LBLS" Branch = Using help, F2 -- FORM, Sketching Forms Title = "Editing Labels" Text = The first line you typed when sketching your form in the editor \ is used as the default form label (printed in the upper left \ border) and as the default form name (centered on the first line \ of the form). To change the form label or name, FORM (F2) brings \ up a menu with the current form label and name. Type the new \ label and/or name. In addition, you can give a name to the form \ that will be used only in the C source code--end-users will never \ see this name. Use of a variable name will improve C source code \ intelligibility. If you leave the variable name blank, the \ source code will identify that form by a number. Use the ENTER \ key to save your changes, EXIT to quit without saving changes. \ \EOT\ Name = Editing Menus Llabel = "EDITING MENUS " Slabel = "EDT MENU" Branch = Using help, F7 -- MENU Title = "Editing Menus" Text = Adding menus to an input field is a two-stage process. First, \ the menu is defined, titled, labeled, etc., and then menu items \ are added in your editor. (Actually, the stages can be done in \ any order.) To define the menu type, etc., highlight the relevant field on \ the form and hit MENU (F7) to bring up a form with fields for \ entering a menu label (which appears in the menu border), title \ (which appears centered above the menu items) and help message. \ Users can be allowed to select only one or more than one item \ from a menu. To indicate your choice for a particular menu, use \ the field labeled "Multiple?" Select the YES response if users \ can select more than one item from the menu, NO if only one \ selection is permitted. Finally, menu items can be printed in \ one-column or several-column format. Enter the desired number \ in the appropriate field. To add menu items, use the MENU (F7) key to bring up a new \ screen-labeled key EDIT ITEMS (F7). Hitting the EDIT ITEMS key \ will put you into your default editor. Type the menu items one \ per line, or edit existing items as you normally would. (Use no \ quotation marks in menu items.) Save and exit from your editor \ as usual. \EOT\ Name = Help Messages Llabel = " HELP MESSAGE" Slabel = "HLP MSSG" Branch = Using help, F6 -- FIELD Title = "Adding Specific Help Messages" Text = On the form you've designed, highlight the relevant field and hit \ FIELD (F6) to bring up the field form. Type a help message in \ the field labeled "Help." \ \EOT\ Name = Def of Terms Llabel = "DEF OF TERMS" Slabel = " TERMS " Branch = Using help Title = "Definition of Terms" Text = Comments. Any text not attached to a field. Comments are \ seldom used in forms, but often used in questionnaires as, for \ example, directions or explanations. Field. As used in Formmaker, an input field. Formmaker \ supports three types of input fields: (1), free-entry, allowing \ the user to type any answer, (2) Menu-only, requiring a user to \ select one or more choices from a given menu, (3) Mixed, which \ presents a menu but also allows the user to type an answer should \ no menu item seem appropriate. Field label. Text that precedes an input field and indicates \ the type of input desired. In Formmaker, every field must have a \ label. Form. A window with at least one input field and a label \ indicating the kind of input desired. Form Label. Text appearing in the window border of a form. Form Name. Text which appears centered above the first input \ field in a form. Help Messages. The status line at the bottom of the screen can \ be used for help messages specific to an input field or a menu. Menu. A set of multiple-choice items attached to an input \ field, allowing users to select an input. Formmaker supports \ both single choice and multiple choice menus. Users can access \ menus in either of two ways. They can ask for a window which \ displays all menu items or they can cycle through the items one \ at a time. \EOT\ Name = F1 -- HEADER Llabel = " F1 HEADER " Slabel = "F1 HEADR" Branch = Using help, Questionnaire Title = "F1 -- HEADER" Text = Use this screen-labeled key only if you're designing a \ questionnaire. It allows user questionnaire data, in the form of \ an ASCII file, to be electronically mailed to a specified \ address. This key brings up a form for entering that address. \ \EOT\ Name = F2 -- FORM Llabel = " F2 FORM " Slabel = "F2 FORM " Branch = Using help Title = "F2 -- FORM" Text = This screen-labeled key allows you to change the form label and \ form name, delete the form, add forms, and sort forms. The FORM \ key (F2) brings up a form for the current form label and name, \ and the following new screen-labeled keys: ADD FORM BEFORE (F1), \ ADD FORM AFTER (F2) , DELETE FORM (F3), and SORT FORMS (F4). Changing form labels and names. The first line you typed when \ sketching your form in the editor is used as the default form \ label (printed in the upper left border) and as the default form \ name (centered on the first line of the form). To change the form \ label or name, FORM (F2) brings up a menu with the current form \ label and name. Type the new label and/or name. In addition, you \ can give a name to the form that will be used only in the C \ source code--end-users will never see this name. Use of a \ variable name will improve C source code intelligibility. If you \ leave the variable name blank, the source code will identify that \ form by a number. Use the ENTER key to save your changes, EXIT \ to quit without saving changes. Adding or deleting forms. Use the FORM key (F2) to bring up \ the following new screen-labeled keys: ADD FORM BEFORE (F1), ADD \ FORM AFTER (F2) , DELETE FORM (F3). To delete the current form, \ hit the DELETE FORM key (F3). When you are returned to the main \ menu, the current form will be repainted on the screen, but never \ fear--it has been deleted. If you then use the PREVIOUS FORM and \ NEXT FORM keys, you'll see that the current form is gone. To add \ a new form, use either the ADD FORM BEFORE or ADD FORM AFTER \ keys. Both will put you back into your default editor to begin \ the new form creation process. Sorting forms. Once you have several forms, you may want to \ change their order (particularly if they will be used in \ questionnaire mode). This is facilitated if the forms have \ unique labels. To sort forms, use the FORM key (F2) in the main \ menu to bring up a new menu with a SORT FORMS key (F4). SORT \ FORMS produces a form with all of your form labels printed in \ their current order with current sequence numbers. To change \ their sequence, enter new sequence numbers for them. Use the \ ENTER key to save your changes, EXIT to quit without making the \ changes. \ \EOT\ Name = F3 -- COMMENTS Llabel = " F3 COMMENTS" Slabel = "F3 CMNTS" Branch = Using help, Questionnaire Title = "F3 -- COMMENTS" Text = This screen-labeled key brings up a form which allows you to add \ or edit comments (text without input fields). Comments are used \ primarily with the questionnaire mode, although their judicious \ use in other forms would improve readability. When adding \ comments, never use quotation marks. You'll need to take some \ special care to be sure the comments you add here appear on the \ finished form. The size of the form drawn by Formmaker is \ regulated by the location of input fields, not comments. \ Formmaker always places the upper left corner in the top left of \ the screen. The right and bottom margins vary depending on FIELD \ placement. To be sure any comments can be seen, the last line in \ a form should include a field, and the rightmost item in the form \ should also be a field. Use the ENTER key to save comments, EXIT \ to quit without saving. \ \EOT\ Name = F4 -- PREV FORM Llabel = " F4 PRV FORM" Slabel = "F4 PREV" Branch = Using help, F5 -- NEXT FORM Title = "F4 -- PREV FORM" Text = Use this screen-labeled key to move to the previous form. \EOT\ Name = F5 -- NEXT FORM Llabel = " F5 PRV FORM" Slabel = "F5 NEXT" Branch = Using help, F4 -- PREV FORM Title = "F5 -- NEXT FORM" Text = Use this screen-labeled key to move to the next form. \EOT\ Name = F6 -- FIELD Llabel = " F6 FIELD " Slabel = "F6 FIELD" Branch = Using help Title = "F6 -- FIELD" Text = Use this screen-labeled key when you want to define the type of \ input field, add a field-specific help message, change the \ current field size, label, or placement, delete the field, and \ add new fields. The FIELD key brings up a form for editing the current field and two new screen-labeled keys, ADD FIELD (F6) and \ DELETE FIELD (F7). All fields must have a label although the \ label can be "null," consisting of one blank. Quotation marks \ can't be used in field labels. Adding field-specific help messages. On the form you've \ designed, highlight the relevant field and hit FIELD (F6) to \ bring up the field form. Type a help message in the field \ labeled "Help." Defining the type of field. (Formmaker supports three types of \ fields: (1) free-entry, which allows the user to type any answer \ within length constraints, (2) menu-only, which requires the user \ to select one or more responses from a menu, and (3) mixed, which \ presents a menu and also allows the user to type an answer if no \ menu items apply.) You need to indicate whether users are \ restricted to menu items, or are free to write in responses. \ Highlight the relevant field and hit FIELD (F6) to bring up the \ field form. In the field labeled "Menu only", select YES if \ users are restricted to the menu items, NO if they can write in a \ response. Changing field or label placement or editing labels. Highlight \ the relevant field and hit FIELD (F6) to bring up the field form. \ To edit the label, type the new label in the appropriate field. \ To change field or label placement, enter new row and column \ values in the appropriate fields. The values must conform to \ these two rules: (1) The field column value (a number from 0-70 \ indicating where the field starts) plus the field width (the \ number indicating over how many columns the field extends) must \ be equal to or less than 70 (the maximum line-length in \ Formmaker), and (2) The field column value (a number from 0-70 \ indicating where the field starts) minus the label column value \ (a number from 0-70 indicating where the label starts) must at \ least equal the number of characters in the label. Adding fields. Highlight the field which preceeds the field you \ plan to add, and hit FIELD (F6). This brings up the new screen- \ labeled key, ADD FIELD (F6). Hitting ADD FIELD brings up a new \ field form. Follow directions above for adding help messages, \ menus, and indicating field and label placement. Deleting fields. Highlight the field you want to delete and hit \ FIELD (F6) to bring up a new screen labeled key DELETE FIELD \ (F7). Hit DELETE FIELD and the field you had highlighted will go \ away. \ \EOT\ Name = F7 -- MENU Llabel = " F7 MENU " Slabel = "F7 MENU" Branch = Using help Title = "F7 -- MENU" Text = This key brings up a form through which you can design the label, \ title and help message for a menu, and a screen-labeled key, EDIT \ ITEMS (F7), through which you can add menu items using your \ editor. You can create a form which is essentially only a menu \ by creating a dummy field with a null label, and then creating a \ menu for it. Menus can be multiple as well as single choice. \ Users can access menus in either of two ways. They can ask for a \ window which displays all menu items with a menu-specific label, \ title and help message, and they can cycle through items one by \ one as each is printed on the field blank. Any menu can be \ accessed in either way. Adding labels, titles and help messages to menus. Highlight the \ relevant field on the form and hit MENU (F7) to bring up a form \ with fields for entering a menu label (which appears in the menu \ border), title (which appears centered above the menu items) and \ help message. If you don't add a menu-specific help message, the \ field help message will be used as a default. Indicating single or multiple select menus. Users can be \ allowed to select only one or more than one item from a menu. To \ indicate your choice for a particular menu, highlight the \ relevant field in the form and hit MENU (F7) to bring up a form \ with a field labeled "Multiple?" Select the YES response if \ users can select more than one item from the menu, NO if only one \ selection is permitted. Adding or editing menu items. Highlight the field for which \ menu items are to be added (or changed) and hit MENU (F7) to \ bring up a screen-labeled key EDIT ITEMS (F7). Hitting the EDIT \ ITEMS key will put you into your default editor. Type the menu \ items one per line, or edit existing items as you normally would. \ (Use no quotation marks in menu items.) Save and exit from your \ editor as usual. Indicating menu column format. Menu items can be printed in one- \ column or several-column format. To indicate the number of \ columns, highlight the relevant field and hit MENU (F7) to bring \ up a form with a field for number of columns. Enter the desired \ number. \ \EOT\ Name = F8 -- SLK Llabel = " F8 SLK " Slabel = "F8 SLK" Branch = Using help Title = "F8 -- SLK" Text = SLK stands for screen-labeled keys. You can design screen- \ labeled keys which will appear when the compiled C-code is run. \ Formmaker will not give the keys their indicated functionality, \ but their appearance will help in evaluating screen design. \ Hitting SLK (F8) will bring up a form that simulates screen- \ labeled keys for both the console (two lines) and terminal (one \ line). Type your desired labels. Use the ENTER key to save your \ work, EXIT to quit without saving changes. \ \EOT\ Name = Sketching Forms Llabel = "Sketchng Forms" Slabel = "Sketch" Branch = Using help, F2 -- FORM Title = "Sketching Forms using Your Editor" Text = Each time you begin a new form, Formmaker will first put you in \ your default editor, which will hopefully be VI. You can then \ sketch the location of all labels, input fields, and comments \ (text without an associated input field). Since your editor will \ contain no hints on Formmaker's constraints, pay close attention \ to this section. Use only the first 12 lines. Using more than 12 will cause \ Formmaker to be ill in peculiar ways. (The line restriction \ allows screens designed with Formmaker to run on remote \ terminals.) Limit line length to 70 characters. End each line with a return \ (no word-wrap). Indicate input fields by underscores (_). You must have at \ least one field in your form, and each field must have a label. \ You can create null labels using spaces. Don't use quotation marks (")--they make Formmaker very ill. The first line will be used by Formmaker as both the default \ Form Label and Form Name. Later, when finishing the form, you \ can change one (or both). Use the next 11 lines for the actual \ form. (The line restriction allows forms to run on remote \ terminals.) If your form includes comments (text without input fields-- \ for example, directions), you'll need to take some special care to be \ sure comments appear on the finished form. The size of the form \ drawn by Formmaker is regulated by the location of input fields, \ not comments. Formmaker always places the upper left corner in \ the top left of the screen. The right and bottom margins vary \ depending on FIELD placement. To be sure any comments can be \ seen, the last line in a form should include a field, and the \ rightmost item in the form should also be a field. When your form is in good shape, save and exit VI as you \ normally do. Formmaker will paint that form and return you to \ the main environment with eight screen-labeled keys. \ \EOT\ Name = Sorting Forms Llabel = "Sorting Forms" Slabel = "Sorting" Branch = Using help, Questionnaire Title = "Sorting Forms" Text = Once you have several forms, you may want to change their order. \ This is facilitated if the forms have unique labels. To sort \ forms, use the FORM key (F2) in the main menu to bring up a new \ menu with a SORT FORMS key (F4). SORT FORMS produces a form with \ all of your form labels printed in their current order with \ current sequence numbers. To change their sequence, enter new \ sequence numbers for them. Use the ENTER key to save your \ changes, EXIT to quit without making the changes. \ \EOT\ Name = Start/Stop Llabel = " Start Stop" Slabel = "StrtStop" Branch = Using help Title = "Starting and Stoppping" Text = Installing Formmaker. Go into Administration, then into \ Software Setup, then into Install Software from Floppy. Follow \ directions from there. With version 2.0 of the operating system, \ you must logout and login again. You will have a Formmaker \ directory in the Filecabinet of the login used during the \ install. Creating new forms. Select CREATE from the command menu. Then \ select Form and name the new file. Exiting Formmaker. Use the EXIT key to exit Formmaker. You'll \ be prompted to save your changes. The CANCEL key will get you \ out without saving changes. Editing an existing forms file. Highlight the form name in your \ filecabinet, and use the OPEN command (not the ENTER command). \ When you open an existing file, Formmaker may announce the \ presence of an error. If that happens, do not exit in the normal \ way--Formmaker may destroy part of the file. Instead, do a \ shifted EXIT to get out with the file intact. \ \EOT\ Name = Questionnaire Llabel = "Question -naire" Slabel = "Question" Branch = Using help, F1 -- HEADER, F3 -- COMMENTS, Sorting Forms Title = "Questionnaire Option" Text = In addition to developing forms for UNIX PC applications, \ Formmaker can be used to design questionnaires and to prototype \ human interface designs. The forms you design can function as a \ questionnaire . Users complete the questionnaire on a UNIX PC, \ and their data can be mailed to you as an ASCII file. To use the questionnaire option, first develop a set of forms in \ Formmaker, using the SORT FORMs option to put them in the proper \ questionnaire order. Use the HEADER key to add mailing address \ information to get back user data. To run the forms as a \ questionnaire, highlight the form name and hit ENTER (not OPEN). \ Formmaker presents the forms in order and save responses in an \ ASCII file. A sample questionnaire, called WELCOME, was installed with \ Formmaker in the filecabinet of the installing login. WELCOME \ teaches users naive to the UNIX PC how to complete a \ questionnaire and provides a complete HELP facility for \ \EOT\ 0707070000020046651007770001460001440000010450660353343012200000700000000414test.h #include #include #include #include #include #include #include #include #include typedef struct st_hstring { char *text; int x; int y; struct st_hstring *next; } hstring; 0707070000020046641007770001460001440000010450670353343012400001400000004567test_subs.c#include "test.h" FILE *out; getform(pt_form, pt_hstring,pt_slk) form_t *pt_form; hstring *pt_hstring; char *pt_slk[]; { int err = 0; int done; hstring *curr_hstring; err = form(pt_form, F_BEGIN ); check(err); if(pt_hstring != NULL) { curr_hstring = pt_hstring; while(curr_hstring->text != NULL) { err = wgoto(pt_form->f_win, curr_hstring->x + 3, curr_hstring->y + 2); check(err); err = wprintf(pt_form->f_win,"%s",curr_hstring->text); check(err); curr_hstring = curr_hstring->next; } } check(err); err = wslk(pt_form->f_win,0,pt_slk[0],pt_slk[1],pt_slk[2]); check(err); done = 0; while(done == 0) { while(wgetsel() != pt_form->f_win) sleep(1); err = form(pt_form, F_INPUT); switch(err) { case Enter: case s_End: case Close: case Exit: case Cancl: case s_Cancl: case s_Help: case Help: done = 1; break; default: break; } } err = wdelete(pt_form->f_win); check(err); } save_answers(pt_form) form_t *pt_form; { field_t *ptf; field_t fdt; menu_t *ptm; mitem_t *ptmi; mitem_t mit; ptf = pt_form->f_fields; while(ptf->fl_name != NULL) { fprintf(out,"%s",ptf->fl_name); ptm = ptf->fl_menu; fprintf(out," \"%s\"", ptf->fl_value); if (ptm->m_flags == 0) { ptmi = ptm->m_items; while(strlen(ptmi->mi_name) > 0) { if (ptmi->mi_flags != 0) { if (strcmp(ptmi->mi_name, ptf->fl_value) != 0) fprintf(out," \"%s\"", ptmi->mi_name); } ptmi = ptmi + (mitem_t *) sizeof(mit); } } fprintf(out,"\n"); ptf = ptf + (field_t *) sizeof(fdt); } } start_up() { winit(); keypad(0,1); if ((out = fopen("test.ans", "w")) == NULL){ fprintf(stderr, "Could not open output file.\n"); sleep(5); wexit(); } } shut_down() { wprexec(); fclose(out); } check(ret) int ret; { if (ret < 0) { fprintf(stderr,"\n\tfatal error in window, code = %d\n", ret); sleep(5); wexit(); } } 0707070000020045101007770001460001440000010450720353343011500001100000000462Makefile# This is a makefile for shared libraries include $(MAKEINC)/Makepre.h test : test.o test_subs.o $(LD) $(LDFLAGS) $(SHAREDLIB) \ test.o test_subs.o /lib/libPW.a -o test test.o : test.c test.h $(CC) -g -c test.c test_subs.o : test_subs.c test.h $(CC) -g -c test_subs.c include $(MAKEINC)/Makepost.h 0707070000020045231007770001460001440000010450740355673263400001100000000044MAKEflopcat Files | cpio -ocBv > /dev/fp021 0707070000020045221007770001460001440000010450750355673267600001100000000047MAKEcpiocat Files | cpio -ocBv > FORM_MAKER+IN 0707070000020046101006660001460001440000010450770355673543600000700000000365Suffix Name=Form Suffix=:FM Description=*Form Default=Run Run=EXEC -d /usr/bin/attispoll %o Create=EXEC -d /usr/bin/fm Open=EXEC -d /usr/bin/fm %o Help=EXEC -d /usr/bin/uahelp -h /usr/lib/ua/attispoll.hlp -t "Form Help" Print=ERROR Can't print yet 0707070000020046101006660001460001440000010450770355673543600001300000000000TRAILER!!!t_form->f_win); check(err); } save_answers(pt_form) form_t *pt_form; { field_t *ptf; field_t fdt; menu_t *ptm; mitem_t *ptmi; mitem_t mit; ptf = pt_form->f_fields; while(ptf->fl_name != NULL) { fprintf(out,"%s",ptf->fl_name); ptm = ptf->fl_menu; fprintf(out," \"%s\"", ptf->fl_value); if (ptm->m_flags == 0) { ptmi = ptm->m_items; while(strlen(ptmi->mi_name) > 0) { if (ptmi->mi_flags != 0) { if (strcmp(ptmi->mi_name, ptf->fl_value) != 0) fprintf(out," \"%s\"", ptmi->mi_name); } ptmi = ptmi + (mitem_t *) sizeof(mit); } } fprintf(out,"\n"); ptf = ptf + (field_t *) sizeof(fdt); } } start_up() { winit(); keypad(0,1); if ((out = fopen("test.ans", "w")) == NULL){ fprintf(stderr, "Could not open output file.\n"); sleep(5); wexit(); } } shut_down() { wprexec(); fclose(out); } check(ret) int ret; { if (ret < 0) { fprintf(stderr,"\n\tfatal error in window, code = %d\n", ret); sleep(5); wexit(); } } 0707070000020045101007770001460001440000010450720353343011500001100000000462Makefile# This is a makefile for shared libraries include $(MAKEINC)/Makepre.h test : test.o test_subs.o $(LD) $(LDFLAGS) $(SHAREDLIB) \ test.o test_subs.o /lib/libPW.a -o test test.o : test.c test.h $(CC) -g -c test.c test_subs.o : test_subs.c test.h $(CC) -g -c test_subs.c include $(MAKEINC)/Makepost.h 0707070000020045231007770001460001440000010450740355673263400001100000000044MAKEflopcat Files | cpio -ocBv > /dev/fp021 0707070000020045221007770001460001440000010450750355673267600001100000000047MAKEcpiocat Files | cpio -ocBv > FORM_MAKER+IN 0707070000020046101006660001460001440000010450770355673543600000700000000365Suffix Name=Form Suffix=:FM Description=*Form Default=Run Run=EXEC -d /usr/bin/attispoll %o Create=EXEC -d /usr/bin/fm Open=EXEC -d /usr/bin/fm %o Help=EXEC -d /usr/bin/uahelp -h /usr/lib/ua/attispoll.hlp -t "Form Help" Print=ERROR Can't print yet 0707070000020046101006660001460001440000010450770355673543600001300000000000TRAILER!!!t_form->f_win); check(err); } save_answers(pt_form) form_t *pt_form; { field_t *ptf; field_t fdt; menu_t *ptm; mitem_t *ptmi; mitem_t mit; ptf = pt_form->f_fields; while(ptf->fl_name != NULL) { fprintf(out,"%s",ptf->fl_name); ptm = ptf->fl_menu; fprintf(out," \"%s\"", ptf->fl_value); if (ptm->m_flags == 0) { ptmi = ptm->m_items; wh