|
04.05.2009, 14:05 | #1 |
Участник
|
Dynamics AX Geek: Finding files with WinAPI
Источник: http://axgeek.spaces.live.com/Blog/c...DB13!150.entry
============== Axapta’s WinAPI class has a bunch of static methods to handle files. The code example below shows how to utilize some of these methods to find files. The two methods used to fetch all files matching the search criteria are findFirstFile() and findNextFile(). Don’t forget to clean up after yourself with findClose(). The code also uses three different find methods:
X++: static void FindFile(Args _args) { #File FileName fullFileName(FileName _path, FileName _fileName) { pathName; 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; int hdl; ; setprefix(_prefix); if (WinAPI::folderExists(_path)) { [hdl,fileName] = WinApi::findFirstFile(fullFileName(_path,_fileName)); while (fileName) { if (WinAPI::fileExists(fullFileName(_path,fileName))) info(fileName); 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'); } ============== Источник: http://axgeek.spaces.live.com/Blog/c...DB13!150.entry
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
За это сообщение автора поблагодарили: Gustav (0), alex55 (1). |
08.10.2009, 17:36 | #2 |
MCTS
|
А кто-нибудь знает почему возвращаются значения '.' и '..' при обработке пустой директории и зачем в коде берется нижний регистр от точек?
|
|
Теги |
winapi |
|
|