ÿ b :�Û MBASIC VERSION TO CREATE A .DAT FILE FOR USE WITH dGRAPH Qb:�Û FOR INTERACTIVE USE WITH dGRAPH, THE USE OF A SUBMIT FILE ISfb:�Û SUGGESTED. �b(:�Û ********* SUBMIT FILE *********Íb2:�Û MBASIC DGBAS.BAS ; LOAD MBASIC AND EXECUTE DGBAS.BAS c<:�Û ; HAVING ESTABLISHED A .DGF FILE BYFcF:�Û ; A COMMON NAME WITH ALL NECESSARY…cP:�Û ; OPTIONS SET, INVOKE DGRAPH FOR THEÄcZ:�Û ; PROCESSING AND PRINTING OF THE DATAîcd:�Û ; IN GRAPH FORM.dn:�Û DGRAPH X CHART,dx:�Û ******************************6d‚¡ ÿ:CdŒº BASE 1”d–† LABEL$(4),VALUE#(4,): :�ÛDimension arrays for label & valueåd † IOSPEC$(),IOTTY$(): :�ÛDim file layout and screen control7eª† FILNAM$(),TITLES$() ::�ÛDim filname and graph titles arrays?e´:�ÛGe¾:�Û…eÈ� ¾: :�ÛInitialize arrays.ËeÒ� ,: :�ÛGet control flow from userfÜ� H: :�ÛPut up screen.@fæ� &: :�ÛGet user input.}fð� .: :�ÛWrite to file.DAT¹fú� ô: :�ÛClear the screen.g�: :�ÛEnd of program. (possibly chain.)g:�Ûg:�Û g":�ÛPg,:�Û Get Control flow information from user.Xg6:�Ûbg@´ò OKšgJ � ô: :�ÛClear screen.ègT LIN ð  : COL ð  : � 0: :�ÛAssign coords. and position cursor.!h^ …;"Enter Number of Values ( 1-4 ) ==> ",NBRVALKhh ‹ NBRVAL ñ  ø NBRVAL ï  ‰ Tohr LIN ð  : COL ð  : � 0¾h| …;"Enter Titles or use Defaults ( 1-Titles, 0-Default ) ==> ",TITLESèh† ‹ TITLES ñ  ø TITLES ï  ‰ r6i� LIN ð  : COL ð  : � 0: :�ÛAssign coords. and position cursor.piš …;"Chain to dGRAPH ( 1-Yes, 0-No ) ==> ",DGRAPHši¤ ‹ DGRAPH ñ  ø DGRAPH ï  ‰ šèi® LIN ð : COL ð  : � 0: :�ÛAssign coords. and position cursor.8j¸ ± …;"Enter Name of .DAT file to save ( 8 char. max ) ==> ";FILNAM$()†j LIN ð : COL ð  : � 0: :�ÛAssign coords. and position cursor.ÃjÌ …;"Do You Wish To Correct ( 1-Yes, 0-No ) ==> ";OKÉjÖµíjà ‹ TITLES Ï � X :¢ � ø4kêFILNAM$() ð FILNAM$() ò ".DAT" ::�ÛConcat. file extension.pkô� ô: :�ÛClear the screen.vkþŽ~k:�Û†k:�ÛŽk:�Û¥k&:�Û Get user input­k0:�Ûûk:LIN ð : COL ð : � 0: :�ÛAssign coords. and position cursor. lDINPUSR ð lNLINNBR ð _lX´ò ( INPUSR ñð MAXINPT ): :�ÛSet loop for max. labels.§lb ‘ ÿ“( INPUSR );: :�ÛDisplay current record number.Üll ± …;"> ";LABEL$(INPUSR): :�ÛGet a label.mv ‹ LABEL$( INPUSR ) ð "" Ï  : :�ÛExit condition.&m€ � 4rmŠ VALNBR ð : :�ÛInit. while loop for values.´m” ‘ Ô);: :�ÛPosition for first input.Õmž ´ò ( VALNBR ñð NBRVAL ) n¨ LIN ð LINNBR ò : COL ð VALNBR ô $n² � 0:cn¼ …;"",VALUE#( INPUSR,VALNBR ): :�ÛGet value.™nÆ LIN ð LINNBR ò : COL ð VALNBR ô ²nÐ � 0:ìnÚ ‘ Ù IOSPEC$();VALUE#( INPUSR,VALNBR );oä VALNBR ð VALNBR ò oî µ:oø INPUSR ð INPUSR ò |o ‹ LINNBR ñð  Ï LINNBR ð LINNBR ò :‘ :¢ � H:LINNBRð‚o µŒo� ô’o Žšo*:�Û¢o4:�Ûªo>:�ÛÁoH:�Û Put up screen.ÉoR:�ÛÓo\� ôëof‘ " Labels ";úopVALNBR ð pz´ò ( VALNBR ñð NBRVAL )9p„ ‘ Ô) ò TITLES$(VALNBR);JpŽ ‘ Ô);hp˜ VALNBR ð VALNBR ò np¢µ}p¬VALNBR ð ƒp¶‘�pÀ‘ " ------ ";¹pÊ´ò ( VALNBR ñð NBRVAL )ÑpÔ ‘ "--------";âpÞ ‘ Ô);qè VALNBR ð VALNBR ò qòµ"qüLIN ð : COL ð : � 0(qŽ0q:�Û8q:�Û@q$:�Ûqq.:�Û Write data inputted by user to the file.yq8:�Û�qB:�Û‹qL� ô§qVLIN ð  :COL ð :� 0Èq`‘ "Saving File "òFILNAM$();àqj¿ "O",#,FILNAM$()ûqt‚ ASSIGN ð  Î MAXINPT%r~ ‘#,Ù IOSPEC$();LABEL$( ASSIGN );@rˆ ‚ VALS ð  Î MAXVALor’ ‘#,Ù IOSPEC$();VALUE#(ASSIGN,VALS);ƒrœ ‘#,ÿ–();‘r¦ ƒ VALSžr°ƒ ASSIGNärº� : :�ÛWRITE OTHER INFO TO FILEìrÄÃ#+sÎ� ô: :�ÛClear the screen.1sØŽ9sâ:�ÛAsì:�ÛIsö:�Û™s:�Û Write nbr entries, type of label info. and nbr. of values to .DAT file.¡s :�Û°s‚ Ið Î Bús‘#,ÿ–(); ::�ÛPosition via nulls to correctCt(:�Û Location in .DAT file.Kt2ƒ I™t<‘#,ÿ–(INPUSR ó ); ::�ÛPut to file nbr. of typed entries.ätF‘#,ÿ–(); ::�ÛPut to file type code for other.3uP‘#,ÿ–(NBRVAL); ::�ÛPut to file number of values chosen.AuZ‚ Ið Î ‡ud‘#,ÿ–(); ::�ÛSkip to next file position.�unƒ I�ux‚ Ið Î æu‚ ‘#,Ù IOSPEC$();TITLES$(I); ::�ÛWrite out the titles to the .DAT÷uŒ ‘#,ÿ–();ÿu–ƒ Iv Ž vª:�Ûv´:�Û=v¾:�Û Array Initialization Procedure.ƒvÈIOSPEC$()ð"\ \" ::�ÛFile layout for label$()ÊvÒIOSPEC$()ð"##########.##" ::�ÛFile layout for value#(,)wÜIOSPEC$()ð"\ \" ::�ÛFor writing titles to file.fwæIOSPEC$()ð"########.##": :�ÛScreen Image for re-display of vals²wðIOSPEC$()ð"\\": :�ÛNull Byte image for file .DATºwú:�ÛxIOTTY$()ðÿ–() ò ÿ–(*): :�ÛClear screen sequence for TelevideoZx :�ÛModel 925. (substitute accordingly)¡xIOTTY$()ðÿ–() ò ÿ–(=): :�ÛPosition cursor sequence foróx":�Û Televideo model 925 (subst. accord)y,‚ I ð  Î &y6 NULFILL$ ð NULFILL$ ò ÿ–().y@ƒ IyJMAXVAL ð : :�ÛMaximum Number of points per labelÇyTMAXINPT ð 4 ::�ÛMaximum number of labelsz^NBRVAL ð : :�ÛUser input for Number of Values.hzhVALNBR ð : :�ÛLoop variable to track values input·zrASSIGN ð : :�ÛLoop variable for write to file.{|VALS ð : :�ÛLoop variable for values write.U{†INPUSR ð : :�ÛLoop variable for tracking input.¥{�LINNBR ð : :�ÛLoop variable for screen display.÷{šOFFSET ð  : :�ÛTelevideo Model 925 offset for crtB|¤OK ð : :�ÛBoolean test for while loop.Ž|®LIN ð : :�ÛUsed for positioning cursor.Ú|¸COL ð : :�ÛUsed for positioning cursor.+}ÂDGRAPH ð : :�ÛBoolean test for chain to dGRAPH.s}ÌLABLEN ð  ::�Û MAX length of label inputy}ÖŽ�}à:�Û‰}ê:�ÛÄ}ô:�Û Clear screen sequence ( substitute accordingly ).Ì}þ:�ÛÞ}‘ IOTTY$(); ä}Žì}:�Ûô}&:�Û1~0:�Û Position cursor sequence ( substitute accordingly ).9~::�Ûr~D‘ IOTTY$(); ÿ–( LIN ò OFFSET ); ÿ–( COL ò OFFSET );x~NŽ›~X:�Û Get graph titles from user£~b:�Û«~l:�Ûµ~v� ôÒ~€LIN ð  : COL ð : � 0å~Š‚ Ið Î NBRVAL ” MSG$ð" Enter Title "òÿ“(I)5ž MSG$ðMSG$ ò " ( 8 char. max. )==> "V¨ ‘ MSG$;:± …;" ";TITLES$(I)v²TITLES$(I)ðÿ�(TITLES$(I),)~¼ ‘†Æƒ I�Ð� ô–ÚŽžä:�Û¦î:�ÛÇø:�Û Set default graph titlesàTITLES$()ð"VALUE 1"ù TITLES$()ð"VALUE 2"€TITLES$()ð"VALUE 3"+€ TITLES$()ð"VALUE 4"1€*Žc€4:�Û Determine how many nulls to put to label$…€> HOWMUCH ð ÿ’(LABEL$(INPUSR))¥€H BALANCE ð HOWMUCH ó LABLENÉ€R ‹ BALANCE ï  Ï � p :¢ � Žô€\ LABEL$(INPUSR)ðLABEL$(INPUSR) ò ÿ–()û€f Ž�p:�Û label$ > 8<�z LABEL$(INPUSR)ðÿ�(LABEL$(INPUSR),LABLEN)C�„ Ž�Ž LABEL$(INPUSR)ðLABEL$(INPUSR)òÿƒ(NULFILL$,,HOWMUCH)†�˜ Ž> 8<�z LABEL$(INPUSR)ðÿ�(LABEL$(INPUSR),LABLEN)C�„ Ž�Ž