Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как программно выставить атрибут "скрытый" 
:(
    Опции темы
Animex
Дата 27.7.2007, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 3.6.2007

Репутация: нет
Всего: нет



Собственно сабж
PM MAIL ICQ   Вверх
ALeXandrK
Дата 27.7.2007, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 342
Регистрация: 31.1.2007
Где: Санкт-Петербург

Репутация: 3
Всего: 6



Атрибут чего и что значит скрытый?


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
Alexeis
Дата 27.7.2007, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Как ни странно функцией SetFileAttributes()  smile 



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ALeXandrK
Дата 27.7.2007, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 342
Регистрация: 31.1.2007
Где: Санкт-Петербург

Репутация: 3
Всего: 6



Это про файлы что ли...  smile  так написал бы хоть слово про файлы...
Если не поможет  SetFileAttributes(), то хоть в справку залезь smile 
Уж про файлы то много где всего расказано.


--------------------
Богат не/ни тот, у кого много, а тот, кому хватает
PM WWW   Вверх
Yanis
Дата 28.7.2007, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Animex @  28.7.2007,  00:22 Найти цитируемый пост)
Собственно сабж

Код
type
{$REGION 'TFileAttribute, TFileAttributes'}
  TFileAttribute = (attrReadOnly, attrHidden,
                    attrSystem, attrDirectory,
                    attrArchive, attrDevice,
                    attrNormal, attrTemporary,
                    attrSparseFile, attrReparsePoint,
                    attrCompressed, attrOffline,
                    attrNotContentIndexed, attrEncrypted);

  TFileAttributes = set of TFileAttribute;
{$ENDREGION}

const
{$REGION 'WORD ATTRIBUTES[13]'}
  ATTRIBUTES: array[0..13] of WORD = (FILE_ATTRIBUTE_READONLY, FILE_ATTRIBUTE_HIDDEN,
                            FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_DIRECTORY,
                            FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_DEVICE,
                            FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_TEMPORARY,
                            FILE_ATTRIBUTE_SPARSE_FILE, FILE_ATTRIBUTE_REPARSE_POINT,
                            FILE_ATTRIBUTE_COMPRESSED, FILE_ATTRIBUTE_OFFLINE,
                            FILE_ATTRIBUTE_NOT_CONTENT_INDEXED, FILE_ATTRIBUTE_ENCRYPTED);
{$ENDREGION}

function SetFileAttributes(const FileName: string; attr: TFileAttributes): Boolean;
  function DWORDFromTAttr(attr: TFileAttributes): DWORD;
  var
    i: DWORD;
  begin
    Result := 0;
    for i := 0 to High(ATTRIBUTES) do
      if TFileAttribute(i) in attr then
        Result := Result or ATTRIBUTES[i];
  end;
begin
  Result := Windows.SetFileAttributes(PChar(FileName), DWORDFromTAttr(attr));
end;


Юзаем:
Код
SetFileAttributes(S_FILE, [attrHidden]);


Добавлено @ 16:59
До кучи, ещё и определение атрибутов:
Код
function GetFileAttributes(const FileName: string): TFileAttributes;
  function TAttrFromDWORD(dw: DWORD): TFileAttributes;
  var
    i: WORD;
  begin
    Result := [];
    for i := 0 to High(ATTRIBUTES) do
      if (dw and ATTRIBUTES[i]) = ATTRIBUTES[i] then
        Include(Result, TFileAttribute(i));
  end;
var
  h: DWORD;
begin
  Result := [];
  h := Windows.GetFileAttributes(PChar(FileName));
  if h = MAXDWORD then Exit;
  Result := TAttrFromDWORD(h);
end;


Не спрашивайте зачем так всё сложно smile

Это сообщение отредактировал(а) Yanis - 28.7.2007, 17:01


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Telepyz
Дата 13.8.2007, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 9.7.2007

Репутация: 1
Всего: 1



Цитата(Yanis @  28.7.2007,  17:58 Найти цитируемый пост)
{$REGION 'TFileAttribute, TFileAttributes'}

REGION - что это, у меня делфи на него ругается говорит что не знает такого...
--------------------
обновить драйвер
PM MAIL   Вверх
Yanis
Дата 13.8.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Telepyz @  13.8.2007,  13:11 Найти цитируемый пост)
REGION - что это, у меня делфи на него ругается говорит что не знает такого... 

Эти строки можно безболезненно удалить.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0621 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.