Ниже приведена таблица, содержащая стандартные процедуры и функции Delphi7 для работы с файлами и их краткое описание. Функции в таблице расположены в алфавитном порядке.
Наименование | Тип модуль |
Описание | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AssignFile | процедура System |
Связывает имя внешнего дискового файла с файловой переменной. procedure AssignFile(var F; FileName: string);
F - имя файловой переменной
|
||||||||||||||||||||
ChDir | процедура System |
Изменяет текущую директорию.
procedure ChDir(const S: string); overload;
|
||||||||||||||||||||
CloseFile | процедура System |
Разрывает связь между файловой переменной и внешним дисковым файлом. procedure CloseFile(var F);
|
||||||||||||||||||||
CreateDir | функция SysUtils |
Создает новую директорию. function CreateDir(const Dir: string): Boolean;
|
||||||||||||||||||||
DeleteFile | функция SysUtils |
Удаляет файл с диска. function DeleteFile(const FileName: string): Boolean;
|
||||||||||||||||||||
DirectoryExists | функция SysUtils |
Определяет существует ли указанная директория. function DirectoryExists(const Directory: string): Boolean;
|
||||||||||||||||||||
DiskFree | функция SysUtils |
Возвращает число свободных байт на указанном диске. function DiskFree(Drive: Byte): Int64; Drive - номер диска, где 0 = текущий диск, 1 = A, 2 = B ... и т.д.
|
||||||||||||||||||||
DiskSize | функция SysUtils |
Возвращает размер указанного диска в байтах. function DiskSize(Drive: Byte): Int64; Drive - номер диска, где 0 = текущий диск, 1 = A, 2 = B ... и т.д.
|
||||||||||||||||||||
File mode | константы System |
Используются для открытия и закрытия дисковых файлов. const fmClosed = $D7B0; // closed file const fmInput = $D7B1; // reset file (TTextRec) const fmOutput = $D7B2; // rewritten file (TTextRec) const fmInOut = $D7B3; // reset or rewritten file (TFileRec) const fmCRLF = $8; // DOS-style EoL and EoF markers (TTextRec) const fmMask = $D7B3; // mask out fmCRLF flag (TTextRec) Эти константы используются в первую очередь в Delphi коде, где поле Mode в TFileRec и TTextRec содержит одно из этих значений. |
||||||||||||||||||||
File open mode | константы SysUtils |
Константы режима открытия файла используются для контроля режима доступа к файлу или потоку.Для Windows:const fmCreate = $FFFF; fmOpenRead = $0000; fmOpenWrite = $0001; fmOpenReadWrite = $0002; fmShareCompat = $0000 platform; fmShareExclusive = $0010; fmShareDenyWrite = $0020; fmShareDenyRead = $0030 platform; fmShareDenyNone = $0040; Эти константы используются для конроля режима совместного доступа при открытии файла или потока. TFileStream конструктор имеет параметр Mode в котрый вы можете прописать одну из следующих констант:
|
||||||||||||||||||||
FileAccessRights | пременная | Points to the command-line arguments specified when the application is invoked. Только для Linux. В Windows эта переменная игнорируется. | ||||||||||||||||||||
FileAge | функция SysUtils |
Возвращает время последней модификации файла (timestamp) в формате операционной системы. Полученное значение может быть преобразовано в формат TDateTime при помощи функции FileDateToDateTime. function FileAge(const FileName: string): Integer;
|
||||||||||||||||||||
FileClose | процедура SysUtils |
Закрывает указанный файл. procedure FileClose(Handle: Integer);
|
||||||||||||||||||||
FileCreate | функция SysUtils |
Создает новый файл.
function FileCreate(const FileName: string): Integer; overload;
Если возвращаемое значение больше 0 функция выполнена успешно и его значение соответствует handle открытого файла.
-1 - произошла ошибка открытия файла.
|
||||||||||||||||||||
FileDateToDateTime | функция SysUtils |
Преобразует значение времени файла (timestamp) из формата операционной системы в TDateTime. function FileDateToDateTime(FileDate: Integer): TDateTime;
|
||||||||||||||||||||
FileExists | функция SysUtils |
Проверяет существует ли указанный файл. function FileExists(const FileName: string): Boolean;
|
||||||||||||||||||||
FileGetAttr | функция SysUtils |
Возвращает файловые аттрибуты заданного файла как строку бит. Возвращаемое значение полностью соответствует полю Attr в TSearchRec.. function FileGetAttr(const FileName: string): Integer;
|
||||||||||||||||||||
FileGetDate | функция SysUtils |
Возвращает время последней модификации файла (timestamp) в формате операционной системы. Используйте её для файла, заданного его handle. function FileGetDate(Handle: Integer): Integer;
|
||||||||||||||||||||
FileIsReadOnly | функция SysUtils |
Возвращает TRUE если файл можно открыть только для чтения. function FileIsReadOnly(const FileName: string): Boolean;
|
||||||||||||||||||||
FileOpen | функция SysUtils |
Открывает указанный файл в режиме, заданном при помощи одной из констант File open mode. function FileOpen(const FileName: string; Mode: LongWord): Integer; Если возвращаемое значение больше 0 функция выполнена успешно и его значение соответствует handle открытого файла. -1 - произошла ошибка открытия файла.
|
||||||||||||||||||||
FileRead | функция SysUtils |
Читает указанное число байт из файла в буфер. Перед этим файл должен быть открыт при помощи функции FileOpen или FileCreate. function FileRead(Handle: Integer; var Buffer; Count: Integer): Integer;
Handle - хендл файла, возвращаемый функциями FileCreate или FileOpen Возвращаемое значение - действительное количество полученных байт. Оно может быть меньше размера буфера.
|
||||||||||||||||||||
FileSearch | функция SysUtils |
Ищет файл в указанных папках. function FileSearch(const Name, DirList: string): string;
Name - короткое имя файла Возвращаемое значение - полное имя файла. Если файл не найден - пустая строка.
|
||||||||||||||||||||
FileSeek | функция SysUtils |
Перепозиционирует позицию чтения/записи в открытом файле. Перед этим файл должен быть открыт при помощи функции FileOpen или FileCreate.
function FileSeek(Handle, Offset, Origin: Integer): Integer; overload;
Handle - хендл файла, возвращаемый функциями FileCreate или FileOpen Если FileSeek выполнена успешно, она возвращает новую позицию точки чтения/записи; иначе она возвращает -1.
|
||||||||||||||||||||
FileSetAttr | функция SysUtils |
Устанавливает файловые аттрибуты заданного файла. function FileSetAttr(const FileName: string; Attr: Integer): Integer; Значение Attr формируется комбинацией соответствующих констант файловых аттрибутов как показано ниже:
Возвращаемое значение - 0; иначе - код ошибки. Примечание: Значения констант файловых аттрибутов приведены в описании TSearchRec. Примечание: FileSetAttr доступна только для Windows.
|
||||||||||||||||||||
FileSetDate | функция SysUtils |
Устанавливаетвремя последней модификации файла (timestamp) в формате операционной системы.
Для Windows:
Cross-platform:
Handle - handle файла для изменения (Этот синтаксис доступен только для Windows.); Возвращаемое значение - 0; иначе - код ошибки.
|
||||||||||||||||||||
FileSetReadOnly | функция SysUtils |
Разрешает использовать файл только для чтения. function FileSetReadOnly(const FileName: string; ReadOnly: Boolean): Boolean;
|
||||||||||||||||||||
FileWrite | функция SysUtils |
Записывает содержимое буфера в текущую позицию в файле. function FileWrite(Handle: Integer; const Buffer; Count: Integer): Integer;
Handle - хендл файла, возвращаемый функциями FileCreate или FileOpen Возвращаемое значение - действительное количество записаных байт или -1 в случае ошибки.
|
||||||||||||||||||||
FindClose | процедура SysUtils |
Освобождает память, выделенную под функцию FindFirst и прерывает последовательность FindFirst/FindNext. procedure FindClose(var F: TSearchRec);
|
||||||||||||||||||||
FindFirst | функция SysUtils |
Ищет первый файл с заданными аттрибутами в указанной папке. function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;
Path - имя папки и маска имен файлов для поиска, включая wildcard characters. (Например, '.\test\*.*' задает все файлы в текущей папке.) Возвращаемое значение - 0, если файл найден; иначе - код ошибки.
|
||||||||||||||||||||
FindNext | функция SysUtils |
Возвращает имя следующего файла с параметрами, предварительно заданными функцией FindFirst. function FindNext(var F: TSearchRec): Integer; F - возвращаемый параметр. Результат работы функции. Возвращаемое значение - 0, если файл найден; иначе - код ошибки.
|
||||||||||||||||||||
ForceDirectories | функция SysUtils |
Создает новую папку, включая родительские папки, если они до этого не существовали, и родительские папки. function ForceDirectories(Dir: string): Boolean;
|
||||||||||||||||||||
GetCurrentDir | функция SysUtils |
Возвращает полное имя рабочей папки. function GetCurrentDir: string;
|
||||||||||||||||||||
GetDir | процедура System |
Возвращает имя рабочей папки. procedure GetDir(D: Byte; var S: string);
D - номер диска, где 0 = текущий диск, 1 = A, 2 = B, 3 = C ... и т.д. |
||||||||||||||||||||
RemoveDir | функция SysUtils |
Удаляет существующую пустую папку. function RemoveDir(const Dir: string): Boolean;
|
||||||||||||||||||||
RenameFile | функция SysUtils |
Изменяет имя файла. function RenameFile(const OldName, NewName: string): Boolean
|
||||||||||||||||||||
SetCurrentDir | функция SysUtils |
Назначает рабочую папку. function SetCurrentDir(const Dir: string): Boolean;
|
TSearchRec содержит информацию о файле, найденом при помощи функции FindFirst или FindNext.
Модуль
SysUtils
Для Windows: type TSearchRec = record Time: Integer; Size: Integer; Attr: Integer; Name: TFileName; ExcludeAttr: Integer; FindHandle: THandle; FindData: TWin32FindData; end;
Описание
Тип TSearchRec определяет информацию о файле, найденую путем вызова функции FindFirst или FindNext. Если файл найлен, поля параметров TSearchRec изменяются в соответствии с найденным файлом.
Attr - представляет файловые аттрибуты файла. Проверяйте параметр Attr на следующие константы аттрибутов или их значения чтобы узнать какие аттрибуты назначены данному файлу.
В Windows константы аттрибутов полностью соответствуют файловым аттрибутам DOS.
Константа |
Значение |
Описание |
---|---|---|
faReadOnly | 1 | Файлы Только для чтения |
faHidden | 2 | Скрытые файлы |
faSysFile | 4 | Системные файлы |
faVolumeID | 8 | Файлы идентификации тома |
faDirectory | 16 | Файлы папок |
aArchive | 32 | Архивные файлы |
faSymLink | 64 | Символьная ссылка |
faAnyFile | 71 | Любые файлы |
Примечание:
Константа faReadOnly из модуля SysUtils имеет то же самое имя, что и константа из модуля Db, определенная в типе TFieldAttribute. Если в своих исходниках вы одновременно используете модули SysUtils и Db, то, чтобы исключить неопределенность, необходимо конкретно указывать из какого модуля вы используете значение константы faReadOnly. В Delphi это записывается так: SysUtils.faReadOnly.
Чтобы проверить файл на определенный аттрибут, комбинируйте значение поля Attr с соотвтствующей константой при помощи оператора AND. Если файл имеет этот аттрибут, результат будет больше 0. Например, если найденый файл является скрытым, то следующие выражения дадут значение TRUE:
Код:
(SearchRec.Attr and faHidden) <> 0. (SearchRec.Attr & faHidden) != 0. |
Time содержит время последнего изменения файла. Оно может быть преобразовано в формат TDateTime при помощи функции FileDateToDateTime.
Size содержит размер файла в байтах.
Name содержит короткое имя файла с расширением.
FindHandle is an internal handle used to track find state.
FindData (только для Windows) содержит дополнительную информацию, такую как время создания файла, время последнего доступа, а так же длинное и короткое имя файла. См. тип TWin32FindData.
Платонов А.Н.
15.04.2009
Список литературы: