Текущий архив: 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