FileSetDate — Функция Delphi

FileSetDate — Функция Delphi

Ниже описываются Delphi функции для работы с файлами. В таблице содержатся практически все Delphi функции для работы с файлами, как создающие, переименовывающие, удаляющие файлы и каталоги, так и Delphi функции поиска файлов, обладающих заданными характеристиками.

procedure AssignFile Связывает файловую переменную F с именем файла FileName.
procedure ChDir Изменяет текущий каталог. Path — переменная, задающая путь к устанавливаемой по умолчанию папке.
procedure CloseFile Закрывает файл, однако связь файловой переменной с именем файла, установленная ранее процедурой AssignFile сохраняется. Функции процедуры CloseFile на системном уровне выполняются автоматически по отношению ко всем открытым файлам при нормальном завершении программы. Если после применения процедуры CloseFile файл нужно открыть повторно, процедуру AssignFile можно не применять, так как связь файловой переменной с файлом не разрывается.
function DateTimeToFileDate Преобразует значение переменной DateTime типа TDateTime Delphi в системный формат времени создания (обновления) файла.
function FileDateToDateTime Преобразует системный формат времени создания (обновления) файла в формат TDateTime Delphi.
function DiskFree Возвращает объём в байтах свободного пространства на указанном диске. Переменная D — номер диска (0 — устройство по умолчанию, текущий диск; 1 — диск А; 2 — диск B; 3 — диск С и т.д.). Функция возвращает значение -1, если указан номер несуществующего диска.
function DiskSpace Возвращает объём в байтах полного пространства на указанном диске. Переменная D — номер диска (0 — устройство по умолчанию, текущий диск; 1 — диск А; 2 — диск B; 3 — диск С и т.д.). Функция возвращает значение -1, если указан номер несуществующего диска.
function EOF Тестирует конец файла и возвращает True, если файловый указатель стоит в конце файла. При записи это означает, что очередной компонент будет добавлен в конец файла, при чтении — что файл исчерпан.
procedure Erase Уничтожает файл F. Перед выполнением процедуры файл должен быть закрыт процедурой CloseFile.
function FileAge Для файла FileName возвращает время его последнего обновления (в системном формате) или -1, если такого файла не существует.
function FileExists Возвращает True, если файл FileName существует, и False в противном случае.
function FileGetDate По заданному дескриптору файла Handle возвращает время и дату его создания (в системном формате). Если дескриптор не существует, возвращает -1.
function FileSetDate Возвращает в переменной F типа TSearchRec первый из файлов, зарегистрированных в указанном каталоге. Path: путь поиска с маской выбора файлов; Attr: атрибуты выбираемых файлов.
function FindNext (var F: TSearchRec): Integer; Возвращает в переменной F следующий файл в каталоге. Переменная F должна быть предварительно инициирована обращением к функции FindFirst.
procedure FindClose Освобождает память, выделенную для поиска файлов функциями FindNext и FindFirst.
procedure Flush(var F); Очищает внутренний буфер файла, гарантируя тем самым сохранность всех последних изменений файла на диске.
procedure GetDir (D: Byte; var S: String); Возвращает текущий каталог (каталог по умлочанию). D — номер устройства (0: устройство по умолчанию, 1 — диск А, 2 — диск В и т.д.); S — переменная типа String, в которой возвращается путь к текущему каталогу на указанном диске.
procedure MkDir (Dir: String); Создаёт новый каталог на текущем диске. Dir — адрес нового каталога, который не может совпадать с именем уже существующего каталога.
procedure Rename (var F; NewName: String); Переименовывает, т.е. задаёт новые адрес и имя файла F.
NewName — строковое выражение, содержащее новые адрес и имя файла. Перед выполнением процедуры необходимо закрыть файл.
procedure Reset (var F: File[; RecSize: Word]); Открывает существующий файл. Переменная RecSize имеет смысл только для нетипизированных файлов и указывает размер блока данных.
procedure Rewrite (var F: File[; RecSize: Word]); Создаёт новый файл. Переменная RecSize имеет смысл только для нетипизированных файлов и указывает размер блока данных.
procedure RmDir (Dir: String); Удаляет каталог Dir. Удаляемый каталог должен быть пустым, т.е. не содержать файлов или вложенных каталогов.
function CopyFile (OldName, NewName: AnsiChar; FileExists: Boolean): Boolean; Копирует файл. Эта функция — не встроенная функция Delphi, а одна из API функций ОС Windows. Возможность работать с ними программа получает после добавления в секцию uses модуля Windows. Параметры функции:
OldName — прежние адрес и имя файла;
NewName — новые адрес и имя файла;
FileExists — переменная, определяющая реакцию на существование файла по новому адресу. При FileExists=False файл будет перезаписан. При FileExists=True функция завершится ошибкой.
function GetLogicalDrives: Cardinal; Эта функция — также из состава WinAPI функций. Как и следует из её названия, позволяет получить структуру логических дисков компьютера. Пример её использования смотрите в комментариях к предыдущей страничке, в ответе на вопрос «как определить состав дисков компьютера»

Работа с файлами В начало урока Работа с дополнительными формами

Одиссей, добавлено 20.08.10, 11:03:29
В таблице отсутствуют функции для записи и чтения файлов! А в остальном очень полезный материал, практически можно научиться работать с файлами, изучив данную таблицу. Автор, добавлено 20.08.10, 11:06:54
В этой таблице содержатся функции управления файлами, а функции записи и чтения можно изучить, читая соответствующие уроки, посвящённые данным вопросам. А эта страничка даже не урок, а просто справочный материал. Вадим Мошев, добавлено 9.04.12, 15:31:27
Здравствуйте. У вас, наверное, описка?
Написано function Erase (var F);
и описание: Уничтожает файл F. Перед выполнением процедуры файл должен быть закрыт процедурой CloseFile.

Наверное, вы хотели написать не function, а Procedure?
То есть, Procedure Erase (var F). Андрей, добавлено 9.04.12, 15:54:27
Вадим, спасибо за внимательность! Сейчас исправлю.

FileSetDate — Функция Delphi

Version 1 of this function takes a FileHandle parameter to indicate the file. This requires use of the FileOpen function, which is one of the low level file handling routines in Delphi.

Version 2 of this function takes a FileName parameter to define the file.

The file is searched for in the current directory.

The second parameter, FileAge is an Integer date/time representation that is used to change the last modified date/time of the file.

Илон Маск рекомендует:  Что такое код mcrypt_cbc

Типы, функции и процедуры Delphi для работы с файлами.

Содержание:


Процедуры и функции для работы с файлами.


Тип TSearchRec.


Тип TWin32FindData.


Процедуры и функции для работы с файлами

Ниже приведена таблица, содержащая стандартные процедуры и функции Delphi7 для работы с файлами и их краткое описание. Функции в таблице расположены в алфавитном порядке.

Связывает имя внешнего дискового файла с файловой переменной.

procedure AssignFile(var F; FileName: string);

F — имя файловой переменной
FileName — имя файла

Изменяет текущую директорию.

procedure ChDir(const S: string); overload;
procedure ChDir(P: PChar); overload;

Разрывает связь между файловой переменной и внешним дисковым файлом.

procedure CloseFile(var F);

Создает новую директорию.

function CreateDir(const Dir: string): Boolean;

Удаляет файл с диска.

function DeleteFile(const FileName: string): Boolean;

Определяет существует ли указанная директория.

function DirectoryExists(const Directory: string): Boolean;

Возвращает число свободных байт на указанном диске.

function DiskFree(Drive: Byte): Int64;

Drive — номер диска, где 0 = текущий диск, 1 = A, 2 = B . и т.д.

Возвращает размер указанного диска в байтах.

function DiskSize(Drive: Byte): Int64;

Drive — номер диска, где 0 = текущий диск, 1 = A, 2 = B . и т.д.

Возвращает время последней модификации файла (timestamp) в формате операционной системы. Полученное значение может быть преобразовано в формат TDateTime при помощи функции FileDateToDateTime.

function FileAge(const FileName: string): Integer;

Закрывает указанный файл.

procedure FileClose(Handle: Integer);

Создает новый файл.

function FileCreate(const FileName: string): Integer; overload;
function FileCreate(const FileName: string; Rights: Integer): Integer; overload;

Если возвращаемое значение больше 0 функция выполнена успешно и его значение соответствует handle открытого файла. -1 — произошла ошибка открытия файла.
Параметр Rights используется только для Linux. В Windows он игнорируется.

Преобразует значение времени файла (timestamp) из формата операционной системы в TDateTime.

function FileDateToDateTime(FileDate: Integer): TDateTime;

Проверяет существует ли указанный файл.

function FileExists(const FileName: string): Boolean;

Возвращает файловые аттрибуты заданного файла как строку бит. Возвращаемое значение полностью соответствует полю Attr в TSearchRec..

function FileGetAttr(const FileName: string): Integer;

Возвращает время последней модификации файла (timestamp) в формате операционной системы. Используйте её для файла, заданного его handle.

function FileGetDate(Handle: Integer): Integer;

Возвращает TRUE если файл можно открыть только для чтения.

function FileIsReadOnly(const FileName: string): Boolean;

Открывает указанный файл в режиме, заданном при помощи одной из констант File open mode.

function FileOpen(const FileName: string; Mode: LongWord): Integer;

Если возвращаемое значение больше 0 функция выполнена успешно и его значение соответствует handle открытого файла. -1 — произошла ошибка открытия файла.

Читает указанное число байт из файла в буфер. Перед этим файл должен быть открыт при помощи функции FileOpen или FileCreate.

function FileRead(Handle: Integer; var Buffer; Count: Integer): Integer;

Handle — хендл файла, возвращаемый функциями FileCreate или FileOpen
Buffer — буфер
Count — размер буфера

Возвращаемое значение — действительное количество полученных байт. Оно может быть меньше размера буфера.

Ищет файл в указанных папках.

function FileSearch(const Name, DirList: string): string;

Name — короткое имя файла
DirList — список директорий для поиска. Для Windows директории для поиска в списке отделяются друг от друга точкой с запятой, а в Linux — двоеточием.

Возвращаемое значение — полное имя файла. Если файл не найден — пустая строка.

Перепозиционирует позицию чтения/записи в открытом файле. Перед этим файл должен быть открыт при помощи функции FileOpen или FileCreate.

function FileSeek(Handle, Offset, Origin: Integer): Integer; overload;
function FileSeek(Handle: Integer; const Offset: Int64; Origin: Integer): Int64;overload;

Handle — хендл файла, возвращаемый функциями FileCreate или FileOpen
Offset — указывает число байт смещения от Origin, куда будет перепозизиционирована точка.
Origin — определяет три варианта позиционирования:
0 — смещение задается относительно начала файла;
1 — смещение задается относительно текущей позиции;
2 — смещение задается относительно конца файла.

Если FileSeek выполнена успешно, она возвращает новую позицию точки чтения/записи; иначе она возвращает -1.

Устанавливает файловые аттрибуты заданного файла.

function FileSetAttr(const FileName: string; Attr: Integer): Integer;

Значение Attr формируется комбинацией соответствующих констант файловых аттрибутов как показано ниже:

Возвращаемое значение — 0; иначе — код ошибки.

Примечание: Значения констант файловых аттрибутов приведены в описании TSearchRec.

Примечание: FileSetAttr доступна только для Windows.

Устанавливаетвремя последней модификации файла (timestamp) в формате операционной системы.

Для Windows:
function FileSetDate(Handle: Integer; Age: Integer): Integer; overload;

Cross-platform:
function FileSetDate(const FileName: string; Age: Integer): Integer; overload;

Handle — handle файла для изменения (Этот синтаксис доступен только для Windows.);
FileName — имя файла;
Age — устанавливаемое время модификации в формате операционной системы. Используйте функцию DateTimeToFileDate для перевод времени из формата TDateTime в формат операционной системы.

Возвращаемое значение — 0; иначе — код ошибки.

Разрешает использовать файл только для чтения.

function FileSetReadOnly(const FileName: string; ReadOnly: Boolean): Boolean;

Записывает содержимое буфера в текущую позицию в файле.

function FileWrite(Handle: Integer; const Buffer; Count: Integer): Integer;

Handle — хендл файла, возвращаемый функциями FileCreate или FileOpen
Buffer — буфер
Count — число байт, передаваемых файлу из буфера

Возвращаемое значение — действительное количество записаных байт или -1 в случае ошибки.

Освобождает память, выделенную под функцию FindFirst и прерывает последовательность FindFirst/FindNext.

Ищет первый файл с заданными аттрибутами в указанной папке.

function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;

Path — имя папки и маска имен файлов для поиска, включая wildcard characters. (Например, ‘.\test\*.*’ задает все файлы в текущей папке.)
Attr — аттрибут, указывающий включать в поиск специальные файлы в дополнение к нормальным. Аттрибуты можно комбинировать, складывая значения. Например, (faReadOnly + faHidden).
F — возвращаемый параметр. Результат работы функции.

Возвращаемое значение — 0, если файл найден; иначе — код ошибки.

Возвращает имя следующего файла с параметрами, предварительно заданными функцией FindFirst.

F — возвращаемый параметр. Результат работы функции.

Возвращаемое значение — 0, если файл найден; иначе — код ошибки.

Создает новую папку, включая родительские папки, если они до этого не существовали, и родительские папки.

function ForceDirectories(Dir: string): Boolean;

Возвращает полное имя рабочей папки.

function GetCurrentDir: string;

Возвращает имя рабочей папки.

procedure GetDir(D: Byte; var S: string);

D — номер диска, где 0 = текущий диск, 1 = A, 2 = B, 3 = C . и т.д.
S — возвращаемый параметр. Результат работы процедуры.

Удаляет существующую пустую папку.

function RemoveDir(const Dir: string): Boolean;

Изменяет имя файла.

function RenameFile(const OldName, NewName: string): Boolean

Назначает рабочую папку.

function SetCurrentDir(const Dir: string): Boolean;

Тип TSearchRec

TSearchRec содержит информацию о файле, найденом при помощи функции FindFirst или FindNext.

Тип TSearchRec определяет информацию о файле, найденую путем вызова функции FindFirst или FindNext. Если файл найлен, поля параметров TSearchRec изменяются в соответствии с найденным файлом.

Attr — представляет файловые аттрибуты файла. Проверяйте параметр Attr на следующие константы аттрибутов или их значения чтобы узнать какие аттрибуты назначены данному файлу.

В Windows константы аттрибутов полностью соответствуют файловым аттрибутам DOS.

Наименование Тип
модуль
Описание
AssignFile процедура
System
ChDir процедура
System
CloseFile процедура
System
CreateDir функция
SysUtils
DeleteFile функция
SysUtils
DirectoryExists функция
SysUtils
DiskFree функция
SysUtils
DiskSize функция
SysUtils
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:

Эти константы используются для конроля режима совместного доступа при открытии файла или потока.

TFileStream конструктор имеет параметр Mode в котрый вы можете прописать одну из следующих констант:

Константа Описание
fmCreate Если файл уже существует, то он открывается для записи, иначе создается новый файл. В отличие от других констант, которые декларируются в модуле SysUtil, эта константа декларируется в модуле classes.
fmOpenRead Открываетдоступ только для чтения.
fmOpenWrite Открываетдоступ только для записи.
fmOpenReadWrite Открывает доступ для чтения и записи.
fmShareCompat Compatible with the way FCBs are opened. Не используйте этот режим в кросс-платформенных приложениях.
fmShareExclusive Доступ к чтению и записи запрещен.
fmShareDenyWrite Доступ для записи запрещен.
fmShareDenyRead Доступ для чтения запрещен. Не используйте этот режим в кросс-платформенных приложениях.
fmShareDenyNone Открывает полный доступ для других.
FileAccessRights пременная Points to the command-line arguments specified when the application is invoked. Только для Linux. В Windows эта переменная игнорируется.
FileAge функция
SysUtils
FileClose процедура
SysUtils
FileCreate функция
SysUtils
FileDateToDateTime функция
SysUtils
FileExists функция
SysUtils
FileGetAttr функция
SysUtils
FileGetDate функция
SysUtils
FileIsReadOnly функция
SysUtils
FileOpen функция
SysUtils
FileRead функция
SysUtils
FileSearch функция
SysUtils
FileSeek функция
SysUtils
FileSetAttr функция
SysUtils
FileSetDate функция
SysUtils
FileSetReadOnly функция
SysUtils
FileWrite функция
SysUtils
FindClose процедура
SysUtils
FindFirst функция
SysUtils
FindNext функция
SysUtils
ForceDirectories функция
SysUtils
GetCurrentDir функция
SysUtils
GetDir процедура
System
RemoveDir функция
SysUtils
RenameFile функция
SysUtils
SetCurrentDir функция
SysUtils
Константа Значение Описание
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:

Time содержит время последнего изменения файла. Оно может быть преобразовано в формат TDateTime при помощи функции FileDateToDateTime.

Size содержит размер файла в байтах.

Name содержит короткое имя файла с расширением.

FindHandle is an internal handle used to track find state.

FindData (только для Windows) содержит дополнительную информацию, такую как время создания файла, время последнего доступа, а так же длинное и короткое имя файла. См. тип TWin32FindData.

FileSetDate — Функция Delphi

Увжаемые программисты! Объясните, пожалуйста, почему не работает следующая процедура по установке времени создания файла — вроде бы писалась строго по справке. Заранее спасибо!

Procedure SetFileDateEx(FileName:String; fFileDate:TDateTime);
Var
F:Cardinal;
FileTime: TFileTime;
SystemTime: TSystemTime;
Begin
If FileExists(FileName) Then
Begin
F:=FileOpen(FileName,GENERIC_WRITE);
DateTimeToSystemTime(fFileDate,SystemTime);
SystemTimeToFileTime(SystemTime,FileTime);
SetFileTime(F,@FileTime,nil,nil);
FileClose(F);
ZeroMemory(@FileTime,SizeOf(@FileTime));
End
Else
MessageBoxEx(0,»Файл по указанному адресу не найден»,»Ошибка»,MB_IconError,0);
End;

А GetLastError не пробовали ? :-)

>Игорь Шевченко Благодарю Вас за то, что Вы откликнулись на мой вопрос. Но к сожалению, я не умею использовать результат GetLastError.
Если вызвать GetLastError сразу же после вызова процедуры SetFileDateEx, то возвращаемое значение равно 5-ти. Что это означает?

К этому файлу у вас нет доступа (скорее всего, это происходит не после SetFileTime, а после FileOpen)

А писать надо так:

if NOT SetFileTime(F,@FileTime,nil,nil) then
RaiseLastWin32Error;

Но чем это можно объяснить? Например, я создаю файл D:\1.txt и хочу изменить дату его создания, вызвав процедуру:

Чем может быть обусловлена такая ошибка в этом случае?

Попробуйте Сначала закрыть файл, а уже потом изменить его дату

>я не умею использовать результат GetLastError
SysErrorMessage(GetLastError)

Если вопрос стоит тольок в том, чтобы обьяснить — на мой взгляд, проблема в этом параметре GENERIC_WRITE при открытии файла. Скорее всего, если поставить просто fmOpenWrite, то всё будет работать. Однако, мне также неясно зачем использовать столько перекодировок из формата в формат? В общем-то, по-моуму, можно написать и проще, хотя бы так:
F:=FileOpen(FileName,fmOpenWrite);
If FileSetDate(f, DateTimeToFileDate(fFileDate)) <> 0 then Showmessage(«Ошибка!»);
FileClose(F);

Хочу ещё раз поблагодарить всех тех, кто откликнулся на мой вопрос!

>Cobalt Если делать именно так, то возвращается ошибка «Неверный дескриптор». Но всё равно, спасибо за помощь! :)

Но я никак не могу понять, почему постоянно отказано в доступе абсолютно к любому файлу именно при вызове SetFileTime. К сожалению, замена Generic_Write на fmOpenWrite ни к чему не привела..

Функция FileSetDate представляет собой функцию Delphi и сама использует функцию SetFileTime, т. е. если работает она, то и другая обязана работать. На самом деле, на мой взгляд, проще использовать уже готовую функцию, чем придумывать новую. Другое дело, что SetFileTime позволяет изменять то, что первая не может изначально (при желании можно исправить).
Насчёт Generic_Write и fmOpenWrite. Да, в помощи действительно сказано, что файл должен обязательно открыт с доступом GENERIC_WRITE, но там не сказано, что параметр fmOpenWrite функции FileOpen автоматически подразумевает открытие с таким доступом. А вот указание GENERIC_WRITE непосредственно не передаёт этот параметр функции API, которая и открывает на самом деле файл. Просто несовпадение помощи по функциям API и собственно Delphi.
Но вот последняя часть — лично у меня простая замена лишает все проблемы. Если этого не происходит, то это уже проблема чего-то другого. Например, несовпадение версий.

Да проблемы, возможно, это и решает — ошибок не возникает, но ведь и даты не изменяются!

Начнём с того, какой именно параметр тебе надо изменить?
При написании SetFileTime(F,@FileTime,@FileTime,@FileTime) изменяются время создания и время изменения. Время последнего доступа, естественно, устанавливается на текущий момент (т. к. ,собственно, сама процедура доступ и осуществляет). Так что именно она не меняет? Первый параметр отвечает за время создания файла, которое вполне корректно меняется, что и отображается в свойствах файла. Кстати, а где ты смотришь изменения?

Меня интересует изменение времени создания файла. Я вызываю
SetFileTime(F,@FileTime,nil,nil) и далее смотрю, внесены ли
изменения либо непосредственно в Windows, либо вызовом
функции FileAge. Ни то, ни другое не отображает никаких
изменений. Может, дело в операционной системе? Моя — WinXP.

Я во всём разобрался и ещё раз хочу сказать всем СПАСИБО!

Delphi FileSetDate ошибочен

Я хочу изменить обновленную дату файла. Поэтому для этого я использую следующий код.

Интересно, что даты не совпадают с обоими файлами.

Если я использую устаревший метод FileAge он отлично работает

File1 date: 24-05-2020 11:34:36|| File2 date: 24-05-2020 11:34:36

Со временем я собрал некоторые функции в некоторых единицах из www. (Я не помню, изменил ли я некоторые из них).

Возможно, это могло бы помочь случайному (я использовал это для изменения «Блокнот Puvananthiran delphi» для обновления файла, загруженного в соответствии с последней датой изменения).

Вывести и изменить дату создания или изменения файла

31.01.2011, 16:20

Как изменить дату создания/изменения файла
Как изменить дату создания/изменения файла (желательно приведите фрагмент кода)?

Как узнать время и дату создания файла?
Как узнать время и дату создания файла

Как узнать дату и время создания графического файла?
подскажите пожалуйста как сверить время и дату создания графического файла? точнее сверить я могу я.

Вывести название файла, дату его создания и автора
Через ListView вывожу содержимое папки. Необходимо выводить название файлов, дату создания и.

От текущей даты вычесть дату создания файла
Добрый день. Нужно создать программу, в которой открываются файлы. И нужно сделать что то ввиде.

Предупреждение Delphi — W1002 Символ ‘FileSetDate’ является специфическим для платформы

Когда я компилирую свое приложение под Delphi 2006, я получаю следующее предупреждение [Предупреждение Паскаля] — W1002 Символ ‘FileSetDate’ относится к платформе

Что я должен сделать, чтобы подавить это предупреждение?

3 ответа

Хотя ответ DR устраняет предупреждение, оно не является правильным решением.

Вы должны использовать независимую от платформы версию FileSetDate:

Также в SysUtils.

1) В опциях проекта вы можете выбрать сообщения компилятора, которые вы хотите видеть. Если вас не волнует независимость от платформы, вы можете просто отключить предупреждение о платформе.

2) Другой способ — отключить предупреждение для определенной части кода:

Полный список параметров приведен в справочном файле Delphi в разделе ‘$ WARN’

3) Последний способ — добавить

но это опасно, потому что все предупреждения будут подавлены.

4) Кроме того, как уже предлагалось в других ответах, вы можете просто переключиться на независимый от платформы вариант FileSetDate , который работает с именами файлов (т.е. строками), но, насколько я понимаю, это был не ваш вопрос.

FileSetDate Routine

Description

(Please provide a description in your own words. It is illegal to use the wording from the Delphi Help.)

Technical Comments

(Known issues / Documentation clarifications / Things to be aware of)

Examples

(Please provide links to articles/source code that show how to use this item.)

See Also

(Please provide links to items specifically related to this item.)

User Comments/Tips

(Please leave your name with your comment.)

FileSetDate — Функция Delphi

Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Форум программистов > Delphi > Общие вопросы Delphi
Дата и время изменения файла
Регистрация
Поиск по форуму
Расширенный поиск
К странице.

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда — alarforum@yandex.ru

02.06.2009, 16:34 #1
02.06.2009, 16:45 #2
02.06.2009, 19:12 #3
24.11.2009, 13:20 #4

может и не вкурил , но не думаю, что это возможно в принципе, т.к. теги одни и те же

24.11.2009, 13:25 #5
Serge_Bliznykov
нет. это РАЗНЫЕ «тэги»!

пример в студию, самому интересно. щас ищу

upd-2
——-

нашел тоже, сенкс и + to Serge_Bliznykov

нет. это РАЗНЫЕ «тэги»!

во вложении рабочий код. консольная программка.
Отображает данные по файлу, имя которого ей передано в качестве командной строки.

писал давно. как раз изучал данный вопрос.
Поэтому написано сумбурно.
но код — РАБОЧИЙ!

____________________
ещё добавлю. есть такой супер пакет JEDI!
и там, в модуле JclFileUtils,
среди множества полезных функций, есть и такие, уже готовые функции:
GetFileLastWrite(. )
GetFileLastAccess(. )
GetFileCreation(. )

Delphi FileSetDate is erroneous

I want to modify the updated date of a file. So I use the following code to do it.

Interestingly the dates are never the same on both the files.

If I use the deprecated method FileAge it works fine

File1 date: 24-05-2020 11:34:36|| File2 date: 24-05-2020 11:34:36

1 Answer 1

Over time I have collected some functions in some units from www. (I do not remember if I’ve changed some of them).

Perhaps this could be of help to chance (I used this for change the «Puvananthiran delphi notepad» for updated the file loaded according to the last modification date).`

Илон Маск рекомендует:  Разработка приложений с помощью excel 97 и vba
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
24.11.2009, 13:36 #6