Home » Archimedes archive » Acorn User » AU 1994-01.adf » !BasicProg_BasicProg » Listing3

Listing3

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 » Archimedes archive » Acorn User » AU 1994-01.adf » !BasicProg_BasicProg
Filename: Listing3
Read OK:
File size: 02AE bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >Listing3
   20:
   30ON ERROR REPORT:PRINT " at line ";ERL/10:END
   40MODE 0
   50DIM name$(24),addr$(24,3)
   60REPEAT
   70 INPUT "Option (A)dd,S(earch) ";opt$
   80 CASE opt$ OF
   90  WHEN "A"
  100   temp%=0
  110   WHILE name$(temp%)<>"" AND temp%<>25:temp%+=1:ENDWHILE
  120   IF temp%<>25 THEN
  130    INPUT "Name ";name$(temp%)
  140    INPUT "Address 1 ";addr$(temp%,0)
  150    INPUT "Address 2 ";addr$(temp%,1)
  160    INPUT "Address 3 ";addr$(temp%,2)
  170   ELSE
  180    PRINT "Records full"
  190   ENDIF
  200  WHEN "S"
  210   INPUT "Search name",search$
  220   FOR loop%=0 TO 24
  230    IF INSTR(name$(loop%),search$)<>0 THEN
  240     PRINT "Match found"
  250     PRINT "Name: ";name$(loop%)
  260     PRINT "Address :";addr$(loop%,0);",";addr$(loop%,1);",";addr$(loop%,2);","
  270    ENDIF
  280   NEXT loop%
  290 ENDCASE
  300UNTIL FALSE

� >Listing3
:
� � �:� " at line ";�/10:�
(� 0
2� name$(24),addr$(24,3)
<�
F$ � "Option (A)dd,S(earch) ";opt$
P Ȏ opt$ �
Z  � "A"
d   temp%=0
n1   ȕ name$(temp%)<>"" � temp%<>25:temp%+=1:�
x   � temp%<>25 �
�    � "Name ";name$(temp%)
�%    � "Address 1 ";addr$(temp%,0)
�%    � "Address 2 ";addr$(temp%,1)
�%    � "Address 3 ";addr$(temp%,2)
�   �
�    � "Records full"
�   �
�  � "S"
�   � "Search name",search$
�   � loop%=0 � 24
�%    � �name$(loop%),search$)<>0 �
�     � "Match found"
�      � "Name: ";name$(loop%)
O     � "Address :";addr$(loop%,0);",";addr$(loop%,1);",";addr$(loop%,2);","
	    �
   � loop%
" �
,� �
�
00000000  0d 00 0a 0f f4 20 3e 4c  69 73 74 69 6e 67 33 0d  |..... >Listing3.|
00000010  00 14 05 3a 0d 00 1e 1e  ee 20 85 20 f6 3a f1 20  |...:..... . .:. |
00000020  22 20 61 74 20 6c 69 6e  65 20 22 3b 9e 2f 31 30  |" at line ";./10|
00000030  3a e0 0d 00 28 07 eb 20  30 0d 00 32 1b de 20 6e  |:...(.. 0..2.. n|
00000040  61 6d 65 24 28 32 34 29  2c 61 64 64 72 24 28 32  |ame$(24),addr$(2|
00000050  34 2c 33 29 0d 00 3c 05  f5 0d 00 46 24 20 e8 20  |4,3)..<....F$ . |
00000060  22 4f 70 74 69 6f 6e 20  28 41 29 64 64 2c 53 28  |"Option (A)dd,S(|
00000070  65 61 72 63 68 29 20 22  3b 6f 70 74 24 0d 00 50  |earch) ";opt$..P|
00000080  0e 20 c8 8e 20 6f 70 74  24 20 ca 0d 00 5a 0b 20  |. .. opt$ ...Z. |
00000090  20 c9 20 22 41 22 0d 00  64 0e 20 20 20 74 65 6d  | . "A"..d.   tem|
000000a0  70 25 3d 30 0d 00 6e 31  20 20 20 c8 95 20 6e 61  |p%=0..n1   .. na|
000000b0  6d 65 24 28 74 65 6d 70  25 29 3c 3e 22 22 20 80  |me$(temp%)<>"" .|
000000c0  20 74 65 6d 70 25 3c 3e  32 35 3a 74 65 6d 70 25  | temp%<>25:temp%|
000000d0  2b 3d 31 3a ce 0d 00 78  14 20 20 20 e7 20 74 65  |+=1:...x.   . te|
000000e0  6d 70 25 3c 3e 32 35 20  8c 0d 00 82 1e 20 20 20  |mp%<>25 .....   |
000000f0  20 e8 20 22 4e 61 6d 65  20 22 3b 6e 61 6d 65 24  | . "Name ";name$|
00000100  28 74 65 6d 70 25 29 0d  00 8c 25 20 20 20 20 e8  |(temp%)...%    .|
00000110  20 22 41 64 64 72 65 73  73 20 31 20 22 3b 61 64  | "Address 1 ";ad|
00000120  64 72 24 28 74 65 6d 70  25 2c 30 29 0d 00 96 25  |dr$(temp%,0)...%|
00000130  20 20 20 20 e8 20 22 41  64 64 72 65 73 73 20 32  |    . "Address 2|
00000140  20 22 3b 61 64 64 72 24  28 74 65 6d 70 25 2c 31  | ";addr$(temp%,1|
00000150  29 0d 00 a0 25 20 20 20  20 e8 20 22 41 64 64 72  |)...%    . "Addr|
00000160  65 73 73 20 33 20 22 3b  61 64 64 72 24 28 74 65  |ess 3 ";addr$(te|
00000170  6d 70 25 2c 32 29 0d 00  aa 08 20 20 20 cc 0d 00  |mp%,2)....   ...|
00000180  b4 18 20 20 20 20 f1 20  22 52 65 63 6f 72 64 73  |..    . "Records|
00000190  20 66 75 6c 6c 22 0d 00  be 08 20 20 20 cd 0d 00  | full"....   ...|
000001a0  c8 0b 20 20 c9 20 22 53  22 0d 00 d2 1e 20 20 20  |..  . "S"....   |
000001b0  e8 20 22 53 65 61 72 63  68 20 6e 61 6d 65 22 2c  |. "Search name",|
000001c0  73 65 61 72 63 68 24 0d  00 dc 15 20 20 20 e3 20  |search$....   . |
000001d0  6c 6f 6f 70 25 3d 30 20  b8 20 32 34 0d 00 e6 25  |loop%=0 . 24...%|
000001e0  20 20 20 20 e7 20 a7 6e  61 6d 65 24 28 6c 6f 6f  |    . .name$(loo|
000001f0  70 25 29 2c 73 65 61 72  63 68 24 29 3c 3e 30 20  |p%),search$)<>0 |
00000200  8c 0d 00 f0 18 20 20 20  20 20 f1 20 22 4d 61 74  |.....     . "Mat|
00000210  63 68 20 66 6f 75 6e 64  22 0d 00 fa 20 20 20 20  |ch found"...    |
00000220  20 20 f1 20 22 4e 61 6d  65 3a 20 22 3b 6e 61 6d  |  . "Name: ";nam|
00000230  65 24 28 6c 6f 6f 70 25  29 0d 01 04 4f 20 20 20  |e$(loop%)...O   |
00000240  20 20 f1 20 22 41 64 64  72 65 73 73 20 3a 22 3b  |  . "Address :";|
00000250  61 64 64 72 24 28 6c 6f  6f 70 25 2c 30 29 3b 22  |addr$(loop%,0);"|
00000260  2c 22 3b 61 64 64 72 24  28 6c 6f 6f 70 25 2c 31  |,";addr$(loop%,1|
00000270  29 3b 22 2c 22 3b 61 64  64 72 24 28 6c 6f 6f 70  |);",";addr$(loop|
00000280  25 2c 32 29 3b 22 2c 22  0d 01 0e 09 20 20 20 20  |%,2);","....    |
00000290  cd 0d 01 18 0e 20 20 20  ed 20 6c 6f 6f 70 25 0d  |.....   . loop%.|
000002a0  01 22 06 20 cb 0d 01 2c  07 fd 20 a3 0d ff        |.". ...,.. ...|
000002ae