Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




Функции объявлены в файлах 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 ‑ В и т.д.; возвращает чис­ло доступных дисков.

Диалоговые окна ввода и вывода сообщений

Назначение и порядок использования функций вывода диалоговых окон аналогичны одноименным функциям 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 Ansi­String &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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...