Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2006, 16:10   #1
mtnmtn
 
Регистрация: 18.12.2006
Сообщений: 4
По умолчанию Как установить атрибуты файла?

По команде FindFirst(SourceName, faAnyFile, SourceSR) получаю атрибуты:
SourceSR.Time,
SourceSR.Size,
SourceSR.Attr,
SourceSR.Name,
SourceSR.ExcludeAttr,
SourceSR.FindHandle,
SourceSR.FindData.
Как мне полученные атрибуты установит для другого файла определенному по FindFirst(DestinationName, faAnyFile, DestinationSR). Вариант DestinationSR.Time:=SourceSR.Time не проходит.
mtnmtn вне форума Ответить с цитированием
Старый 18.12.2006, 16:47   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

SetFileAttributes ('файл',атрибут);

Возможные атрибуты:
faReadOnly
faHidden
faSysFile
faVolumeID
faDirectory
faArchive
faAnyFile
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 18.12.2006, 16:55   #3
mtnmtn
 
Регистрация: 18.12.2006
Сообщений: 4
По умолчанию

>SetFileAttributes ('файл',атрибут);
>Возможные атрибуты:
>faReadOnly
>faHidden
>faSysFile
>faVolumeID
>faDirectory
>faArchive
>faAnyFile

Да, это я знаю, но меня интересует не только установление этого атрибута, но и время и дата создания, модификации и доступа к файлу. Команда FileSetDate устанавливает только атрибут даты и времени модификации, а как время и дата создания и доступа?
mtnmtn вне форума Ответить с цитированием
Старый 18.12.2006, 17:17   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Это системный параметр, выставляется системой автоматически. Никак.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 18.12.2006, 17:29   #5
mtnmtn
 
Регистрация: 18.12.2006
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
Это системный параметр, выставляется системой автоматически. Никак.
??? Вы уверены? В том же Far'е я без проблем меняю и время и дату создания, модификации, доступа... Так что, думаю, что есть средство смены. Эй, может кто-нибудь подскажет?
mtnmtn вне форума Ответить с цитированием
Старый 18.12.2006, 17:36   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Ок, согласен, погорячился, ну вот так тогда :

Код:
procedure TForm1.SetTimeFile(FileName: string);
var
  FileHandle: THandle;
  st: TSystemTime;
  ft, ft1: TFileTime;
begin
  FileHandle := CreateFile(PChar(FileName),
    GENERIC_WRITE, FILE_SHARE_READ,
    nil,
    OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL, 0);
  if FileHandle <> INVALID_HANDLE_VALUE then
  begin
    DateTimeToSystemTime(Now, st);
    SystemTimeToFileTime(st, ft); // converts to file time format
    LocalFileTimeToFileTime(ft, ft1);
    SetFileTime(FileHandle, nil, @ft1, nil);
    Windows.CloseHandle(FileHandle);
  end
  else 
    showmessage('Error!');
end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 18.12.2006, 17:55   #7
mtnmtn
 
Регистрация: 18.12.2006
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
Ок, согласен, погорячился, ну вот так тогда :

Код:
procedure TForm1.SetTimeFile(FileName: string);
...
Спасибо, буду пробовать.
mtnmtn вне форума Ответить с цитированием
Старый 10.12.2007, 01:39   #8
_SacreD_
Пользователь
 
Регистрация: 30.11.2007
Сообщений: 10
По умолчанию

А не подскажете мне, у меня что то типо TotalCommander, короче фаловый менеджер... Мне надо отбразить файлы с разными атрибутами, вот кусочек в котором я пытаюсь узнать какой атрибут у файла

Код:
if ((attr and faSymLink)<>0) and (S=0) then
             begin
                ImageIndex:=4;
                SubItems.Add(inttostr(size));
                subItems.Add(DatetimetoStr((filedatetodatetime(time))));
                S:=S+1;
             end;
          if ((attr and faReadOnly)<>0) and (S=0) then
             begin
                ImageIndex:=1;
                SubItems.Add(inttostr(size));
                subItems.Add(DatetimetoStr((filedatetodatetime(time))));
                S:=S+1;
            end;
           if ((attr and faVolumeID)<>0) and (S=0) then
             begin
                ImageIndex:=4;
                SubItems.Add(inttostr(size));
                subItems.Add(DatetimetoStr((filedatetodatetime(time))));
                S:=S+1;
            end;
           if ((attr and faHidden)<>0)and (S=0) then
             begin
                ImageIndex:=3;
                SubItems.Add(inttostr(size));
                subItems.Add(DatetimetoStr((filedatetodatetime(time))));
                S:=S+1;
             end;
           if ((attr and faSysFile)<>0) and (S=0) then
             begin
                ImageIndex:=1;
                SubItems.Add(inttostr(size));
                subItems.Add(DatetimetoStr((filedatetodatetime(time))));
                S:=S+1;
            end;
            if ((attr and faArchive)<>0) and (S=0) then
             begin
                ImageIndex:=5;
                SubItems.Add(inttostr(size));
                subItems.Add(DatetimetoStr((filedatetodatetime(time))));
                S:=S+1;
             end;
Короче говоря, у меня определяет только 3 вида атрибутов, архив, системный и скрытый, причем архивный атрибут у всех практически файлов... Очень прошу помогите мне сделать нахождение атрибута корректным, для того что бы отобразить картинку для него...

И ещё, хотелось бы узнать, например хочу отображать файлы с расширением avi, или каким либо другим, как это можно сделать? заранее спасибо!!!
_SacreD_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как читать атрибуты с файлов? eks-s Общие вопросы Delphi 2 16.01.2008 02:25
Атрибуты сайтов SunKnight Работа с сетью в Delphi 1 31.12.2007 20:49
Как установить дату создания файла vitalik007 Общие вопросы Delphi 1 11.12.2007 20:15
Как изменить атрибуты Файлов? Volkogriz Общие вопросы Delphi 1 07.11.2007 18:27
Атрибуты файлов / скрытие файла celovec Общие вопросы Delphi 4 04.07.2007 14:07