Category : BASIC Source Code
Archive   : WBB12.ZIP
Filename : SAMPLE5.BAS

 
Output of file : SAMPLE5.BAS contained in archive : WBB12.ZIP


rem
rem Here is another program which is fairly standard in it's
rem use of the Basic language, but which uses some of the advanced
rem Directory commands of BasicBasic.
rem

rem windows size 10,5,70,14

REM THIS PROGRAM ALLOWS THE USER TO SEARCH A DISK LOOKING FOR
REM A GIVEN FILE NAME. IT WILL SEARCH ALL FILES BELOW THE USER
REM ENTERED PATHNAME

REM THIS PROGRAM CAN BE EASILY MODIFIED TO SEARCH ALL FILES FOR
REM A PARTICULAR SEQUENCE OF BYTES


COLOR 7,1
cls

rem
rem Initialize some variables
rem
maxlevel=20
direc=0
dim direc(maxlevel)
dim direcname$(maxlevel)
dlevel=0
numfiles=0
numfound=0

rem
rem get starting directory to search
rem and string to search for
rem

getinput:

LOCATE 5,34
COLOR 1,7
PRINT "FIND FILE";
COLOR 7,1
locate 8,15
print "Enter file name to search for:";
locate 7,15
input "Enter Starting Path: ";firstlevel$
if firstlevel$="" then stop

if len(firstlevel$)=1 then
firstlevel$=firstlevel$+":\"
end if
if right$(firstlevel$,1)<>"\" then
firstlevel$=firstlevel$+"\"
end if
locate 8,15
input "Enter file name to search for: ";st$
ST$=UCASE$(ST$)
sd$=firstlevel$

rem
rem here is where we would check to make sure input strings are OK
rem



newdirectory:

rem
rem Look for first file in new directory
rem

sd$=firstlevel$
for i=1 to dlevel
sd$=sd$+direcname$(i)+"\"
next i
ffname$ = DIR$(sd$+"*.*")

rem
rem Now search each regular file in this directory (there may be none)
rem

nextfile:
IF ffname$ <> "" THEN
numfiles=numfiles+1
locate 10,15
print ffname$;" ";
if ffname$=st$ then
numfound=numfound+1
locate 12,15
print "Found in directory: ";sD$;
locate 13,15
print "Press any key to continue search";
250 if inkey$="" then goto 250
locate 13,15
print " ";
end if

rem
rem If we wanted to look for text in file open it here and search
rem

if inkey$<>"" then stop
ffname$ = DIR$
GOTO nextfile
END IF






rem
rem out of files at this level, look for next subdirectory at this level
rem

lookforsub:

if direc(dlevel)=0 then

rem
rem Look for first sub directory from this level
rem

sd$=firstlevel$
for i=1 to dlevel
sd$=sd$+direcname$(i)+"\"
next i
direc(dlevel)=1
ffname$ = DIR$(sd$+"*.*",5)
if ffname$="." then
ffname$ = DIR$
end if
if ffname$=".." then
ffname$=dir$
end if

else

rem
rem Look for next sub directory from this level
rem
sd$=firstlevel$
for i=1 to dlevel
sd$=sd$+direcname$(i)+"\"
next i
direc(dlevel)=direc(dlevel)+1
ffname$=dir$(sd$+"*.*",5)
if ffname$="." then
ffname$=dir$
end if
if ffname$=".." then
ffname$=dir$
end if
for i=2 to direc(dlevel)
ffname$=dir$
next i
end if

if ffname$="" then

rem
rem come here if no more sub directories at this level
rem
direc(dlevel)=0
direcname$(dlevel)=""
dlevel=dlevel-1
if dlevel>=0 then goto lookforsub

rem
rem come here if no more directories at all
rem
beep
beep
locate 12,15
print "Search Completed . ";numfiles;" files searched ";numfound;" found.";
400 if inkey$="" then goto 400
stop


else

rem
rem come here if have another sub-directory at this level
rem
dlevel=dlevel+1
direcname$(dlevel)=ffname$
goto newdirectory

end if



  3 Responses to “Category : BASIC Source Code
Archive   : WBB12.ZIP
Filename : SAMPLE5.BAS

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/