Attributes of folder, a i od fajl?

Attributes of folder, a i od fajl?

offline
  • Pridružio: 26 Feb 2004
  • Poruke: 55
  • Gde živiš: Banja Luka

Posto mi je potrebno da program razlikuje folder od fajla, primjetio sam
da neke foldere program propusta prepoznati zbog njihovih atributa(i faHidden i faReadOnly i fafa...), pa sam dodao jos kombinacija istih:
if Sr.Attr in [16, 17, 18, 19, 20, 21, 22, 23] then
JeFolder.
Pitanje je(posto to neko vjerovatno vec zna, a da ne bih previse dugo experimentisao) da nema neki visak u prethodno navedenim atributima,npr. 20 tj. faDirectory i faSysFile ili neki manjak kombinacija?
I kako to da sam pretrazujuci svoj C:\ dobio nebulozne atribute fajlova
npr. 8224 -> C:\WINDOWS\system32\wbem\Repository\FS\INDEX.BTR,
koji se ne mogu dobiti nikakvom kombinacijom atributa iz TSearchRec-a?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24130
  • Gde živiš: Wien

Koji Delphi?
D7 nema definisan faNormal ($00000080)



offline
  • Pridružio: 26 Feb 2004
  • Poruke: 55
  • Gde živiš: Banja Luka

Napisano: 18 Jun 2010 9:38

Instaliran mi je D7 i BDS2006 i kod njih ne postoji faNormal. I da npr. ima
kako bi mi pomogao u razlikovanju foldera i fajla?

Dopuna: 18 Jun 2010 13:04

r 1 + 16 = 17
h 2 + 16 = 18
rh 1 + 2 + 16 = 19
s 4 + 16 = 20
rs 1 + 4 + 16 = 21
hs 2 + 4 + 16 = 22
rhs 1 + 2 + 4 + 16 = 23
a 32 + 16 = 48
ra 1 + 32 + 16 = 49
ha 2 + 32 + 16 = 50
rha 1 + 2 + 32 + 16 = 51
sa 4 + 32 + 16 = 52
rsa 1 + 4 + 32 + 16 = 53
hsa 2 + 4 + 32 + 16 = 54
rhsa 1 + 2 + 4 + 32 + 16 = 55

r h s a
1 2 4 32


evo mogucih kombinacija za foldere.

znaci ispravan kod za razlikovanje foldera i fajla je ovo

if Sr.Attr in [16, 17, 18, 19, 20, 21, 22, 23, 48, 49, 50, 51, 52, 54, 53, 55] then

valjda.

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24130
  • Gde živiš: Wien

Iskreno, ne razumem sto radis ovako komplikovano.
Zar nije dovoljno da proveris da li imas faDirectory medju atributima?
Recimo,
 if sr.attr and faDirectory <> 0 then ...

offline
  • Pridružio: 26 Feb 2004
  • Poruke: 55
  • Gde živiš: Banja Luka

Da, da, to je onaj potpuno ispravan kod, a ne ovo moje, u stvari to sam i pitao i dobio odgovor. Iako je pocetni kod krenuo od slicnog "(Sr.Attr and faDirectory) = faDirectory" vremenom se izvitoperio i dosao na ovaj komplikovani(bespotrebni).

Hvala.

Pitanje za fajlove ostaje kako je moguce dobiti atribut iz gore navedenog fajla i npr. 8208 -> C:\WINDOWS\Prefetch?

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24130
  • Gde živiš: Wien

Evo pogledaj funkciju koju ja koristim u jednom od programa:
function GetAttributes(f: WideString): string; var   attrs: Integer; begin   attrs := WideFileGetAttr(f);   Result := '';   if attrs and faDirectory > 0 then     Result := Result + 'd'   else     Result := Result + '-';   if attrs and faReadOnly > 0 then     Result := Result + 'r'   else     Result := Result + '-';   if attrs and faArchive > 0 then     Result := Result + 'a'   else     Result := Result + '-';   if attrs and faHidden > 0 then     Result := Result + 'h'   else     Result := Result + '-';   if attrs and faSysFile > 0 then     Result := Result + 's'   else     Result := Result + '-'; end;
Ovo daje listu atributa kao u recimo Total Commanderu (na primer: r-hs).
Znaci, nema druge osim da proveris prisustvo svakog atributa posebno.

Osim gore spomenutih, na NTFS fajl sistemima imas jos par atributa, tipa Volume itd.
Mozes i njih da ubacis u funkciju.

Ko je trenutno na forumu
 

Ukupno su 922 korisnika na forumu :: 51 registrovanih, 7 sakrivenih i 864 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3028 - dana 22 Nov 2019 07:47

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: AleksaRadojicic, alkatraz080, amaterSRB, aramis s, Atomski čoban, axa, blue2, cvrle312, damirZR, Daniel Mamojka, darkangel, darkstar101, Dimitrise93, Djurdevdan, doom83, duskovuk63, galijot, Japidson, Josip1969, kaptain, Killer7, krkalon, Kubovac, KUZMAR, kybonacci, Lieutenant, liman, mandic.101, Marko Marković, MB120mm, Mercury, MIg2, Milan A. Nikolic, nebkv, nikoladi, nnovakis, nradukic, nuke92, Panter2, RADOVAN.S, S-lash, sakota79, shaja1, Shomy2, Sr.Stat., stug, ugljesatodorovic, vasa.93, VJ, Warhawk, zillbg