Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Vorteil Archivflag gegen Archivflag (https://www.delphipraxis.net/179535-vorteil-archivflag-gegen-archivflag.html)

Popov 13. Mär 2014 15:09

Vorteil Archivflag gegen Archivflag
 
EIne Frage die ich mir schon länger stelle - guckt man sich TSearchRec an, findet man einiges doppelt, wie z. B. die Attribute (oder Dateinamen).

Da wäre zuerst TSearch.Attr mit seiner handvoll Attribute, dann gibt es da auch Search.FindData.dwFileAttributes mit einer handvoll mehr Attribute. Mal davon abgesehen, dass TSearch.Attr wohl die älteren Informationen sind und unter der Annahme man will nur die klassischen Attribute, hat die eine Info einen Vorteil gegenüber der anderen? Gibt es da eine Empfehlung die W32 Infos den anderen vorzuziehen? Oder bezieht intern die eine die Informationen von der anderen? Ich verfalle stets in innere Konflikte, weil ich immer dazu tendiere die Informationen aus TSearch.Attr zu nehmen statt die moderne Version davon.

himitsu 13. Mär 2014 16:03

AW: Vorteil Archivflag gegen Archivflag
 
Das eine sind die "Rohdaten", wie sie von der WinAPI ausgeliefert werden und das Andere sind Kopien/Übersetzungen, damit man damit leichert arbeiten kann.

z.B. werden in neueren TSearchRec's die Datums-/Zeitangaben direkt als TDateTime angeboten, so daß man das nicht selbst ausrechnen muß.
Oder eben die Attribute, welche Delphi noch mal als SET anbietet.

Und das hat auch noch andere Vorteile, wenn man die "übersetzen" Werte verwendet, denn so hat man für alle Systeme Windows/iOS/Android eine einheitliche Stuktur und muß nicht für jeses System selber die Rohwerte entsprechend auswerten.


Zitat:

Ich verfalle stets in innere Konflikte, weil ich immer dazu tendiere die Informationen aus TSearch.Attr zu nehmen statt die moderne Version davon.
Das ist genau falsch gedacht.
Search.FindData ist nicht die "moderne" Version davon, denn das war zuerst da und daraus werden die "Delphi"-Versionen rauskopiert.

PS: Wenn sich die WinAPI mal ändert, dann kann die Delphi-Version gleich bleiben und man muß nichts ändern,
was genauso passiert, wenn man das komplette System wechselt und nicht nur altes Windows gegen Neues.


Zitat:

Oder bezieht intern die eine die Informationen von der anderen?
Du hast doch den Quellcode?
Da hättest du natürlich mal schnell nachsehn können. :zwinker:

p80286 13. Mär 2014 17:12

AW: Vorteil Archivflag gegen Archivflag
 
Ist es nicht so, daß die "neuen" Flags und Daten bei FAT-Dateien nicht zur verfügung stehen?

Gruß
K-H

Popov 13. Mär 2014 17:50

AW: Vorteil Archivflag gegen Archivflag
 
Zitat:

Zitat von himitsu (Beitrag 1251880)
Da hättest du natürlich mal schnell nachsehn können. :zwinker:

Eigentlich habe ich, aber entweder ich hab einen anderen Code oder ich hab irgendwo falsch geguckt, denn viel konnte ich da nicht erkennen.

himitsu 13. Mär 2014 20:26

AW: Vorteil Archivflag gegen Archivflag
 
Ja, ist ein bissl wirre, der Code.

Aber wenn ich mich richtig erinnere, dann ist der Code seit D7 noch ein "bissl" wirrer geworden.

Popov 14. Mär 2014 20:50

AW: Vorteil Archivflag gegen Archivflag
 
Ich will jetzt nicht extra ein Thread deshalb eröffnen, weil es im Grunde ähnliches Thema ist, Trotzdem mache stelle ich die Frage mal fett:

Wozu sind die ExcludeAttr in TSearchRec gedacht?

Ich hab gegoogelt, finde aber nichts zu dem Thema. Tests haben ergeben, dass die Werte gleich mit Attr sind.

himitsu 14. Mär 2014 21:27

AW: Vorteil Archivflag gegen Archivflag
 
So wie es am Namen erkenntlich sein sollte.

ExcludeAttr = auszuschließende Attribute

Das ist die Negierung des Attr-Parameters vom Delphi-Referenz durchsuchenFindFirst.
Alle Dateien, welche diese Attribute enthalten, die werden ausgeschlossen.
Es betrifft aber nur die Attribute faHidden, faSysFile und faDirectory.

Wenn man z.B. kein faHidden und faDirectory an FindFirst übergibt, dann werden keine versteckten Dateien und auch keine Verzeichnisse gefunden.

Popov 14. Mär 2014 21:50

AW: Vorteil Archivflag gegen Archivflag
 
Also Exclude in ExcludeAttr ist mir schon aufgefallen, nur konnte ich nichts damit anfangen. Wenn man sich die Rechte anguckt, gibt es Zulassen und Verweigern. Aber das kann man nicht vergleichen, wozu ausschließen? Das man faHidden und faDirectory übergeben muss, ist schon klar, aber nur die normalen Attribute, und die sind in Attr. Aber wenn man sich die anguckt, sind Attr und ExcludeAttr immer gleich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz