BBS: Inland Empire Archive Date: 05-13-92 (14:48) Number: 95 From: JEAN CREPEAU Refer#: NONE To: RONALD DERKIS Recvd: NO Subj: Question Of The Day! Conf: (2) Quik_Bas
In a message to ALL, RONALD DERKIS wrote: RD=> How do you pull the dir from the current drive and load it into a array with out it apearing on the screen? A simple question but one that has puzzeled everyone! Use the following subroutines: deflng a-z '$INCLUDE: 'qb.bi' type filedesc reserved as string*21 attr as string*1 filetime as integer filedate as integer filesize as long filename as string*13 end type dim dta as filedesc declare function findfirst%(x$,dta) declare function findnext%() function findfirst%(x$,dta as filedesc) dim inreg as regtype,outreg as regtype,temp as string*128 inreg.ax=&h1a00 inreg.dx=varptr(dta) interrupt &h21,inreg,outreg temp=x$+chr$(0) inreg.ax=&h4e00 inreg.cx=-1 inreg.dx=varptr(temp) interrupt &h21,inreg,outreg findfirst=outreg.flags and 1 end function function findnext% dim inreg as regtype,outreg as regtype inreg.ax=&h4f00 interrupt &h21,inreg,outreg findnext=outreg.flags and 1 end function To read the directory, call FINDFIRST with the filename your search (it can be *.* for instance). The filename is in DTA.Filename field. You put this field in your array and call FINDNEXT. The next filename is in DTA.Filename field. And you continue until FINDNEXT returns 1 (that means there is no more file to check in the directory. Example: Redim Dir$(127) P=0:R=FindFirst("*.*",Dta) While R Dir$(P)=Dta.Filename R=FindNext Wend Jean --- * Origin: INTERACESS Montreal (QC) Canada (514) 528-1415 (1:167/280)
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