Лабораторная работа №24 / LR_2
.DOCЛабораторная работа 2. Операции над деревом каталогов
Цель работы. Разработать приложение для работы с деревом каталогов:
-
Возможности программы:
-
выдача данных о текущей директории, установка текущей директории;
-
выдача данных о системной директории или директории Windows;
-
операции на дереве каталогов.
-
Используемые функции Win32 API:
Таблица вариантов
|
Вар.01 |
Вар.02 |
Вар.03 |
Вар.04 |
Вар.05 |
Вар.06 |
Вар.07 |
Вар.08 |
Вар.09 |
Вар.10 |
GetCurrentDirectory |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
SetCurrentDirectory |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
GetSystemDirectory |
+ |
|
+ |
|
+ |
|
+ |
|
+ |
|
GetWindowsDirectory |
|
+ |
|
+ |
|
+ |
|
+ |
|
+ |
GetFullPathName |
+ |
|
|
|
|
|
|
|
|
|
GetLongPathName |
|
+ |
|
|
+ |
|
|
|
|
|
GetShortPathName |
|
|
+ |
|
|
+ |
|
+ |
+ |
|
SearchPath |
|
|
|
+ |
|
|
+ |
|
|
+ |
|
Вар.11 |
Вар.12 |
Вар.13 |
Вар.14 |
Вар.15 |
Вар.16 |
Вар.17 |
Вар.18 |
Вар.19 |
Вар.20 |
GetCurrentDirectory |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
SetCurrentDirectory |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
GetSystemDirectory |
+ |
|
+ |
|
+ |
|
+ |
|
+ |
|
GetWindowsDirectory |
|
+ |
|
+ |
|
+ |
|
+ |
|
+ |
GetFullPathName |
|
|
|
|
|
+ |
|
|
+ |
|
GetLongPathName |
|
+ |
|
|
+ |
|
|
+ |
|
+ |
GetShortPathName |
+ |
|
|
+ |
|
|
+ |
|
|
|
SearchPath |
|
|
+ |
|
|
|
|
|
|
|
Приложение 2. Функции и структуры для операций над деревом каталогов
DWORD GetCurrentDirectory( // Определение текущего каталога [out]
DWORD nBufferLength, // size of directory buffer – размер буфера для каталога [in]
LPTSTR lpBuffer // directory buffer – буфер для каталога [out]
);
BOOL SetCurrentDirectory( // Установка текущего каталога
LPCTSTR lpPathName // new directory name – новое имя каталога [in]
);
UINT GetSystemDirectory( // Определение системного каталога [out]
LPTSTR lpBuffer, // buffer for system directory – буфер для системного каталога [out]
UINT uSize // size of directory buffer– размер буфера [in]
);
UINT GetWindowsDirectory( // Определение каталога Windows [out]
LPTSTR lpBuffer, // buffer for Windows directory – буфер для каталога Windows [out]
UINT uSize // size of directory buffer – размер буфера [in]
);
DWORD GetFullPathName( // Определение полного пути к файлу [out]
LPCTSTR lpFileName, // file name – имя файла [in]
DWORD nBufferLength, // size of path buffer – размер буфера для пути [in]
LPTSTR lpBuffer, // path buffer – буфер для пути [out]
LPTSTR *lpFilePart // address of file name in path – адрес имени файла в пути [out]
);
DWORD GetLongPathName( // Преобразование пути в длинную форму [out]
LPCTSTR lpszShortPath, // file name – исходный (короткий) путь [in]
LPTSTR lpszLongPath, // path buffer – буфер длинного пути [out]
DWORD cchBuffer // size of path buffer – размер буфера длинного пути [in]
);
DWORD GetShortPathName( Преобразование пути в короткую форму [out]
LPCTSTR lpszLongPath, // null-terminated path string – исходный (длинный) путь [in]
LPTSTR lpszShortPath, // short form buffer - [in/out] – буфер для короткого пути [out]
DWORD cchBuffer // size of short form buffer – размер буфера для короткого пути [in]
);
DWORD SearchPath( // Поиск пути [out]
LPCTSTR lpPath, // search path – исходный путь для поиска [in]
LPCTSTR lpFileName, // file name – имя файла [in]
LPCTSTR lpExtension, // file extension – расширение имени файла [in]
DWORD nBufferLength, // size of buffer – размер буфера для искомого пути [in]
LPTSTR lpBuffer, // found file name buffer – буфер для искомого пути [out]
LPTSTR *lpFilePart // file component – адрес начала имени файла [out]
);