Home » Archimedes archive » Acorn User » AU 1997-04 A.adf » Extras1 » MenuBar2/!MenuBar/Overlays/Find

MenuBar2/!MenuBar/Overlays/Find

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 1997-04 A.adf » Extras1
Filename: MenuBar2/!MenuBar/Overlays/Find
Read OK:
File size: 01BD bytes
Load address: 0000
Exec address: 0000
File contents
 1024REM> Find
 1025DEFPROCNy(d$,N%):LOCALJ%,K%,L%,Wy%,X%,M%,A$,Q%:Vy%=FALSE:Wy%=FALSE:IFd$=""THENPROCP:ENDPROC
 1026SYS&406C0:N%()=0:d$=FNy(d$):FORJ%=1TOw%:L%=Z%(J%):Q%=FNF(L%):X%=FNM(Q%):M%=A%(L%):IFX%>0THEN
 1027FORK%=1TOX%:CASEN%OF
 1028WHEN0:A$=FNJ(FNC(L%,K%))
 1029WHEN1:A$=FNC(L%,K%)
 1030ENDCASE:A$=FNy(A$):IFINSTR(A$,d$)THEN
 1031PROCF(M%,K%):N%(J%)=TRUE:by%=1:Wy%=TRUE
 1032ELSE:PROCW(M%,K%)
 1033ENDIF:NEXT
 1034ENDIF:NEXT:SYS&406C2:IFWy%THENPROCAyELSEPROCP
 1035ENDPROC
 1036DEFFNy(A$):LOCALJ%,U%,C$:C$="":IFA$<>""THEN
 1037FORJ%=1TOLENA$:U%=ASC(MID$(A$,J%,1)):IFU%>96ANDU%<&7BTHENU%-=32
 1038C$+=CHR$U%:NEXT
 1039ENDIF:=C$
�> Find
A��Ny(d$,N%):�J%,K%,L%,Wy%,X%,M%,A$,Q%:Vy%=�:Wy%=�:�d$=""��P:�
Uș&406C0:N%()=0:d$=�y(d$):�J%=1�w%:L%=Z%(J%):Q%=�F(L%):X%=�M(Q%):M%=A%(L%):�X%>0�
�K%=1�X%:ȎN%�
�0:A$=�J(�C(L%,K%))
�1:A$=�C(L%,K%)
�:A$=�y(A$):�A$,d$)�
"�F(M%,K%):N%(J%)=�:by%=1:Wy%=�
�:�W(M%,K%)
	�:�

�:�:ș&406C2:�Wy%��Ay��P
�
$ݤy(A$):�J%,U%,C$:C$="":�A$<>""�

2�J%=1��A$:U%=�(�A$,J%,1)):�U%>96�U%<&7B�U%-=32

C$+=�U%:�
	�:=C$
�
00000000  0d 04 00 0b f4 3e 20 46  69 6e 64 0d 04 01 41 dd  |.....> Find...A.|
00000010  f2 4e 79 28 64 24 2c 4e  25 29 3a ea 4a 25 2c 4b  |.Ny(d$,N%):.J%,K|
00000020  25 2c 4c 25 2c 57 79 25  2c 58 25 2c 4d 25 2c 41  |%,L%,Wy%,X%,M%,A|
00000030  24 2c 51 25 3a 56 79 25  3d a3 3a 57 79 25 3d a3  |$,Q%:Vy%=.:Wy%=.|
00000040  3a e7 64 24 3d 22 22 8c  f2 50 3a e1 0d 04 02 55  |:.d$=""..P:....U|
00000050  c8 99 26 34 30 36 43 30  3a 4e 25 28 29 3d 30 3a  |..&406C0:N%()=0:|
00000060  64 24 3d a4 79 28 64 24  29 3a e3 4a 25 3d 31 b8  |d$=.y(d$):.J%=1.|
00000070  77 25 3a 4c 25 3d 5a 25  28 4a 25 29 3a 51 25 3d  |w%:L%=Z%(J%):Q%=|
00000080  a4 46 28 4c 25 29 3a 58  25 3d a4 4d 28 51 25 29  |.F(L%):X%=.M(Q%)|
00000090  3a 4d 25 3d 41 25 28 4c  25 29 3a e7 58 25 3e 30  |:M%=A%(L%):.X%>0|
000000a0  8c 0d 04 03 12 e3 4b 25  3d 31 b8 58 25 3a c8 8e  |......K%=1.X%:..|
000000b0  4e 25 ca 0d 04 04 17 c9  30 3a 41 24 3d a4 4a 28  |N%......0:A$=.J(|
000000c0  a4 43 28 4c 25 2c 4b 25  29 29 0d 04 05 13 c9 31  |.C(L%,K%)).....1|
000000d0  3a 41 24 3d a4 43 28 4c  25 2c 4b 25 29 0d 04 06  |:A$=.C(L%,K%)...|
000000e0  19 cb 3a 41 24 3d a4 79  28 41 24 29 3a e7 a7 41  |..:A$=.y(A$):..A|
000000f0  24 2c 64 24 29 8c 0d 04  07 22 f2 46 28 4d 25 2c  |$,d$)....".F(M%,|
00000100  4b 25 29 3a 4e 25 28 4a  25 29 3d b9 3a 62 79 25  |K%):N%(J%)=.:by%|
00000110  3d 31 3a 57 79 25 3d b9  0d 04 08 0f cc 3a f2 57  |=1:Wy%=......:.W|
00000120  28 4d 25 2c 4b 25 29 0d  04 09 07 cd 3a ed 0d 04  |(M%,K%).....:...|
00000130  0a 1c cd 3a ed 3a c8 99  26 34 30 36 43 32 3a e7  |...:.:..&406C2:.|
00000140  57 79 25 8c f2 41 79 8b  f2 50 0d 04 0b 05 e1 0d  |Wy%..Ay..P......|
00000150  04 0c 24 dd a4 79 28 41  24 29 3a ea 4a 25 2c 55  |..$..y(A$):.J%,U|
00000160  25 2c 43 24 3a 43 24 3d  22 22 3a e7 41 24 3c 3e  |%,C$:C$="":.A$<>|
00000170  22 22 8c 0d 04 0d 32 e3  4a 25 3d 31 b8 a9 41 24  |""....2.J%=1..A$|
00000180  3a 55 25 3d 97 28 c1 41  24 2c 4a 25 2c 31 29 29  |:U%=.(.A$,J%,1))|
00000190  3a e7 55 25 3e 39 36 80  55 25 3c 26 37 42 8c 55  |:.U%>96.U%<&7B.U|
000001a0  25 2d 3d 33 32 0d 04 0e  0d 43 24 2b 3d bd 55 25  |%-=32....C$+=.U%|
000001b0  3a ed 0d 04 0f 09 cd 3a  3d 43 24 0d ff           |:......:=C$..|
000001bd