Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape18a_acorn_eu_1991_january.wav » R.TextChk

R.TextChk

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape18a_acorn_eu_1991_january.wav
Filename: R.TextChk
Read OK:
File size: 0380 bytes
Load address: FFFF1900
Exec address: FFFF802B
Duplicates

There are 2 duplicate copies of this file in the archive:

File contents
   10REM Sentence Checker
   20REM by Graham Kendall
   30REM (c) The Micro User
   40REM January 1991
   50REPEAT:PROCinit:CLS:PROChead:PROCcn("Please input your sentence"+CHR$(&0A)+CHR$(&0D),10):INPUT LINE Inp$:PROCcvrt:ans%=FNask:UNTIL ans%=FALSE:END
   60DEF PROCinit:Prev$="":Work$="":OutSent$="":ENDPROC
   70DEF PROCcvrt:FOR I%=1 TO LEN(Inp$):p$=MID$(Inp$,I%,1):IF (Prev$=". ") OR (RIGHT$(Prev$,1)=".") OR (I%=1) THEN PROCCheckCap ELSE PROCCheckSmall
   80OutSent$=OutSent$+p$:Prev$=RIGHT$((Prev$+p$),2):NEXT:CLS:PROChead:PROCcn("Sentence now looks like this",6):PROCcn(STRING$(28,"="),7):PROCcn(OutSent$,9):PROCspace:ENDPROC
   90DEF PROCCheckSmall:IF (ASC(p$)>&40) AND (ASC(p$)<&5B) THEN p$=CHR$(ASC(p$)OR&20):ENDPROC ELSE ENDPROC
  100DEF PROCCheckCap:IF (ASC(p$)>&60) AND (ASC(p$)<&7B) THEN p$=CHR$(ASC(p$)EOR&20):ENDPROC ELSE ENDPROC
  110DEF FNask:REPEAT CLS:PROChead
  120PROCcn("Do you want to input another sentence",10):A%=INSTR("YyNn",GET$)
  130UNTIL A%>0:IF A%=1 OR A%=2 THEN A%=TRUE:CLS:=A% ELSE A%=FALSE:CLS:=A%
  140DEF PROCcn(t$,Y%):LOCAL X%:X%=19-LENt$/2:PRINTTAB(X%,Y%)t$:ENDPROC
  150DEF PROChead:PROCcn("SENTENCE CHECKER",2):ENDPROC
  160DEF PROCspace:PROCcn("Press Space to continue",24):REPEAT UNTIL GET=32:ENDPROC

� Sentence Checker
� by Graham Kendall
� (c) The Micro User
(� January 1991
2j�:�init:�:�head:�cn("Please input your sentence"+�(&0A)+�(&0D),10):� � Inp$:�cvrt:ans%=�ask:� ans%=�:�
<+� �init:Prev$="":Work$="":OutSent$="":�
Fo� �cvrt:� I%=1 � �(Inp$):p$=�Inp$,I%,1):� (Prev$=". ") � (�Prev$,1)=".") � (I%=1) � �CheckCap � �CheckSmall
P�OutSent$=OutSent$+p$:Prev$=�(Prev$+p$),2):�:�:�head:�cn("Sentence now looks like this",6):�cn(�28,"="),7):�cn(OutSent$,9):�space:�
ZE� �CheckSmall:� (�(p$)>&40) � (�(p$)<&5B) � p$=�(�(p$)�&20):� � �
dC� �CheckCap:� (�(p$)>&60) � (�(p$)<&7B) � p$=�(�(p$)�&20):� � �
n� �ask:� �:�head
xA�cn("Do you want to input another sentence",10):A%=�"YyNn",�)
�2� A%>0:� A%=1 � A%=2 � A%=�:�:=A% � A%=�:�:=A%
�.� �cn(t$,Y%):� X%:X%=19-�t$/2:�X%,Y%)t$:�
�'� �head:�cn("SENTENCE CHECKER",2):�
�9� �space:�cn("Press Space to continue",24):� � �=32:�
�
00000000  0d 00 0a 16 f4 20 53 65  6e 74 65 6e 63 65 20 43  |..... Sentence C|
00000010  68 65 63 6b 65 72 0d 00  14 17 f4 20 62 79 20 47  |hecker..... by G|
00000020  72 61 68 61 6d 20 4b 65  6e 64 61 6c 6c 0d 00 1e  |raham Kendall...|
00000030  18 f4 20 28 63 29 20 54  68 65 20 4d 69 63 72 6f  |.. (c) The Micro|
00000040  20 55 73 65 72 0d 00 28  12 f4 20 4a 61 6e 75 61  | User..(.. Janua|
00000050  72 79 20 31 39 39 31 0d  00 32 6a f5 3a f2 69 6e  |ry 1991..2j.:.in|
00000060  69 74 3a db 3a f2 68 65  61 64 3a f2 63 6e 28 22  |it:.:.head:.cn("|
00000070  50 6c 65 61 73 65 20 69  6e 70 75 74 20 79 6f 75  |Please input you|
00000080  72 20 73 65 6e 74 65 6e  63 65 22 2b bd 28 26 30  |r sentence"+.(&0|
00000090  41 29 2b bd 28 26 30 44  29 2c 31 30 29 3a e8 20  |A)+.(&0D),10):. |
000000a0  86 20 49 6e 70 24 3a f2  63 76 72 74 3a 61 6e 73  |. Inp$:.cvrt:ans|
000000b0  25 3d a4 61 73 6b 3a fd  20 61 6e 73 25 3d a3 3a  |%=.ask:. ans%=.:|
000000c0  e0 0d 00 3c 2b dd 20 f2  69 6e 69 74 3a 50 72 65  |...<+. .init:Pre|
000000d0  76 24 3d 22 22 3a 57 6f  72 6b 24 3d 22 22 3a 4f  |v$="":Work$="":O|
000000e0  75 74 53 65 6e 74 24 3d  22 22 3a e1 0d 00 46 6f  |utSent$="":...Fo|
000000f0  dd 20 f2 63 76 72 74 3a  e3 20 49 25 3d 31 20 b8  |. .cvrt:. I%=1 .|
00000100  20 a9 28 49 6e 70 24 29  3a 70 24 3d c1 49 6e 70  | .(Inp$):p$=.Inp|
00000110  24 2c 49 25 2c 31 29 3a  e7 20 28 50 72 65 76 24  |$,I%,1):. (Prev$|
00000120  3d 22 2e 20 22 29 20 84  20 28 c2 50 72 65 76 24  |=". ") . (.Prev$|
00000130  2c 31 29 3d 22 2e 22 29  20 84 20 28 49 25 3d 31  |,1)=".") . (I%=1|
00000140  29 20 8c 20 f2 43 68 65  63 6b 43 61 70 20 8b 20  |) . .CheckCap . |
00000150  f2 43 68 65 63 6b 53 6d  61 6c 6c 0d 00 50 86 4f  |.CheckSmall..P.O|
00000160  75 74 53 65 6e 74 24 3d  4f 75 74 53 65 6e 74 24  |utSent$=OutSent$|
00000170  2b 70 24 3a 50 72 65 76  24 3d c2 28 50 72 65 76  |+p$:Prev$=.(Prev|
00000180  24 2b 70 24 29 2c 32 29  3a ed 3a db 3a f2 68 65  |$+p$),2):.:.:.he|
00000190  61 64 3a f2 63 6e 28 22  53 65 6e 74 65 6e 63 65  |ad:.cn("Sentence|
000001a0  20 6e 6f 77 20 6c 6f 6f  6b 73 20 6c 69 6b 65 20  | now looks like |
000001b0  74 68 69 73 22 2c 36 29  3a f2 63 6e 28 c4 32 38  |this",6):.cn(.28|
000001c0  2c 22 3d 22 29 2c 37 29  3a f2 63 6e 28 4f 75 74  |,"="),7):.cn(Out|
000001d0  53 65 6e 74 24 2c 39 29  3a f2 73 70 61 63 65 3a  |Sent$,9):.space:|
000001e0  e1 0d 00 5a 45 dd 20 f2  43 68 65 63 6b 53 6d 61  |...ZE. .CheckSma|
000001f0  6c 6c 3a e7 20 28 97 28  70 24 29 3e 26 34 30 29  |ll:. (.(p$)>&40)|
00000200  20 80 20 28 97 28 70 24  29 3c 26 35 42 29 20 8c  | . (.(p$)<&5B) .|
00000210  20 70 24 3d bd 28 97 28  70 24 29 84 26 32 30 29  | p$=.(.(p$).&20)|
00000220  3a e1 20 8b 20 e1 0d 00  64 43 dd 20 f2 43 68 65  |:. . ...dC. .Che|
00000230  63 6b 43 61 70 3a e7 20  28 97 28 70 24 29 3e 26  |ckCap:. (.(p$)>&|
00000240  36 30 29 20 80 20 28 97  28 70 24 29 3c 26 37 42  |60) . (.(p$)<&7B|
00000250  29 20 8c 20 70 24 3d bd  28 97 28 70 24 29 82 26  |) . p$=.(.(p$).&|
00000260  32 30 29 3a e1 20 8b 20  e1 0d 00 6e 14 dd 20 a4  |20):. . ...n.. .|
00000270  61 73 6b 3a f5 20 db 3a  f2 68 65 61 64 0d 00 78  |ask:. .:.head..x|
00000280  41 f2 63 6e 28 22 44 6f  20 79 6f 75 20 77 61 6e  |A.cn("Do you wan|
00000290  74 20 74 6f 20 69 6e 70  75 74 20 61 6e 6f 74 68  |t to input anoth|
000002a0  65 72 20 73 65 6e 74 65  6e 63 65 22 2c 31 30 29  |er sentence",10)|
000002b0  3a 41 25 3d a7 22 59 79  4e 6e 22 2c be 29 0d 00  |:A%=."YyNn",.)..|
000002c0  82 32 fd 20 41 25 3e 30  3a e7 20 41 25 3d 31 20  |.2. A%>0:. A%=1 |
000002d0  84 20 41 25 3d 32 20 8c  20 41 25 3d b9 3a db 3a  |. A%=2 . A%=.:.:|
000002e0  3d 41 25 20 8b 20 41 25  3d a3 3a db 3a 3d 41 25  |=A% . A%=.:.:=A%|
000002f0  0d 00 8c 2e dd 20 f2 63  6e 28 74 24 2c 59 25 29  |..... .cn(t$,Y%)|
00000300  3a ea 20 58 25 3a 58 25  3d 31 39 2d a9 74 24 2f  |:. X%:X%=19-.t$/|
00000310  32 3a f1 8a 58 25 2c 59  25 29 74 24 3a e1 0d 00  |2:..X%,Y%)t$:...|
00000320  96 27 dd 20 f2 68 65 61  64 3a f2 63 6e 28 22 53  |.'. .head:.cn("S|
00000330  45 4e 54 45 4e 43 45 20  43 48 45 43 4b 45 52 22  |ENTENCE CHECKER"|
00000340  2c 32 29 3a e1 0d 00 a0  39 dd 20 f2 73 70 61 63  |,2):....9. .spac|
00000350  65 3a f2 63 6e 28 22 50  72 65 73 73 20 53 70 61  |e:.cn("Press Spa|
00000360  63 65 20 74 6f 20 63 6f  6e 74 69 6e 75 65 22 2c  |ce to continue",|
00000370  32 34 29 3a f5 20 fd 20  a5 3d 33 32 3a e1 0d ff  |24):. . .=32:...|
00000380
R.TextChk.m0
R.TextChk.m1
R.TextChk.m2
R.TextChk.m4
R.TextChk.m5