Управление каталогами и файлами на дисках
Функции объявлены в файлах 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, constSystem::AnsiString 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::AnsiString NewName) ‑ переименовывает файл OldName на новое имя NewName; если файл NewName уже существует или нет файла OldName, возвращается false. bool SetCurrentDir(const System::AnsiString Dir) ‑ задает Dir в качестве текущего каталога. int setdisk(int drive) ‑ устанавливает в качестве текущего диск drive: 0 ‑ А, 1 ‑ В и т.д.; возвращает число доступных дисков. Диалоговые окна ввода и вывода сообщений Назначение и порядок использования функций вывода диалоговых окон аналогичны одноименным функциям Delphi (п. 1.7.6). Функции объявлены в файлах Dialogs.hpp, FileCtrl.hpp. Int Application->MessageBox(const char *S1, const char *S2, int Flag ‑ метод выводит текст сообщения S1 в окно с заголовком S2 с указанным видом и набором кнопок, заданным параметром Flag (именованные константы указываются прописными буквами) (п. 1.7.6). Пример if (Application->MessageBox("Закончить работу?","Запрос", MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON2)==IDYES) Close(); AnsiString InputBox(const AnsiString S1, const AnsiString S2, const AnsiString S3) ‑ вывод окна с заголовком S1, с текстом сообщения S2, с текстовым полем для ввода сообщения пользователя с умалчиваемым значением S3 и с кнопками OK и Cancel. Функция возвращает введенное пользователем сообщение (п. 1.7.6). bool InputQuery(const AnsiString S1, const AnsiString S2, AnsiString &S3) -функция аналогична функции InputBox, но возвращает True/False при нажатии кнопки OK/Cancel, а введенное значение ‑ в S3 (п. 1.7.6). void ShowMessage(const System::AnsiString S) ‑ вывод окна с текстом сообщения S и с кнопкой OK (ShowMessage(‘Выполняется сортировка»)). void ShowMessageFmt(const System::AnsiString S, OPENARRAY(TvarRec, (arg1, arg2,...)))) ‑ вывод окна с текстом строк сообщения arg1, arg2,... и отформатированых строкой S (ShowMessageFmt(«Рост %d, вес %v «, OPENARRAY(TvarRec, (N1, N2)))). MessageDlg,MessageDlgPos, CreateMessageDialog- функции вывода сообщений (п. 1.7.6). bool SelectDirectory(const AnsiString S1, const AnsiString S2, const AnsiString &S3) ‑ вывод окна для поиска файла с текстом сообщения S1, с корневым каталогом S2. Имя выбранного файла помещается в S3. Функция возвращает значение True/False при нажатии кнопки Ok/Cancel. Воспроизведение звуков Назначение и порядок использования функций вывода диалоговых окон аналогичны одноименным функциям Delphi (п. 1.7.7).
Функции объявлены файлах SysUtils.hpp, mmsystem.hpp. bool Beep(DWORD G, DWORD T) ‑ подача звукового сигнала с частотой G герц (37‑32767) и длительностью T миллисекунд (только для Windows NT) (SysUtils.hpp). bool MessageBeep(UINT N) ‑ подача звукового сигнала типа N (п. 1.7.7). bool PlaySound(LPCSTR S, HNODULE Hmod, DWORD fdwSound ‑ воспроизводит звук источника S (mmsystem.hpp) (п. 1.7.7). Пример: PlaySound(«c:\Win98\media\The Microsoft Sound.wav»,0, SND_FILENAME | SND_ASYNC);
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|