home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol112 / rbbs-i / o.nqw / RBBS-I_O.NEW
Encoding:
Text File  |  1985-02-10  |  2.9 KB  |  69 lines

  1. 13000 A$="Use ctl-K to abort, ctl-S to pause."
  2. 13020 REM
  3. 13040 REM ***PRINT STRING FROM A$ ON CONSOLE***
  4. 13060 REM
  5. 13080 IF SAV$<>"" AND A1$<>"" THEN A1$="":RETURN
  6. 13100 IF A1$<>"" THEN A$=A1$:A1$=""
  7. 13120 FOR ZZ0=1 TO LEN(A$)
  8. 13130 PRINT MID$(A$,ZZ0,1);
  9. 13140 BI=ASC(INKEY$+" "):IF BI<>19 THEN 13150
  10. 13145 BI=ASC(INKEY$+CHR$(128)):IF BI=128 THEN 13145
  11. 13150 IF BI=11 THEN BK=-1:IF N=0 AND RIGHT$(A$,1)<>"?" THEN A$=LEFT$(A$,ZZ0):GOTO 13170
  12. 13160 NEXT ZZ0
  13. 13170 A=A+LEN(A$)
  14. 13180 IF N=1 OR RIGHT$(A$,1)="?" THEN PP$=A$:GOTO 13200
  15. 13190 A=A+2:PRINT
  16. 13200 IF N$+O$="SYSOP" AND INP(255)=1 THEN LPRINT A$;:
  17.  
  18.          IF N=0 AND RIGHT$(A$,1)<>"?" THEN LPRINT
  19. 13220 A$="":N=0
  20. 13240 RETURN
  21. 13260 REM
  22. 13280 REM ***ACCEPT STRING INTO B$ FROM CONSOLE***
  23. 13300 REM
  24. 13320 IF BEL AND SAV$="" THEN PRINT CHR$(7);
  25. 13340 B$="":BK=0
  26. 13360 IF SAV$="" THEN GOSUB 20500:SAV$=ZZ1$
  27. 13380 SP=INSTR(SAV$,";"):IF SP=0 THEN B$=SAV$:SAV$="":GOTO 13420
  28. 13400 B$=LEFT$(SAV$,SP-1):SAV$=MID$(SAV$,SP+1)
  29. 13420 IF LEN(B$)=0 THEN RETURN
  30. 13440 IF C=0 THEN 13480
  31. 13460 FOR ZZ=1 TO LEN(B$):MID$(B$,ZZ,1)=CHR$(ASC(MID$(B$,ZZ,1))+32*(ASC(MID$(B$,ZZ,1))>96)):NEXT ZZ
  32. 13480 IF LEN(B$)<62 THEN 13580
  33. 13500 A$="Input line too long - would be truncated to:":GOSUB 13020
  34. 13520 B$=LEFT$(B$,61):PRINT B$
  35. 13540 LINE INPUT "Retype line (Y/N)?";QQ$:QQ$=LEFT$(QQ$,1)
  36. 13560 IF QQ$="Y" OR QQ$="y" THEN PRINT PP$;:SAV$="":GOTO 13260
  37. 13580 D=D+LEN(B$):RETURN
  38. 13600 RETURN
  39. 20500 REM
  40. 20510 REM STRING INPUT WITH ^C & OTHER CTRL CHAR TRAPPING
  41. 20520 REM
  42. 20530 REM SLENGTH=LENGTH OF STRING
  43. 20540 REM ZZ0$=LAST CHAR TYPED IN
  44. 20550 REM ZZ1$=STRING BEING BUILT
  45. 20560 REM ZZ0=ASCII VALUE OF ZZO$
  46. 20570 REM
  47. 20580 REM THIS ROUTINE SUPPORTS ^R,^X,^U,<BS> AND <DEL>
  48. 20590 REM ALL OTHER CONTROL CHARACTERS ARE IGNORED.
  49. 20600 REM
  50. 20610 REM WRITEN BY JAMES UNDERWOOD (N6CFI) 12/5/81
  51. 20620 REM (INTENDED FOR RBBS USE TO PREVENT ^C EXIT)
  52. 20630 REM
  53. 20640 SLENGTH=0
  54. 20650 ZZ1$=""
  55. 20660 ZZ0$=INPUT$(1)
  56. 20670 ZZ0=ASC(ZZ0$) AND 127:REM STRIP PARITY
  57. 20680 IF (ZZ0=&H7F) OR (ZZ0=8) THEN IF SLENGTH=0 THEN PRINT "#":GOTO 20790
  58. 20690 IF ZZ0=&H15 THEN PRINT "^U":GOTO 20790
  59. 20700 IF ZZ0=&H18 THEN FOR ZZ2=1 TO LEN(ZZ1$):PRINT (CHR$(8)+" "+CHR$(8));:NEXT ZZ2:GOTO 20640
  60. 20710 IF ZZ0=8 THEN PRINT (CHR$(8)+" "+CHR$(8));
  61. 20720 IF ZZ0=&H7F THEN PRINT ("\"+RIGHT$(ZZ1$,1)+"\");
  62. 20730 IF ZZ0=3 THEN PRINT "^C":PRINT:PRINT "Now Now, It's not nice to hit ^C":PRINT STRING$(3,7):PRINT PP$+ZZ1$;
  63. 20740 IF (ZZ0=8) OR (ZZ0=&H7F) THEN SLENGTH=SLENGTH-1:ZZ1$=LEFT$(ZZ1$,SLENGTH):GOTO 20660
  64. 20750 IF ZZ0=&H12 THEN PRINT "^R":PRINT PP$+ZZ1$;:GOTO 20660
  65. 20760 IF ZZ0=13 OR ZZ0=10 THEN PRINT:RETURN
  66. 20770 IF ZZ0<32 AND ZZ0<>7 THEN 20660
  67. 20780 ZZ1$=ZZ1$+ZZ0$:SLENGTH=SLENGTH+1:PRINT ZZ0$;:GOTO 20660
  68. 20790 IF BEL THEN PRINT CHR$(7)+PP$;:GOTO 20640:ELSE PRINT PP$;:GOTO 20640
  69. Z1$+ZZ0$:SLENGTH=SLENGTH+1:PRINT ZZ0$;:GOTO 20660
  70. 20790 IF BEL THEN PRINT CHR$(7)+PP$;:GOTO 20640:ELSE