home *** CD-ROM | disk | FTP | other *** search
- 13000 A$="Use ctl-K to abort, ctl-S to pause."
- 13020 REM
- 13040 REM ***PRINT STRING FROM A$ ON CONSOLE***
- 13060 REM
- 13080 IF SAV$<>"" AND A1$<>"" THEN A1$="":RETURN
- 13100 IF A1$<>"" THEN A$=A1$:A1$=""
- 13120 FOR ZZ0=1 TO LEN(A$)
- 13130 PRINT MID$(A$,ZZ0,1);
- 13140 BI=ASC(INKEY$+" "):IF BI<>19 THEN 13150
- 13145 BI=ASC(INKEY$+CHR$(128)):IF BI=128 THEN 13145
- 13150 IF BI=11 THEN BK=-1:IF N=0 AND RIGHT$(A$,1)<>"?" THEN A$=LEFT$(A$,ZZ0):GOTO 13170
- 13160 NEXT ZZ0
- 13170 A=A+LEN(A$)
- 13180 IF N=1 OR RIGHT$(A$,1)="?" THEN PP$=A$:GOTO 13200
- 13190 A=A+2:PRINT
- 13200 IF N$+O$="SYSOP" AND INP(255)=1 THEN LPRINT A$;:
-
- IF N=0 AND RIGHT$(A$,1)<>"?" THEN LPRINT
- 13220 A$="":N=0
- 13240 RETURN
- 13260 REM
- 13280 REM ***ACCEPT STRING INTO B$ FROM CONSOLE***
- 13300 REM
- 13320 IF BEL AND SAV$="" THEN PRINT CHR$(7);
- 13340 B$="":BK=0
- 13360 IF SAV$="" THEN GOSUB 20500:SAV$=ZZ1$
- 13380 SP=INSTR(SAV$,";"):IF SP=0 THEN B$=SAV$:SAV$="":GOTO 13420
- 13400 B$=LEFT$(SAV$,SP-1):SAV$=MID$(SAV$,SP+1)
- 13420 IF LEN(B$)=0 THEN RETURN
- 13440 IF C=0 THEN 13480
- 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
- 13480 IF LEN(B$)<62 THEN 13580
- 13500 A$="Input line too long - would be truncated to:":GOSUB 13020
- 13520 B$=LEFT$(B$,61):PRINT B$
- 13540 LINE INPUT "Retype line (Y/N)?";QQ$:QQ$=LEFT$(QQ$,1)
- 13560 IF QQ$="Y" OR QQ$="y" THEN PRINT PP$;:SAV$="":GOTO 13260
- 13580 D=D+LEN(B$):RETURN
- 13600 RETURN
- 20500 REM
- 20510 REM STRING INPUT WITH ^C & OTHER CTRL CHAR TRAPPING
- 20520 REM
- 20530 REM SLENGTH=LENGTH OF STRING
- 20540 REM ZZ0$=LAST CHAR TYPED IN
- 20550 REM ZZ1$=STRING BEING BUILT
- 20560 REM ZZ0=ASCII VALUE OF ZZO$
- 20570 REM
- 20580 REM THIS ROUTINE SUPPORTS ^R,^X,^U,<BS> AND <DEL>
- 20590 REM ALL OTHER CONTROL CHARACTERS ARE IGNORED.
- 20600 REM
- 20610 REM WRITEN BY JAMES UNDERWOOD (N6CFI) 12/5/81
- 20620 REM (INTENDED FOR RBBS USE TO PREVENT ^C EXIT)
- 20630 REM
- 20640 SLENGTH=0
- 20650 ZZ1$=""
- 20660 ZZ0$=INPUT$(1)
- 20670 ZZ0=ASC(ZZ0$) AND 127:REM STRIP PARITY
- 20680 IF (ZZ0=&H7F) OR (ZZ0=8) THEN IF SLENGTH=0 THEN PRINT "#":GOTO 20790
- 20690 IF ZZ0=&H15 THEN PRINT "^U":GOTO 20790
- 20700 IF ZZ0=&H18 THEN FOR ZZ2=1 TO LEN(ZZ1$):PRINT (CHR$(8)+" "+CHR$(8));:NEXT ZZ2:GOTO 20640
- 20710 IF ZZ0=8 THEN PRINT (CHR$(8)+" "+CHR$(8));
- 20720 IF ZZ0=&H7F THEN PRINT ("\"+RIGHT$(ZZ1$,1)+"\");
- 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$;
- 20740 IF (ZZ0=8) OR (ZZ0=&H7F) THEN SLENGTH=SLENGTH-1:ZZ1$=LEFT$(ZZ1$,SLENGTH):GOTO 20660
- 20750 IF ZZ0=&H12 THEN PRINT "^R":PRINT PP$+ZZ1$;:GOTO 20660
- 20760 IF ZZ0=13 OR ZZ0=10 THEN PRINT:RETURN
- 20770 IF ZZ0<32 AND ZZ0<>7 THEN 20660
- 20780 ZZ1$=ZZ1$+ZZ0$:SLENGTH=SLENGTH+1:PRINT ZZ0$;:GOTO 20660
- 20790 IF BEL THEN PRINT CHR$(7)+PP$;:GOTO 20640:ELSE PRINT PP$;:GOTO 20640
- Z1$+ZZ0$:SLENGTH=SLENGTH+1:PRINT ZZ0$;:GOTO 20660
- 20790 IF BEL THEN PRINT CHR$(7)+PP$;:GOTO 20640:ELSE