home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / lan / basnet / splflg.bas < prev   
BASIC Source File  |  1987-06-12  |  9KB  |  196 lines

  1. 100    GOSUB 10000    'set up the network access and library calls
  2.  
  3.  
  4. 1000    ' SET DEFAULT SPOOL FLAGS
  5. 1001    ' FIRST GET THE CURRENT DEFAULT SETTINGS
  6. 1002    REQ$ = STRING$(25,0): MODE% = 0
  7. 1004    DEF SEG= LIBSEG
  8. 1006    CALL SETSPL(REQ$,MODE%)
  9. 1008    DEF SEG
  10. 1010    CLS
  11. 1012    IF ASC(MID$(REQ$,1,1)) = 0 THEN STAT$ = "ENABLED" ELSE STAT$ = "DISABLED"
  12. 1013    PF% = ASC(MID$(REQ$,2,1))
  13. 1014        FF% = PF% MOD 16
  14. 1015        DELFILE% = (PF% - FF%) MOD 64
  15. 1016        TABENABLE% = (PF% - FF% - DELFILE%) MOD 128
  16. 1017        BANPAGE% = (PF% \ 128) * 128
  17. 1018     TABS% = ASC(MID$(REQ$,3,1))
  18. 1019    PTRNUM% = ASC(MID$(REQ$,4,1))
  19. 1020    NUMCOPS% = ASC(MID$(REQ$,5,1))
  20. 1021    FTYPE% = ASC(MID$(REQ$,6,1))
  21. 1022    BTEXT$ = MID$(REQ$,8,13)
  22. 1023    LPTR% = ASC(MID$(REQ$,22,1))
  23. 1024    TOUT! = CVI(MID$(REQ$,23,2))
  24. 1025    DEVICE% = ASC(MID$(REQ$,25,1))
  25. 1030    PRINT "******** DEFAULT SPOOL FLAGS ARE (WILL BE) ********
  26. 1035    PRINT "1."
  27. 1040    PRINT
  28. 1045    PRINT "2. Auto form feed:
  29. 1050    PRINT "3. Delete file after print:
  30. 1055    PRINT "4. Enable tab expansion: "
  31. 1060    PRINT "5. Print banner page: "
  32. 1065    PRINT
  33. 1070    PRINT "6. Tab size (1-20): "
  34. 1075    PRINT "7. Network printer #: "
  35. 1080    PRINT "8. Copies: "
  36. 1085    PRINT "9. Form type: "
  37. 1090    PRINT "10. Banner text (13 chars max): 
  38. 1095    PRINT "11. Local printer:"
  39. 1100    PRINT "12. Time out (1/18ths of seconds):"
  40. 1105    PRINT "13. Device close endspool:"
  41. 1110    PRINT "********************************************"
  42. 1115    LOCATE 2,4: PRINT STAT$ "    "
  43. 1116    LOCATE 4,20: IF FF% = 0 THEN PRINT "YES" ELSE PRINT "NO "
  44. 1117    LOCATE 5,29: IF DELFILE% = 0 THEN PRINT "NO " ELSE PRINT "YES"
  45. 1118    LOCATE 6,26: IF TABENABLE% = 64 THEN PRINT "YES" ELSE PRINT "NO " 
  46. 1119    LOCATE 7,23: IF BANPAGE% = 128 THEN PRINT "YES" ELSE PRINT "NO "
  47. 1120    LOCATE 9,21: PRINT TABS% SPC(20)
  48. 1121    LOCATE 10,23: PRINT PTRNUM% SPC(20)
  49. 1122    LOCATE 11,12: PRINT NUMCOPS% SPC(20)
  50. 1123    LOCATE 12,15: PRINT FTYPE% SPC(20)
  51. 1124    LOCATE 13,33: PRINT BTEXT$ SPC(20)
  52. 1125    LOCATE 14,20: PRINT LPTR% SPC(20)
  53. 1126    LOCATE 15,36: PRINT TOUT! SPC(20)
  54. 1127    LOCATE 16,28: IF DEVICE% = 0 THEN PRINT "YES" ELSE PRINT "NO "
  55. 1128    LOCATE 19,1: PRINT SPC(78): LOCATE 19,1
  56. 1129    INPUT "Select setting to change, <enter> to exit, or 'S'et: ",v$
  57. 1130    IF V$ = "" THEN GOTO 200
  58. 1132    IF V$ <> "s" AND V$ <> "S" THEN GOTO 1177
  59. 1133    IF STAT$ = "ENABLED" THEN REP$ = CHR$(0) ELSE REP$ = CHR$(1)
  60. 1134    REP$ = REP$ + CHR$(FF%+DELFILE%+TABENABLE%+BANPAGE%) + CHR$(TABS%)
  61. 1136    REP$ = REP$ + CHR$(PRTNUM%) + CHR$(NUMCOPS%) + CHR$(FTYPE%) + CHR$(0)
  62. 1137    REP$ = REP$ + BTEXT$ + STRING$(13-LEN(BTEXT$),0) + CHR$(0) + CHR$(LPTR%)
  63. 1138    REP$ = REP$ + CHR$(TOUT!\256) + CHR$(TOUT! MOD 256) + CHR$(DEVICE%)
  64. 1139    REP$ = CHR$(25)+CHR$(0) + REP$
  65. 1140    MODE% = 1
  66. 1145    DEF SEG = LIBSEG
  67. 1146    print rep$
  68. 1150    CALL SETSPL(REP$,MODE%)
  69. 1160    DEF SEG
  70. 1165    print "line 1165"
  71. 1175    INPUT "DEFAULT SPOOL FLAGS SET!! <enter> ",v$
  72. 1176    goto 1500
  73. 1177    print v%
  74. 1180    V% = VAL(V$)
  75. 1185    ON V% GOTO 1200,1210,1220,1240,1260,1280,1300,1320,1340,1360,1380,1400,1420
  76. 1190    GOTO 1115
  77. 1200    IF STAT$ = "ENABLED" THEN STAT$ = "DISABLED" ELSE STAT$ = "ENABLED"
  78. 1205    GOTO 1115
  79. 1210    IF FF% = 8 THEN FF% = 0 ELSE FF% = 8
  80. 1215    GOTO 1115
  81. 1220    IF DELFILE% = 32 THEN DELFILE% = 0 ELSE DELFILE% = 32
  82. 1230    GOTO 1115
  83. 1240    IF TABENABLE% = 64 THEN TABENABLE% = 0 ELSE TABENABLE% = 64
  84. 1250    GOTO 1115
  85. 1260    IF BANPAGE% = 128 THEN BANPAGE% = 0 ELSE BANPAGE% = 128
  86. 1270    GOTO 1115
  87. 1280    LOCATE 21,1: INPUT "New tab size: ",TABS%
  88. 1283    LOCATE 21,1: PRINT SPC(70)
  89. 1286    IF TABS% < 1 OR TABS% > 20 THEN 600
  90. 1290    GOTO 1115
  91. 1300    LOCATE 21,1: INPUT "Network printer #: ",PTRNUM%
  92. 1305    LOCATE 21,1: PRINT SPC(70)" "
  93. 1310    GOTO 1115
  94. 1320    LOCATE 21,1: INPUT "Number of copies to print: ",NUMCOPS%
  95. 1325    LOCATE 21,1: PRINT SPC(70)""
  96. 1330    GOTO 1115
  97. 1340    LOCATE 21,1: INPUT "Form type (0 - 255): ",ftype%
  98. 1345    LOCATE 21,1: PRINT SPC(70)
  99. 1350    GOTO 1115
  100. 1360    LOCATE 21,1: INPUT "Banner name (1-13 chars): ",BTEXT$
  101. 1365    LOCATE 21,1: PRINT SPC(70)
  102. 1375    GOTO 1115
  103. 1380    LOCATE 21,1: INPUT "Local printer (LPT 1,2, or 3): ",lptr%
  104. 1385    LOCATE 21,1: PRINT SPC(70)
  105. 1390    GOTO 1115
  106. 1400    LOCATE 21,1: INPUT "Time out value (1/18ths of sec.): ",tout!
  107. 1405    LOCATE 21,1: PRINT SPC(70)
  108. 1410    GOTO 1115
  109. 1420    IF DEVICE% = 0 THEN DEVICE% = 1 ELSE DEVICE% = 0
  110. 1430    GOTO 1115
  111.  
  112. 1500    END
  113.  
  114. 10000 '
  115. 10010 ' routines for network use
  116. 10020 '
  117. 10100 '  This file contains the routine names and
  118. 10101 '  offsets for the BASNET library
  119. 10110 XTNDOPN  =   0   'xtndopn(Mode%, Filename$, Handle%, ErrCode%)
  120. 10111 SETATTR  =   3   'setattr(Func%, Filename$, Attribute%, ErrCode%)
  121. 10112 EOJSTAT  =   6   'eojstat(Flag%)
  122. 10113 PRLH.LOG =   9   'PRLH.Log(FileHandle%,HiByteOffset%,LoByteOffset%,HiLockLen%,LoLockLen%,Flags%,TimeOut%,ErrCode%)
  123. 10114 PRLH.REL =  12   'PRLH.Rel(FileHandle%,HiByteOffset%,LoByteOffset%,ErrCode%)
  124. 10115 PRLH.CLR =  15   'PRLH.Clr(FileHandle%,HiByteOffset%,LoByteOffset%,Errcode%)
  125. 10116 PRLF.LOG =  18   'PRLF.Log(fcb%,HiByteOffset%,LoByteOffset%,HiLockLen%,LoLockLen%,Flags%,TimeOut%,ErrCode%)
  126. 10117 PRLF.REL =  21   'PRLF.Rel(fcb%,HiByteOffset%,LoByteOffset%,ErrCode%)
  127. 10118 PRLF.CLR =  24   'PRLF.Clr(fcb%,HiByteOffset%,LoByteOffset%,ErrCode%)
  128. 10119 PRLS.LCK =  27   'PRLS.Lck(Flags%,TimeOut%,ErrCode%)
  129. 10120 PRLS.REL =  30   'PRLS.Rel(ErrCode%)
  130. 10121 PRLS.CLR =  33   'PRLS.Clr(ErrCode%)
  131. 10122 OPENSEM  =  36   'OpenSem(Sema4$,SemaValu%,HiHandle%,LoHandle%,OpenCnt%,RetCode%)
  132. 10123 EXAMSEM  =  39   'ExamSem(HiHandle%,LoHandle%,SemaValu%,OpenCnt%,RetCode%)
  133. 10124 WAITSEM  =  42   'WaitSem(HiHandle%,LoHandle%,TimeOut%,RetCode%)
  134. 10125 SIGSEM   =  45   'SigSem(HiHandle%,LoHandle%,RetCode%)
  135. 10126 CLOSSEM  =  48   'ClosSem(HiHandle%,LoHandle%,RetCode%)
  136. 10127 SETLCK   =  51   'setlck(Func%,Mode%)
  137. 10128 BAKOUTS  =  54   'Bakouts(Func%,RetCode%)
  138. 10129 BTRANS   =  57   'btran(ReturnCode%, Mode%)
  139. 10130 ETRANS   =  60   'etrans(ReturnCode%)
  140. 10131 EXCLOG   =  63   'exclog(ReturnCode%, FcbAddr)
  141. 10132 EXCLCKS  =  66   'exclcks(ReturnCode%, Mode%)
  142. 10133 EXCULKF  =  69   'exculkf(ReturnCode%, FcbAddr)
  143. 10134 EXCULKS  =  72   'exculks(ReturnCode%)
  144. 10135 EXCCLRF  =  75   'excclrf(ReturnCode%, FcbAddr)
  145. 10136 EXCCLRS  =  78   'excclrs(ReturnCode%)
  146. 10137 RECLOG   =  81   'reclog(ReturnCode%, String$)
  147. 10138 RECLCK   =  84   'reclck(ReturnCode%, Mode%)
  148. 10139 RECULK   =  87   'reculk(ReturnCode%, Semaphore$)
  149. 10140 RECULKS  =  90   'reculks(ReturnCode%)
  150. 10141 RECCLR   =  93   'recclr(ReturnCode%, Semaphore$)
  151. 10142 RECCLRS  =  96   'recclrs(ReturnCode%)
  152. 10143 EOJ      =  99   'eoj(ReturnCode%)
  153. 10144 SYSOUT   = 102   'sysout(ReturnCode%)
  154. 10145 ALLOCR   = 105   'allocr(ReturnCode%, Resource%)
  155. 10146 DALLOCR  = 108   'dallocr(ReturnCode%, Resource%)
  156. 10147 VOLSTAT  = 111   'volstat(volume%, reply$)
  157. 10148 LOCDRV   = 114   'locdrv(NumDisks%)
  158. 10149 WSID     = 117   'wsid(ThisStationNum%)
  159. 10150 ERRMODE  = 120   'errmode(mode%)
  160. 10151 BCSMODE  = 123   'bcsmode(mode%)
  161. 10152 CTLSPL   = 126   'ctlspl(mode%)
  162. 10153 SPLREQ   = 129   'splreq(ErrCode%, RequestBlock$, Reply$)
  163. 10154 PIPREQ   = 132   'pipreq(ErrCode%, RequestBlock$, Reply$)
  164. 10155 DPATH    = 135   'dpath(ReturnCode%, RequestBlock$, Reply$)
  165. 10156 SYSLOG   = 138   'syslog(ReturnCode%, RequestBlock$, Reply$)
  166. 10157 FATTR    = 141   'fattr(ReturnCode%, FcbAddr, Attribute%)
  167. 10158 UPDFCB   = 144   'updfcb(RetCode%,FcbAddr)
  168. 10159 CPYFILE  = 147   'cpyfile(ReturnCode%, FcbSource, FcbDest, CountLow, CountHigh)
  169. 10160 NETTOD   = 150   'nettod(time$)
  170. 10161 CLSMODE  = 153   'clsmode(mode%)
  171. 10162 DRVMAP   = 156   'drvmap(ReturnFlags%, drive%)
  172. 10163 RETSHL   = 159   'retshl(RetCode%, Mode%)
  173. 10164 ASCLOG   = 162   'asclog(RetCode%, Asciiz$)
  174. 10165 ASCULKF  = 165   'asculkf(RetCode%, Asciiz$)
  175. 10166 ASCCLRF  = 168   'ascclrf(RetCode%, Asciiz$)
  176. 10167 GETPSN   = 171   'Get_PSN(StationNo%)
  177. 10168 GETSTA   = 174   'Get_STA(Mode%,Segment%,Offset%)
  178. 10169 SETSERV  = 177   'SetServ(Mode%,NewServ%,CurrServ%)
  179. 10170 MODSERV  = 180   'ModServ(Mode%,NewServ%,RetCode%)
  180. 10171 GETDRV   = 183   'GetDrv(Drive%)
  181. 10172 SETSPL   = 186   'setspl(Request$,mode%)
  182. 10173 LOGLCK   = 189   'loglck(
  183. 10200     '
  184. 10210     ' Assign the segment address for the library to the variable LibSeg
  185. 10220     DEF SEG = 0
  186. 10230     SUBOFF = PEEK(&H4F0)+(256*PEEK(&H4F1))
  187. 10240     SUBSEG = PEEK(&H4F2)+(256*PEEK(&H4F3))
  188. 10250     LIBSEG = SUBSEG
  189. 10400     '
  190. 10410     ' set the error mode so its more informative
  191. 10420     DEF SEG = LIBSEG
  192. 10430     NEWMODE% = 1
  193. 10440     CALL ERRMODE(NEWMODE%)
  194. 10450     DEF SEG
  195. 10999 RETURN
  196.