SBP ÿ½ FindText.SBP ÿ½ Text finder for Superbase - will work with general text within ÿ½ tokenised SBP files - to find keywords, programs need to be saved ÿ½ as text ÿ½ ÿ½ From the SIDE demo, if you set up a SIDE macro (SLM) to the following: ÿ½ LOAD ~c:\side\findtext~, NEW ÿ½ CALL FindText() ÿ½ CLOSE PROGRAMFILE ~FINDTEXT~" ÿ½ EDIT ÿ½ ... you can get it to run automatically & close without the ÿ½ user knowing it's been loaded. ÿ½ ÿ½ You can make it remember searches by declaring zSearchPat$ and zSearchTxt$ as global ÿÿmain() ÿƒFindText() ÿ’ÿÿ ÿÿFindText() ÿ¡zSearchPat$ÿ""ÿpzSearchPat$ÿ"*.sbp" ÿ‰ÿñ"finder",0,0,200,064,"Search for:","MS Sans Serif",8 ÿ|ÿñ"finder",5,04,04,60,08,0,"Search text:" ÿ|ÿñ"finder",6,64,02,132,12,0,0,zSearchTxt$ ÿ|ÿñ"finder",5,04,18,60,08,0,"Files like:" ÿ|ÿñ"finder",6,64,16,60,12,0,0,zSearchPat$,12 ÿ|ÿñ"finder",5,04,32,60,08,0,"Directory:" ÿ|ÿñ"finder",6,64,30,102,12,0,0,tDir$ ÿ|ÿñ"finder",1,166,30,30,12,0,"Select",2,1 ÿ|ÿñ"finder",1,058,46,40,13,1,"&OK",1,1 ÿ|ÿñ"finder",1,102,46,40,13,0,"Cancel",0,0 ÿØÿ1 tDir$ÿÿŽ ÿñ"finder",isok%% ÿ¡isok%%ÿ 2ÿpÿ’ÿØ tmp$ÿzSearchPat$ ÿÂ"Please select any file in the directory to search","",26,isok%%,tmp$ ÿÙ ÿ¾ÿñ"finder" ÿ¡isok%%ÿ1ÿ zSearchTxt$ÿ""ÿp ÿ×f$(0) t%ÿÿR ÿƒMakeDir(zSearchPat$,f$(),"") ÿƒDoFindText(f$(),zSearchTxt$,0) i%%ÿ0 ÿØf$(i%%)ÿ"" ÿ¡ÿOÿ÷(ÿåroot(f$(i%%)))ÿp ÿ¨f$(i%%),ÿ° ÿ’ÿ¡ i%%ÿi%%ÿ1 ÿÙ ÿ’ÿ¡ ÿ’ÿÿ ÿ½ could use OPEN .. FOR INPUT, but this is quicker ÿÿDoFindText(files$(),txt$,inst%%) ÿîÿ… ÿî"kernel.exe","_lopen","HCI" ÿî"kernel.exe","_lread","IHFI" ÿî"kernel.exe","_lclose","HH" maxbytes%%ÿ255 ÿ×fgot$(ÿX(files$)) i%%ÿ0 got%%ÿ0 ÿØfiles$(i%%)ÿ"" ÿÊÿËfiles$(i%%) ain%ÿÿƒ("_lopen",files$(i%%),0) wasbit$ÿ""' just in case txt$ falls across chunks bit$ÿÿK("",maxbytes%%) no%%ÿÿƒ("_lread",ain%,bit$,maxbytes%%) ÿØno%%ÿ0 ÿ¡wasbit$ÿbit$ÿ"*"ÿtxt$ÿ"*"ÿp ÿ¡(inst%%ÿ0)ÿ (inst%%ÿgot%%ÿ1)ÿp  fGot$(got%%)ÿfiles$(i%%) ÿ’ÿ¡ got%%ÿgot%%ÿ1 ÿ’ÿØ ÿ’ÿ¡ wasbit$ÿbit$ no%%ÿÿƒ("_lread",ain%,bit$,maxbytes%%) ÿÙ t%ÿÿƒ("_lclose",ain%) i%%ÿi%%ÿ1 ÿ¡i%%ÿÿX(files$)ÿ ((inst%%ÿ0)ÿ (inst%%ÿgot%%))ÿpÿ’ÿØ ÿÙ ÿîÿ… ÿ¡inst%%ÿ0ÿp ÿÿ files$(got%%) ÿ›i%%ÿ0ÿqgot%% files$(i%%)ÿfgot$(i%%) ÿ± ÿ^ ÿÿ files$(1) ÿ¡got%%ÿ0ÿp files$(0)ÿfGot$(got%%ÿ1) ÿ’ÿ¡ files$(1)ÿ"" ÿ’ÿ¡ ÿ’ÿÿ ÿÿMakeDir(pat$,arr$(),expat$) ÿ´"~temp.tmp"ÿ›ÿ¶ ÿ{ÿŽpat$ÿt ÿ†ÿ¶ ÿ´"~temp.tmp"ÿ›ÿ¤ ÿ¤ÿclin$ ÿ¤ÿclin$ i%%ÿ0 ÿØÿ1 ÿ¤ÿclin$ ÿ¡ÿB("*")ÿpÿ’ÿØ fl$ÿÿF(ÿ+(lin$,12)) ÿ¡ÿO(fl$ÿexpat$)ÿp ÿ¡ÿX(arr$)ÿ i%%ÿp ÿÿ arr$(i%%) ÿ’ÿ¡ arr$(i%%)ÿfl$ i%%ÿi%%ÿ1 ÿ’ÿ¡ ÿÙ ÿ†ÿ¤ ÿ’ÿÿ