static void Jimmy_FindFilesWinAPI(Args _args)
{
#File
int i;
FileName fullFileName(FileName _path, FileName _fileName)
{
FileName pathName;
FileName fileName;
FileName fileExtension;
;
[pathName,fileName,fileExtension] = fileNameSplit(_fileName);
return _path + '\\' + fileName + fileExtension;
}
void findFiles( FileName _path,
FileName _fileName,
boolean _inclSubDir = true,
FileName _prefix = fullFileName(_path,_fileName))
{
FileName fileName,FullName;
int hdl;
;
setprefix(_prefix);
if (WinAPI::folderExists(_path))
{
[hdl,fileName] = WinApi::findFirstFile(fullFileName(_path,_fileName));
while (fileName)
{
FullName = fullFileName(_path,fileName);
if (WinAPI::fileExists(FullName))
{
i++;
info(strfmt("%3 , %1 - %2",FullName,fileName,i));
}
fileName = WinApi::findNextFile(hdl);
}
WinApi::findClose(hdl);
if (_inclSubDir)
{
[hdl, fileName] = WinAPI::findFirstFile(_path+'\\'+#AllFiles);
while (fileName)
{
if (strlwr(fileName) != strlwr(_fileName) &&
strlwr(fileName) != strlwr('.') &&
strlwr(fileName) != strlwr('..') &&
WinAPI::pathExists(fullFileName(_path,fileName)))
findFiles(fullFileName(_path,fileName), _fileName, _inclSubDir,
fileName);
fileName = WinApi::findNextFile(hdl);
}
WinApi::findClose(hdl);
}
}
}
;
findFiles('c:\\Program Files','*.doc');
}