Инструменты пользователя

Инструменты сайта


axapta:класс:winapi

Object содержит статические члены – функции WinAPI. Наберите в редакторе кода WinApi:: и увидите список функций. См также: ТекстовыеФайлы

методы

  • ShellExecute – выполнить внешнюю программу
  • FileExists (_name) – возвращает true, если _name – имя существуюшего файла
  • FolderExists (_name) – возвращает true, если _name – имя существуюшего файла или папки
  • PathExists (_name) – возвращает true, если _name – имя существуюшей папки

пример

Перебор содержимого папки

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');
}

источники

axapta/класс/winapi.txt · Последнее изменение: 2018/04/13 22:43 (внешнее изменение)