CLS
Dim $sMaster,$sOldInput,$sInput,$c,$iMaxDisplay,$i
$iMaxDisplay=5
$sInput=""
$sMaster=Split("ABLE ABOVE ACCESS ACHIEVED ACTUAL ADAPTIVE AFTER AGAIN ALGORITHM ALL ALLOW ALLOWS ALLY"
+" ALMOST ALREADY ALSO ALWAYS AMOUNT AN AND ANOTHER ANY APPLIES APPROVED ARCHIVE"
+" ARCHIVER ARE AROUND AS ASCII ASSUME ASSUMED ASSUMES AT ATARI ATTEMPT ATTEMPTS AUTOMATIC"
+" AVOID AVOIDED B BACKGROUND BAD BE BECAUSE BEEN BEFORE BEGINS BEHAVE BEST BETTER"
+" BIASED BIT BITS BLOCK BLOCKCOMPRESS BLOCKS BOUNDARY BUT BY BYTES C CAN CASE CASES CAT"
+" CATED CC CD [CDFHLLNNRTVV] CHANGE CHANGED CHARACTERS CHECK CHECKS CODE CODING"
+" COM COMBINATION COMMAND COMMON COMPACT COMPILATION COMPLAIN COMPLEMENT COMPRES COMPRESS"
+" COMPRESSED COMPRESSES COMPRESSING COMPRESSION CON CONCATENATE CONCATENATED"
+" CONDITIONS CONFLICT CONSISTENCY CONSISTS CONSTRUCTED CONVENTIONS CONVERSION CONVERT"
+" CONVERTED COPIES COPY COPYING COPYRIGHT CORRECT CORRESPONDING CORRUPT CORRUPTED"
+" COULD CR CRC CREATE CREATED CSH CURRENTLY D DAMAGE DAMAGED DARD DATA DATE DEAL DECOMPRESS"
+" DECOMPRESSED DECOMPRESSING DECOMPRESSION DEFAULT DEFLATE DEFLATION DELIMITED"
+" DEPENDS DERIVED DESCEND DESIGNED DETECT DETECTED DETECTION DETECTS DEUTSCH DEVICE DEVRST"
+" DIGIT DIRECTORIES DIRECTORY DIS DISCOVER DISK DISPLAY DISPLAYED DISTRIBUTE"
+" DISTRIBUTED DO DOES DOTS EACH EG EITHER EMITS ENDOFLINES ENDS ENGLISH ENTIRE ENVIRONMENT"
+" EQUIVALENT ERROR EVEN EVERY EXAMPLE EXCEPT EXISTING EXISTS EXIT EXPAND EXPANSION"
+" EXPENSE EXPLICIT EXPORT EXTENSION EXTENSIONS EXTRA EXTRACT EXTRACTED FAILURE FASTEST FAT"
+" FEATURE FEW FIELDS FIFO FILE [FILE FILEGZ FILES FINDS FIRST FLAG FOLLOWING"
+" FOO FOR FORCE FORCES FORM FORMAT FORMATS FOUNDATION FREE FROM FUSION GAILLY GARBAGE GB GENER"
+" GENERALLY GENERATES GET GIVEN GIVES GNU GRANTED GUNZIP GZ GZCAT GZEXE"
+" GZIP GZIPOPT GZIPQ GZIPV H HAD HANDLE HAPPILY HAS HAVE HEADER HELP HH HHEELLPP HIGH HIGHLY"
+" HOLD HOWEVER HUFFMAN IDENTICAL IF IFICATION IGNORE IGNORED IMPLICITLY IN INC"
+" INCLUDE INCORRECT INCREASES INDEPENDENTLY INDICATES INFORMATION INPUT INSTALLED INSTEAD"
+" INTEGRITY INTENDED INTERNET INTERPRETED INTO INVALID INVOCATION INVOKE INVOKED"
+" IS IT ITS JEANLOUP K KEEP KEEPING KEEPS LANGUAGE LARGE LARGER LAST LATER LATION LEFT LEGAL"
+" LEMPELZIV LENGTH LESS LET LEVEL LF LICENSE LIMIT LIMITED LINE LINES LINK"
+" LINKS LIST LL LLIICCEENNSSEE LLIISSTT LN LOCAL LONG LONGER LONGEST LOST LZ LZH LZW MACHINE"
+" MAGIC MAKE MAN MANUAL MAT MAY MEANS MEDIA MEMBER MEMBERS MEMORY METHOD"
+" METHODS MISSION MOD MODE MODES MODIFIED MODULO MORE MSDOS MUCH MUL MULTI MULTIPLE N NAME NAMED"
+" NAMES NECESSARY NEED NEVER NEW NEWGZ NN NNAAMMEE NNOONNAAMMEE"
+" NNOOTTIICCEE NO NON NONUNIX NORMALLY NOT NOTE NOTICE NT NULL NUMBER OBTAIN OBTAINED OCCURS"
+" OF OLDGZ ON ONCE ONE ONLY OPTION OPTIONS OR ORIGINAL OS OTHER OUPUT OUTPUT"
+" OVERWRITE OVERWRITTEN OWNERSHIP P PACK PAD PARAMETERS PART PARTIC PARTS PASSED PER PERCENTAGE"
+" PERFORMED PERMISSION PKZIP PLE PLUS POINT POSSIBLE PRESENT PRESERVE"
+" PRESERVED PRESERVES PRESS PRESSED PRESSION PREVIOUS PROBLEM PROGRAM PROGRAMSSEEEE PROMPTS"
+" PROVIDED Q QQ QQUUIIEETT QUIET QUIT RARE RATIO RATIOS READ READING RECOGNIZED"
+" RECOGNIZES RECOMPRESS RECOVER RECOVERED RECURSIVELY REDUCED REDUCES REDUCTION REDUNDANT"
+" REGARDLESS REGULAR REGULATE RELEVANT REMOVE REMOVED RENAME REPLACED"
+" REPLACES REPORTED REPORTS REPRESENTS RESPECTIVELY RESPOND RESTORE RESTORED RESULTING RFC RR"
+" RUNNING S [S SAME SAVE SAVED SCO SCREEN SEE SEEKABLE SEQUENCE SET SETENV"
+" SEVERAL SH SHORTHANDS SHOULD SIGSEGV SIMPLY SINGLE SION SISTENCY SIZE SIZES SLIGHTLY SLOWEST"
+" SMALL SO SOCKET SOFTWARE SOME SOMETIMES SOURCE SPECIAL SPECIFICATION"
+" SPECIFIED SPEED SS [SS SSTTDDOOUUTT SSUUFF SSUUFFFFIIXX SSUUFFFFIIXX] STAMP STAN STANDARD STATED"
+" STATUS STDOUT STILL STORED STRUCTURE SUBSTRINGS SUCH SUF SUFFIX"
+" SUFFIX] SUFFIXES SUITABLE SUPPORTED SUPPORTS SUPPRESS SURE SYMBOL SYMBOLIC SYSTEM SYSTEMS"
+" TAKES TAPE TAPES TAR TARBBUUGGSS TARGZ TARZIP TERED TERMINAL TERMS TEST"
+" TEXT THAN THAT THE THEIR THEM THEN THERE THESE THEY THIS THOSE TIME TIMES TIMESTAMP TIMESTAMPS"
+" TIPLYLINKED TITLE TO TOO TOTALS TOWARDS TRAILING TRANS TRANSFER TRANSFERRED"
+" TRANSLATIONS TRANSPARENTLY TRAVEL TRIBUTION TRUE TRUN TRUNCATE TRUNCATED TRUNCATES TRUNCATING"
+" TRY TT TTAARR TTAARRGGZZ TTAARRZZ TTAAZZ TTEESSTT TTGGZZ TTOOSSTTDDOOUUTT"
+" TWO TYPICALLY UAL ULAR UNAL UNCHANGED UNCOM UNCOMPRESS UNCOMPRESSED UNCOMPRESSEDNAME UNCOMPRESSES"
+" UNCOMPRESSING UNDER UNKNOWN UNLESS UNZIP UP USAGE USE USED USEFUL USES"
+" USING USUALLY VARIABLE VAXVMS VERBATIM VERBOSE VERIFY VERSION VERSIONS VIOLATION VMS WANT WARNING"
+" WARNINGS WAS WC WERE WHEN WHENEVER WHERE WHETHER WHICH WHILE WHOLE WHOSE"
+" WILL WINDOWS WISH WITH WITHIN WITHOUT WORK WORSE WORST WRITE WRITES WRITING WRITTEN XFZ"
)
At(1,5) "Maximum entries to display: "+$iMaxDisplay+" words in list: "+(UBound($sMaster)+1)
AT(4,5) " (Use the ESCAPE key to exit)"
AT(3,5) "Enter a substring to search on: "
While "Bears Poo In The Woods"
Get $c
Select
Case ASC($c)=27
CLS Exit 0
Case ASC($c)=8
If $sInput $sInput=Left($sInput,Len($sInput)-1) EndIf
Case $c >="A" AND $c <="z"
$sInput=$sInput+$c
Case "Not a valid character"
BEEP
EndSelect
If $sInput<>$sOldInput
At(3,37) Color g+/n $sInput+" " Color w/n At(3,37) Color g+/n $sInput Color w/n
$sOldInput=$sInput
At(9,5) "Working... " At(5,15)
$iMatches=0
$iMatchStart=-1
If $sInput<>""
$iMatchStart=UBound(Split(Left(" "+Join($sMaster),InStr(" "+Join($sMaster)," "+$sInput))))
EndIf
If $iMatchStart>0
$iMatchStart=$iMatchStart-1
While $iMatches+$iMatchStart<UBound($sMaster) AND InStr($sMaster[$iMatches+$iMatchStart],$sInput)=1
$iMatches=$iMatches+1
Loop
EndIf
At(9,5) $iMatches " matches starting at "+$iMatchStart
For $i=1 To $iMaxDisplay
At(10+$i,10) " "
Next
If $iMatches<=$iMaxDisplay
For $i=1 To $iMatches
At(10+$i,10) Right(" "+CStr($i),3)+": "+$sMaster[$iMatchStart+$i-1]
Next
EndIf
At(3,37) Color g+/n $sInput+" " Color w/n At(3,37) Color g+/n $sInput Color w/n
EndIf
Loop