====== Работа с файловой системой ======
===== Перечисление содержимого каталога =====
TSearchRec SR;
int SRI;
SRI= FindFirst(FTPServFunc::TransLatePath(APath, ASender->HomeDir)+ "*.*", faAnyFile, SR);
while(SRI== 0)
{
TIdFTPListItem *LFTPItem= ADirectoryListing->Add();
LFTPItem->FileName= SR.Name;
LFTPItem->Size= SR.Size;
LFTPItem->ModifiedDate= FileDateToDateTime(SR.Time);
if(SR.Attr== faDirectory)
LFTPItem->ItemType= ditDirectory;
else
LFTPItem->ItemType= ditFile;
SRI= FindNext(SR);
}
FindClose(SR);
==== Например удалить старые файлы ====
TSearchRec SR;
int SRI;
SRI= FindFirst(vTargetFolder+"*.*", faAnyFile, SR);
while(SRI== 0)
{
if((SR.Name!= "..") && (SR.Name!= "."))
{
TDate vCreate= SR.TimeStamp.DateString();
if((SR.Attr != faDirectory) && (vCreate != Now().CurrentDate()))
DeleteFile(vFolderFTP+ SR.Name);
}
SRI= FindNext(SR);
}
FindClose(SR);
===== Информация о файле =====
struct stat vFileInfo;
stat(vPathToFile, &vFileInfo);
/*struct _stat
{
dev_t st_dev;
ino_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
dev_t st_rdev;
off_t st_size;
_TIME_T st_atime;
_TIME_T st_mtime;
_TIME_T st_ctime;
};*/