Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Атрибут файла через Indy->IdFTP SOS!!! [WinXP]


NovaC ©   (2006-11-13 09:49:00) 

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

IdFTP1.SendCmd('SITE CHMOD ' + '444' + ' ' + fName);
IdFTP1.SendCmd('SITE CHMOD ' + '644' + ' ' + fName);

всё работает. !!! Но никак не могу найти способа
определить эти атрибуты фалов на момент, например,
запуска программы. Подскажите кто знает !!!
Заранее БОЛЬШОЕ СПАСИБО !
Сергей  
mailto KirillovSB@Mail.ru
ICQ 296307385


Плохиш   (2006-11-14 11:19:00) [1]

TIdFTPListItems.Item[x].OwnerPermissions[|GroupPermissions|UserPermissions]


NovaC   (2006-11-14 09:10:00) [2]

Нашёл следующее решение:

ListBox1.Items.Clear;
IdFTP1.List(ListBox1.Items, 'маска файла', true);

где true - значит показывать все свойства и атрибуты файла.
среди них и было то что нужно - режим доступа к файлам для групп пользователей, а выглядит так: -rw-r--r--
Спасибо всем кто помагал...


NovaC   (2006-11-14 05:15:00) [3]

FreeBSD 6.0-RELEASE... ftp-шник стандартный FreeBSD-шный...


NovaC   (2006-11-14 04:50:00) [4]

unix


umbra   (2006-11-13 17:19:00) [5]

на какой ОС установлен ФТП-сервер, на котором лежат файлы?


NovaC   (2006-11-13 12:50:00) [6]

Если использовать:

InternetOpen
InternetConnect
FtpFindFirstFile(hFTP, ftpFile, sRec, 0, 0)
sRec.dwFileAttributes

где sRec : TWin32FindData
то варианты следующие:

FILE_ATTRIBUTE_DIRECTORY
FILE_ATTRIBUTE_HIDDEN
FILE_ATTRIBUTE_READONLY

А можно ли таким образом через dwFileAttributes получить режима доступа к файлам для групп пользователей
Такая возможность есть в любом файловом менеджере
Может всё намного проще ?


NovaC   (2006-11-13 12:41:00) [7]

В том то и дело что я не знаю как определить этот атрибут.
В программе я его только меняю:
 
 IdFTP1.SendCmd('SITE CHMOD ' + '444' + ' ' + fName);
 IdFTP1.SendCmd('SITE CHMOD ' + '644' + ' ' + fName);

а мне надо при запуске проги определить этот атрибут
Хотелось бы узнать хоть какой-то способ...
Как можно использовать команду ls в Delphi?
Если так же через: IdFTP1.SendCmd(); то как получить результат
её выполнения?
Если использовать LIST, то как через него добраться до атрибутов файла?


Anatoly Podgoretsky   (2006-11-13 11:07:00) [8]

> umbra  (13.11.2006 10:45:02)  [2]

Когда помогает, когда нет, Инди поддерживает только свыше десятка форматов, даже не достигая трети от возможного.


umbra   (2006-11-13 10:45:00) [9]

а команда LISTне помогает?


Anatoly Podgoretsky   (2006-11-13 10:26:00) [10]

> NovaC  (13.11.2006 09:49:00)  [0]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо