BBS: Inland Empire Archive Date: 01-17-93 (01:17) Number: 339 From: DIK COATES Refer#: NONE To: TOM CARROLL Recvd: NO Subj: Search 1/2 Conf: (2) Quik_Bas
>>>> QUOTING Dik Coates to Tom Carroll <<<<
Tom, I cooked this up this morning... was kinda curious to
see what happens...
Copyright 1993 by R.A. Coates, free to use commercially with
acknowledgement, free for all other use.
DECLARE FUNCTION SEARCHASC& (findstr$, mainstr$)
DECLARE FUNCTION SEARCHSTR& (findstr$, mainstr$)
DECLARE FUNCTION LETFREQ$ (strvar$, pptr%)
CLS
'===== Define the string to search for
findstr$ = "The quick Brown"
numdup% = 500
'===== Make one really long string to search
FOR c% = 1 TO numdup%
mainstr0$ = mainstr0$ + "The quick brown fox jumped over the lazy dogs. "
NEXT c%
' Uppercase "B"rown added to make the string match findstr$
mainstr1$ = "The quick Brown fox jumped over the lazy dogs. "
FOR c% = 1 TO 2 'add a couple on the end for humour
mainstr2$ = mainstr2$ + "The quick brown fox jumped over the lazy dogs. "
NEXT c%
mainstr$ = mainstr0$ + mainstr1$ + mainstr2$
temp% = LEN(mainstr1$)
ofset% = numdup% * temp% + 1 'calculate the offset for testing
PRINT "Main Program Code"
PRINT "*****************"
PRINT "The Length of the string to search is: "; LEN(mainstr$)
PRINT "The offset to the string to find is: "; ofset%
PRINT
srchoff& = SEARCHSTR&(findstr$, mainstr$)
srchoff2& = SEARCHASC&(findstr$, mainstr$)
PRINT "Main Program Code"
PRINT "*****************"
PRINT "The offset determined by the SEARCHSTR& is: "; srchoff&
PRINT "The offset determined by the SEARCHASC& is: "; srchoff&
FUNCTION LETFREQ$ (strvar$, pptr%)
maxweight% = 27
maxstr$ = " "
strlen% = LEN(strvar$)
alphastr$ = "~XxZzYyQqKkJjUuVvNnOoHhEeIiWwGgLlFfMmDdAaBbRrTtPpCcSs "
FOR c% = 1 TO strlen%
teststr$ = MID$(strvar$, c%, 1)
weight% = INSTR(alphastr$, teststr$) \ 2
IF weight% < maxweight% THEN
maxweight% = weight%
maxstr$ = teststr$
END IF
NEXT c%
pptr% = INSTR(strvar$, maxstr$)
LETFREQ$ = maxstr$
END FUNCTION
... OS/2: WINDOZE with bullet-proof glass.
___ Blue Wave/QWK v2.10
--- Maximus 2.00
* Origin: Durham Systems (ONLINE!) (1:229/110)

Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET