Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
66
Добавлен:
13.05.2015
Размер:
9.35 Mб
Скачать

6.4.10. Управление каталогами и файлами на дисках

Функции объявлены в файлах direct.h, dir.h, SysUtils.hpp, io.h, FileCtrl.hpp, stdio.h.

char * _getdcwd(int drive, char *buffer, int buflen) ‑ заносит в буферbuffer размеромbuflen текущий каталог дискаdrive(0 - текущий диск, 1 - А и т.д.); возвращает указатель наbuffer илиNULL; приbuffer = NULLсоздает буфер и возвращает указатель на него.

int _rmdir(const char *path) ‑ удаляет каталогpath (пустой, не текущий и не корневой); возвращает 0 при успехе или -1.

int _unlink(const char *filename) ‑ удаляет с диска файл.

bool CreateDir(const System::AnsiString Dir) ‑ создает каталог Dir и возвращает true в случае успеха.

bool DeleteFile(const System::AnsiString FileName) ‑ удаляет файл FileName с диска и возвращает true в случае успеха.

bool DirectoryExists(const System::AnsiString Name) ‑ определяет, сущест­ву­ет ли каталог Name.

int DiskFree/DiskSize(Byte Drive) ‑ возвращает число свободных/всех байтов на дискеDrive или -1, еслиDrive ошибочный (Drive =0 - текущий диск, 1 - А, 2 - В и т.д.).

int FileAge(const System::AnsiString FileName) ‑ возвращает дату создания файлаFileName или -1, если такого файла нет.

bool FileExists(const System::AnsiString FileName) ‑ определяет, сущест­вует ли файл FileName.

int FileGetAttr(const System::AnsiString FileName) ‑ возвращает атрибуты файла FileName.

int FileGetDate(int Handle) ‑ возвращает дату создания файла с дескрипторомHandle или -1, если такого файла нет.

long filelength(int handle) ‑ возвращает длину в байтах файла с дескрипторомhandle; при ошибке возвращает -1.

System::AnsiString FileSearch(constSystem::AnsiString Name, const­System::An­si­String DirList)‑ ищет в списке каталоговDirList файлName; возвращает полный путь к файлу или пустую строку.

int FileSetAttr(constSystem::AnsiString FileName, int Attr) ‑ устанавливает файлуFileName атрибутыAttr; возвращает 0 или код ошибки.

void FindClose(TSearchRec &F) ‑ завершает последовательность поиска функциямиFindFirst иFindNext со структуройF и освобождает память.

int FindFirst (constSystem::AnsiString Path, int Attr, TsearchRec &F) - на­чи­нает поиск файлов по шаблонуPath с атрибутамиAttr; заносит результат вF; возвращает 0 или код ошибки.

int findfirst (const char _FAR * _path, struct ffblk _FAR * _ffblk, int _attrib) ‑ начинает поиск файлов по шаблону_path с атрибутами_ffblk; возвращает 0 при успехе или -1.

int FindNext(TSearchRec &F) ‑ продолжает поиск файлов, начатый фун­к­ци­ейFindFirst со структуройF; заносит результат вF; возвращает 0 или код ошибки.

int findnext(struct ffblk _FAR * _ffblk) ‑ продолжает поиск файлов, начатый функциейfindfirst со структурой_ffblk; возвращает 0 при успехе или -1.

void fnmerge(char *path, const char *drive, const char *dir, const char *name, const char *ext) ‑ формирует строкуpath пути к файлу из его отдельных составляющих: дискаdrive, каталогаdir, имени файлаname и расширениеext.

int fnsplit (const char *path, char *drive, char *dir, char *name, char *ext) - раз­деляет строкуpath пути к файлу на его отдельные составляющие: дискdrive, каталогdir, имя файлаname и расширениеext.

Void ForceDirectories(System::AnsiString Dir) ‑ создает каталогDir и все промежуточные родительские каталоги, если они отсутствуют.

int fstat(int handle, struct stat *statbuf) ‑ заносит в структуру statbuf ин­фор­ма­цию об открытом файле с дескриптором handle; возвращает 0 или -1.

int getcurdir(int drive, char *directory) ‑ заносит в directory текущий каталог диска drive (0 - текущий диск, 1 - А и т.д.) без имени диска и начального символа «\ «.

System::AnsiString GetCurrentDir() ‑ возвращает текущий каталог.

char *getcwd(char *buf, int buflen) ‑ возвращает и сохраняет в буфере buf разме­ром buflen полный путь к текущему ката­логу, включая диск; возвращает указатель на buf или NULL; при buf = NULL создает буфер и возвращает указатель на него.

int getdisk(void) ‑ возвращает текущий диск: 0 ‑ А, 1 ‑ В и т.д.

int getftime(int handle, struct ftime *ftimep) ‑ читает время и дату создания файла handle в структуру ftimep; возвращает 0 или -1.

int mkdir(const char *path) ‑ создает каталог path; возвращает 0 при успехе или -1.

int remove(const char *filename) ‑ макрос, удаляет с диска файл filename; возвращает 0 или -1.

bool RemoveDir(const System::AnsiString Dir) ‑ удаляет с диска каталог Dir.

int rename(const char *oldname, const char *newname) ‑ переименовывает файл oldname на имя newname; может использоваться для перемещения файла без изменения дис­ка; возвращает 0 или -1

bool RenameFile(const System::AnsiString OldName, const System::Ansi­String NewName) ‑ переименовывает файл OldName на новое имя NewName; если файл NewName уже существует или нет файла OldName, возвращается false.

bool SetCurrentDir(const System::AnsiString Dir) ‑ задает Dir в качестве текущего каталога.

int setdisk(int drive) ‑ устанавливает в качестве текущего диск drive: 0 ‑ А, 1 ‑ В и т.д.; возвращает чис­ло доступных дисков.