Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.03.27;
Скачать: CL | DM;

Вниз

Атрибуты на папках   Найти похожие ветки 

 
set ©   (2010-11-27 23:32) [0]

Здравствуйте мастера дельфи. у меня тут возник вопрос. Я сделал программку которая считывает все папки с жеского диска и я сделал функцию для просмотра атрибутов папок. Что мне непонятно откуда в виндовсе атрибуты 8240, -1, 8211 и так далее? Зачем такие атрибуты и что они означают? В Дельфи перечисленны атрибуты но там нет таких цифр. Заранее благодарю за помощь.


 
clickmaker ©   (2010-11-27 23:44) [1]

http://msdn.microsoft.com/en-us/library/gg258117%28v=VS.85%29.aspx


 
antonn ©   (2010-11-27 23:44) [2]

а какая версия дельфи и виндовс?


 
DiamondShark ©   (2010-11-28 00:43) [3]


> В Дельфи перечисленны атрибуты но там нет таких цифр

Это битовая маска.
8240 = $2030 =
2000 FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
+
0020 FILE_ATTRIBUTE_ARCHIVE
+
0010 FILE_ATTRIBUTE_DIRECTORY

8211 = $2013 =
2000 FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
+
0010 FILE_ATTRIBUTE_DIRECTORY
+
0002 FILE_ATTRIBUTE_HIDDEN
+
0001 FILE_ATTRIBUTE_READONLY

А -1 -- это хрень какая-то.


 
set ©   (2010-11-28 00:53) [4]

спасибо


 
Германн ©   (2010-11-28 02:43) [5]


> set ©   (28.11.10 00:53) [4]

Изучайте возможности современных файловых систем, еще многое узнаете.


 
vrem   (2010-11-28 12:11) [6]

автор, атрибут FILE_ATTRIBUTE_REPARSE_POINT отслеживаете?
если нет, то это может уменьшить число найденных файлов :)


 
Riply ©   (2010-11-28 18:20) [7]

> [6] vrem   (28.11.10 12:11)
> автор, атрибут FILE_ATTRIBUTE_REPARSE_POINT отслеживаете?
> если нет, то это может уменьшить число найденных файлов :)

Или привести к бесконечной рекурсии


 
set ©   (2010-12-12 13:44) [8]


> Riply ©   (28.11.10 18:20) [7]
> > [6] vrem   (28.11.10 12:11)> автор, атрибут FILE_ATTRIBUTE_REPARSE_POINT
> отслеживаете?> если нет, то это может уменьшить число найденных
> файлов :)Или привести к бесконечной рекурсии


я делал поиск файлов и папок с помощью такого алгоритма показыывало на пару папок больше чем виндовс а количество файлов такое же:

var
 FormSkanerFile: TFormSkanerFile;
 StrOpredDiska: string;
 IntObchKol, IntKolPapok: integer;
 f: TStringList;

implementation

{$R *.dfm}

//////////////////Рекурсивная процедура сканирования фалов и папок//////////////
procedure TFormSkanerFile.SkanFileAndPapok(AnsiStrPuti: AnsiString);
var
ResFile: TSearchRec;

begin
FindFirst(StrOpredDiska + AnsiStrPuti + "*.*", faAnyFile, ResFile);
 if ResFile.Name <> "" then
  begin
   Repeat
    if (ResFile.Name = ".") or (ResFile.Name = "..") then continue;
    IntObchKol:= IntObchKol + 1;
    f.Add(StrOpredDiska + AnsiStrPuti + ResFile.Name);
    if ((ResFile.Attr and faDirectory) = faDirectory) then
     begin
      IntKolPapok:= IntKolPapok + 1;
      SkanFileAndPapok(AnsiStrPuti + ResFile.Name + "\");
     end;
   Until(FindNext(ResFile) <> 0);
  end;
FindClose(ResFile);
end;

///////////////////Старт сканирования файловой на всех носителях////////////////
procedure TFormSkanerFile.SpeedButton1Click(Sender: TObject);
var
Disk: DWord;
BytShetDiskov: Byte;

begin
StrOpredDiska:= "";
IntObchKol:= 0;
IntKolPapok:= 0;
MemoPapkiAndFile.Lines.Add("");

f:= TStringList.Create();
f.LoadFromFile("c:\1.txt");

Disk:= GetLogicalDrives;
For BytShetDiskov:= 0 to 25 do
 begin
  If (Disk and (1 shl BytShetDiskov)) <> 0 then
   begin
    StrOpredDiska:= Char(Ord("A") + BytShetDiskov) + ":\";
    SkanFileAndPapok("");
    MemoPapkiAndFile.Lines.Add(StrOpredDiska + "Общее число - " + IntToStr(IntObchKol));
    MemoPapkiAndFile.Lines.Add(StrOpredDiska + "Количество папок - " + IntToStr(IntKolPapok));
    MemoPapkiAndFile.Lines.Add(StrOpredDiska + "Количество файлов - " + IntToStr(IntObchKol - IntKolPapok));
    MemoPapkiAndFile.Lines.Add("");
    IntObchKol:= 0;
    IntKolPapok:= 0;
   end;
 end;
f.SaveToFile("c:\1.txt");
f.Free;
end;


Но в одну папку я несмог залезть System Volume Information как такого рода папкам программно получить доступ чтобы просканировать их содержимое?


 
Anatoly Podgoretsky ©   (2010-12-12 13:59) [9]

> set  (12.12.2010 13:44:08)  [8]

Установи разрешение на доступ и все.


 
set ©   (2010-12-12 15:04) [10]


> Anatoly Podgoretsky ©   (12.12.10 13:59) [9]
> > set  (12.12.2010 13:44:08)  [8]Установи разрешение на
> доступ и все.


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


 
Игорь Шевченко ©   (2010-12-12 16:14) [11]


> А если делать програмно то я к сожалению новичок и даже
> незнаю как это все организовать...


не лезь, куда не надо


 
Anatoly Podgoretsky ©   (2010-12-12 17:49) [12]

> set  (12.12.2010 15:04:10)  [10]

А ты что закер, раз тебя потянуло в эту папку. Ковыряние в ней равносильно
смерти.


 
brother ©   (2010-12-13 06:57) [13]

> Но в одну папку я несмог залезть System Volume Information
> как такого рода папкам программно получить доступ чтобы
> просканировать их содержимое?

Туда тебе лучше не лезть и тем более НЕ надо выставлять права на доступ!!!


 
set ©   (2010-12-13 21:22) [14]

Просто я хотел написать программу сканер файловой системы виндовса. Что антивирусникам можно там смотреть а мне просто список файлов получить даже нельзя от туда, я наоборот полезную софтину хотел сделать а не вирусы клепать, это уже тогда получится программа с неполностью реализованными возможностями так как сканирует не все. Смысл идеи в том чтобы моя программа могла анализировать изминения в файловой системе, могла показывать различную статистическую информацию, и может быть была полезной пользователям в более быстрой и автономной работе с файлами, а тут в папку незалезть, даже размер нельзя ее узнать. Какой смысл тогда воплощать идею создавая программу если сами программисты мне говорят табу. :(


 
Игорь Шевченко ©   (2010-12-13 21:57) [15]


> а тут в папку незалезть, даже размер нельзя ее узнать. Какой
> смысл тогда воплощать идею создавая программу если сами
> программисты мне говорят табу. :(


а ты ее просто пропускай :) в своем сканере


 
clickmaker ©   (2010-12-13 22:13) [16]

> в более быстрой и автономной работе с файлами

а в чем автономность? )


 
set ©   (2010-12-13 22:20) [17]


> clickmaker ©   (13.12.10 22:13) [16]
> > в более быстрой и автономной работе с файламиа в чем автономность?
>  )

Автономность в том что можно будет сделать к примеру чтобы программа автоматически как захочет пользователь могла перемещать, копировать, удалять, запускать к примеру файлы. Следить к примеру если размер папки стал 100 мб то оччистить ее. И еще много всего что придет в голову :)


 
set ©   (2010-12-13 22:31) [18]


> Игорь Шевченко ©   (13.12.10 21:57) [15]
> > а тут в папку незалезть, даже размер нельзя ее узнать.
>  Какой > смысл тогда воплощать идею создавая программу если
> сами > программисты мне говорят табу. :(а ты ее просто пропускай
> :) в своем сканере

Так и придется похоже сделать. А с другой стороны я все равно тока учусь программированию хоть и самостоятельно по книгам. Главное что нравится мне это :) Как напишу программу покажу всем. Может советы дадите как дальше совершенствоваться.


 
Игорь Шевченко ©   (2010-12-13 23:11) [19]


>  Следить к примеру если размер папки стал 100 мб то оччистить
> ее


для очистки System Volume Information существует готовое средство в винде, называется "Очистка диска"


 
set ©   (2010-12-13 23:36) [20]


> Игорь Шевченко ©   (13.12.10 23:11) [19]
> >  Следить к примеру если размер папки стал 100 мб то оччистить
> > еедля очистки System Volume Information существует готовое
> средство в винде, называется "Очистка диска"

Кому как а мне или кому то еще хочется чтобы это было автоматизированно чтобы не думать о некоторых мелочах жизни


 
Игорь Шевченко ©   (2010-12-13 23:45) [21]


> Кому как а мне или кому то еще хочется чтобы это было автоматизированно


http://support.microsoft.com/kb/315246


 
set ©   (2010-12-13 23:55) [22]


> Игорь Шевченко ©   (13.12.10 23:45) [21]
> > Кому как а мне или кому то еще хочется чтобы это было
> автоматизированно

А что вы хотите то мне этим сказать? Да я рад что это есть. Я думаю с моим знанием книги библии дельфи которую я прочел до 487 страницы пока что врятли я могу написать или придумать что то оригинальное. Пока что пишу программки просто для тренировки, а с другой стороны приятно просто когда твое творение работает и что оно что то может.


 
Игорь Шевченко ©   (2010-12-14 00:04) [23]


> Я думаю с моим знанием книги библии дельфи которую я прочел
> до 487 страницы


Выкинь ее нафиг и больше не читай.


 
set ©   (2010-12-14 00:06) [24]

А понял о чем вы. Ладно согласен что чтение файлов в папке System Volume information ненужно. Пусть пользователь сам позаботитсяя о своем компьютере в этом смысле. Буду тогда просто ее игнорировать. Спасибо :)


 
set ©   (2010-12-14 00:07) [25]


> Игорь Шевченко ©   (14.12.10 00:04) [23]
> > Я думаю с моим знанием книги библии дельфи которую я прочел
> > до 487 страницы Выкинь ее нафиг и больше не читай.

А что тогда читать?


 
Anatoly Podgoretsky ©   (2010-12-14 09:38) [26]


> set ©   (13.12.10 22:20) [17]

Прощай Виндоус, вечная память.


 
Anatoly Podgoretsky ©   (2010-12-14 09:40) [27]


> Игорь Шевченко ©   (14.12.10 00:04) [23]

Вот в чем причина странного желания, все таки закер Дельфи, фленофил


 
Anatoly Podgoretsky ©   (2010-12-14 09:41) [28]


> А что тогда читать?

Ну не эту же гадость, и уже последствия есть.


 
Игорь Шевченко ©   (2010-12-14 11:18) [29]


> фленофил


пассивный фленофил


 
vrem   (2010-12-14 11:20) [30]

Удалено модератором


 
brother ©   (2010-12-14 11:24) [31]

Удалено модератором


 
vrem   (2010-12-14 11:27) [32]

Удалено модератором


 
brother ©   (2010-12-14 11:30) [33]

Удалено модератором


 
set ©   (2010-12-14 18:05) [34]

Лудше бы помогали чем нибуть полезным чем гадости писать, человек советы просит а вы тока издеваетесь :( Разочарован я в форуме.


 
vrem   (2010-12-14 18:13) [35]

Удалено модератором


 
set ©   (2010-12-14 18:31) [36]

Удалено модератором


 
Лукошко   (2010-12-14 18:54) [37]


> set ©   (14.12.10 18:31) [36]

Понимаешь, здесь атмосфера такая. Лучше иди на другой форум, тут только помоев нахлебаешься.



Страницы: 1 вся ветка

Текущий архив: 2011.03.27;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.01 c
15-1292189396
Юрий
2010-12-13 00:29
2011.03.27
С днем рождения ! 13 декабря 2010 понедельник


15-1292001237
картман
2010-12-10 20:13
2011.03.27
преобразование длины волны


2-1293532259
NanoTek
2010-12-28 13:30
2011.03.27
Delphi 7


11-1232496242
Jon
2009-01-21 03:04
2011.03.27
FPC + KOL 2.88


2-1293698764
nza
2010-12-30 11:46
2011.03.27
фиксированные строки