A-Z ,,,,,,,,T,SKIPPARS,F,SEARC, ,,N,P,P,P,P,P,,,T,T,(),(),(), SEARCHWOR(),SEARCHFIEL(),SKIPWOR(),LOOKFIEL(),D(),,F S(),()* ( );    TERM DEPT"1234567890" "DCFORM % by Dan Dugan -- public domainD$"Design your file format on paper first, using forms provided.D."To change you have to re-enter all data under same file name.V8"Position the paper so the printhead is at the upper left corner of the paper.B"Set the TOF switch.@L"Would you like the program to type you a blank form for+V"designing a 24 x 80 screen? (n/y) ";(`v() ( ) "n"(j  "n"  next formt "y"  ~ L TYPE SCREEN FORM  SET PRINTER% ();();( );  11/in( ();();();  vert spc ( ();();();  margin 5, ();"9";( );  set margin & CR8"DIMS CFORM screen design form for file ";% (0)"Format name:"(C)"Date: ();   ();"(); (); "1234567890"    ;(2<"=========+"F  P "## "; Z ();d  n ;x  ,"(This form is typed 11/in, HMI = 9) ( )  FFV "Would you like the program to type you a format specification form? (n/y) ";(v() ( ) "n"/  "n"   entry of data "y" b  0 DESCRIPTION OF VARIABLES GENERAL STUFF"Format file name", FO$"Author, date", FFD$""Top Margin lines", TM, LTM&"Left Margin spaces", (na), LLM Width, SW, LW&"Records/screen or page", RS, RP(""Conditional page line", (na), LLP1,"120ths of inch per space (10=12/in)", HMI-6"48ths of inch per line (8=6/in)", VMIM@"(NOT IMPLEMENTED YET) Field separator chars. (use ,'s, 0 at end)",FSC$BJ"Screen heading line 1, space at end actuates page no.",HL1$#T"Screen heading line 2", HL2$#^"Screen heading line 3", HL3$4h"Printer heading line 1, ditto page no.",LHL1$&r"Printer heading line 2", LHL2$&|"Printer heading line 3", LHL3$8"Blank lines after heading (0 or number)", HB, LHB RECORD NUMBER."Record no. mode (0=off, 1=on)", RM, LRM*"Rec. no. Location Line", RLL, LRLL+"Rec. no. Location Column", RLC, LRLC/"No. blank lines after number", RNB, LRNB SEQUENCE OF FIELDS*"Field no.'s in seq, 0 at end", SQ()-"no. blank lines after record", EB, LEB EACH FIELD,"Field name mode (0/1/2)", FM(), LFM())"Screen field name (mode 2)", F2$(),"Printer field name (mode 2)", LF2$()*"Name Location Line", NLL(), LNLL(),"Name Location Column", NLC(), LNLC()2"No. blank lines after name", FMB(), LFMB()*&"Data Location Line", DLL(), LDLL(),0"Data Location Column", DLC(), LDLC()0:"Screen numeric PRINT USING string", PU$()3D"Printer numeric PRINT USING string", LPU$()=N"Field length (0 for random, -1 to skip)", FL(), LFL()1X"no. blank lines after field", FB(), LFB()b PRINT BLANK FORM l SET PRINTER%v ();();( );  12/in( ();();(); vert 6/in' ();();(); margin 6# ();"9";( ); set, CR(,_)T(,_)    SUBROUTINES  , ,,$  (()  (.) T<  (()  (.) T (5)  (=) T%  (()  (.)       BEGIN PRINTING # "CFORM for file "0*"DESCRIPTION"(()"SCREEN"(5)"PRINTER"4  >  HR    \3f"The next two items refer to the Diablo only:p  8z   (5)  (=) (_);(_);(_)    A  " ("")"   T;  A  " ("")"   T;   C ()"(If Location Line number is 0, then output will scroll.B ()"Use a 'blank line' for CR/LF after last field on line.+"Specifications for each record:"          L$  "Specifications for each field in record (fill in names in seq.):".  N8  ( )B  (F,"*")/L "Format instructions for (field name)" V  "`     j    ?t  "(PRINT USING strings follow MBASIC rules)""~            ENTER DATA 0 "Do you want to enter data now? (y/n) ";( v() ( ) "y"  "n"   "y"  2 "ENTER DATA FOR NEW (OR REVISED) FORMAT" <   subroutines/   (()  (.); two var?   (()  (.);  with next line makes 3 (5)  (;);!   "? ";,-(  ;   ,;2  BEGIN ENTRY <     file name%F  b   UCV P "O",,D()".DFO" Z ,&d  date read back as LINEn   x (    +   (5)  (;);  , ,   "? "; "" "0" ,"    heading linesH  " ("")"   T;"123456789"c ()  ";" () ( );( ); , (    (    dummy readF "As many fields as you want may be shown/printed in any order:1" "Enter number of first field to be printed"6, "(enter 0 as 'next' after last field) ";R6 ,;S()  ^  K saves # fields for below6@ "number of next field to be printed ";,J  , ^  includes CR0T S(),; @ ^  ( h   r H| "Format instructions for field"S()"- "(S()) (  mode in D & E  ,    ,      (        (    FINISH  "Recorded./ "Do you want to run CFORM again? (n/y) ";( v() ( ) "n"  "n" &  "y" L   +& "Wait while re-loading DEDIT program.%0 ();();( );  12/in): ();();();  vert 6/in(D ();();();  margin 5*N ();"9";( );  set marg & CRX D()"DEDIT",b  (SUB) UCV l ""v  () " " ((,,))< ` { (,,)( )  # (,,)(,,)  ((,,))< ` { (,,)( )  # (,,)(,,)