Показать сообщение отдельно
Старый 28.02.2012, 12:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,646 / 848 (80) +++++++
Регистрация: 28.10.2006
axforum blogs: Перебор содержимого папки в X++
Источник: http://axforum.info/forums/blog.php?b=321
==============

Нашел замечательную статью, где описано как с помощью WinAPI из X++ перебрать содержимое папки.

X++:
static void FindFile(Args _args)
{
    #File
    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;
        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://axforum.info/forums/blog.php?b=321
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.