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

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Ответить
Stargazer44
новенький
Сообщения: 10
Зарегистрирован: 24.12.2013 23:49:31

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

Сообщение Stargazer44 »

ОС: Windows.
Есть строка (string), значение которой представляет собой путь к объекту на диске.
Как определить что представляет собой объект: папка или файл или объект вообще не существует?
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

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

Сообщение Лекс Айрин »

Существование файла fileexist и его аналог в utf8. Примерно там же должна быть функция проверки папка это или файл. Ну или есть функция отрезающая имя файла от папки. Если имя отсутствует,то это папка.
Аватара пользователя
Cheb
энтузиаст
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34
Контактная информация:

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

Сообщение Cheb »

ExtractFilePath
ExtractFileName
и прочая
-см. http://www.delphibasics.co.uk/RTL.asp?N ... ctFileName

тж.
DirectoryExists
FileExists
IncludeTrailingPathDelimiter
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

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

Сообщение 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 }
Root51
незнакомец
Сообщения: 1
Зарегистрирован: 10.09.2020 08:37:12
Контактная информация:

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

Сообщение Root51 »

Основное различие между ними заключается в том, что файлы хранят данные, а папки хранят файлы и другие папки. ... Папки, часто называемые каталогами, используются для организации файлов на вашем компьютере. Сами папки практически не занимают места на жестком диске.
0beron
новенький
Сообщения: 23
Зарегистрирован: 18.08.2012 19:32:10

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

Сообщение 0beron »

Stargazer44 писал(а):Есть строка (string), значение которой представляет собой путь к объекту на диске.
Как определить что представляет собой объект: папка или файл?

uses
SysUtils
................
var
s:string;
........................
if SetCurrentDir('/твой/полный/путь') = true then
s := 'это папка'
else s := ''это файл';
........................
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

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

Сообщение alexs »

На выбор:
DirectoryExists(FFileName)
FileGetAttr(FFileName) and faDirectory>0;
Ответить