Страница 1 из 1

Файл или папка?

СообщениеДобавлено: 19.03.2019 16:10:53
Stargazer44
ОС: Windows.
Есть строка (string), значение которой представляет собой путь к объекту на диске.
Как определить что представляет собой объект: папка или файл или объект вообще не существует?

Re: Файл или папка?

СообщениеДобавлено: 19.03.2019 16:29:05
Лекс Айрин
Существование файла fileexist и его аналог в utf8. Примерно там же должна быть функция проверки папка это или файл. Ну или есть функция отрезающая имя файла от папки. Если имя отсутствует,то это папка.

Re: Файл или папка?

СообщениеДобавлено: 19.03.2019 22:17:13
Cheb
ExtractFilePath
ExtractFileName
и прочая
-см. http://www.delphibasics.co.uk/RTL.asp?N ... ctFileName

тж.
DirectoryExists
FileExists
IncludeTrailingPathDelimiter

Re: Файл или папка?

СообщениеДобавлено: 20.03.2019 07:44:16
sign
Stargazer44 писал(а):ОС: Windows.
Есть строка (string), значение которой представляет собой путь к объекту на диске.
Как определить что представляет собой объект: папка или файл или объект вообще не существует?


Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var R: TRawByteSearchRec;
begin
  FindFirst(Edit1.Text, faAnyFile, R);
end; 


R.Attr покажет, на какой объект указывает путь и его наличие.

Если объекта нет, то R.Attr = faAnyFile = $000001FF;
Если объект есть, то, папка это faDirectory = $00000010;
Ну и т.д. смотрим { File attributes }

Re: Файл или папка?

СообщениеДобавлено: 15.06.2019 10:26:28
Cheb

Re: Файл или папка?

СообщениеДобавлено: 10.09.2020 09:41:06
Root51
Основное различие между ними заключается в том, что файлы хранят данные, а папки хранят файлы и другие папки. ... Папки, часто называемые каталогами, используются для организации файлов на вашем компьютере. Сами папки практически не занимают места на жестком диске.

Re: Файл или папка?

СообщениеДобавлено: 01.11.2021 23:06:05
0beron
Stargazer44 писал(а):Есть строка (string), значение которой представляет собой путь к объекту на диске.
Как определить что представляет собой объект: папка или файл?

uses
SysUtils
................
var
s:string;
........................
if SetCurrentDir('/твой/полный/путь') = true then
s := 'это папка'
else s := ''это файл';
........................

Re: Файл или папка?

СообщениеДобавлено: 09.11.2021 16:15:29
alexs
На выбор:
DirectoryExists(FFileName)
FileGetAttr(FFileName) and faDirectory>0;