Мне нужно сделать совместимую с Unix подпрограмму Windows Delphi, которая подтверждает, существует ли имя файла в файловой системе точно в том же CaSe, что и хотел, например, «John.txt» здесь, а не «john.txt».
Если я проверяю «FileExists ('john.txt')», это всегда верно для окон John.txt и JOHN.TXT.
Как создать функцию «FileExistsCaseSensitive (myfile)» для подтверждения того, что файл действительно является тем, чем должен быть.
DELPHI Sysutils.FileExists использует следующую функцию, чтобы узнать, существует ли файл, как изменить его на двойную проверку, если имя файла в файловой системе строчное и существует:
function FileAge(const FileName: string): Integer;
var
Handle: THandle;
FindData: TWin32FindData;
LocalFileTime: TFileTime;
begin
Handle := FindFirstFile(PChar(FileName), FindData);
if Handle <> INVALID_HANDLE_VALUE then
begin
Windows.FindClose(Handle);
if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
begin
FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFileTime);
if FileTimeToDosDateTime(LocalFileTime, LongRec(Result).Hi,
LongRec(Result).Lo) then Exit;
end;
end;
Result := -1;
end;