AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateiattributensalat

Ein Thema von MicMic · begonnen am 4. Aug 2018 · letzter Beitrag vom 5. Aug 2018
Antwort Antwort
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Dateiattributensalat

  Alt 4. Aug 2018, 14:24
Hallo,
entweder verstehe ich es nicht oder Windows macht mal wieder halbe Sachen.
Die Attribute für den Netzwerk-Bereich, sprich "O", "P" und "U" können zusammen gesetzt werden.

O = Offline
P = Angeheftet
U = Losgelöst

Also mit "attrib" kann man eine Datei auf PU, oder OPU setzen.
Also P und U widerspricht sich doch?

Es gibt ja folgende Möglichkeiten:
(O) (P) (U) (OP) (OU) (OPU) (PU) (leer)

Ich frage mich natürlich, welchen Zustand diese 8 Möglichkeiten bedeuten.
Weiterhin ist "P" schlecht gewählt, da es auch Sparse-Dateien gibt, die mit dem "P"-Flag gekennzeichnet werden.

Michael
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Dateiattributensalat

  Alt 4. Aug 2018, 20:22
Du solltest tunlichst Vermeiden solche Attribute selbst setzen zu wollen.
Ein paar Anregungen welche Attribute offiziell existieren findest Du hier.
Zitat:
FILE_ATTRIBUTE_OFFLINE
4096 (0x1000)
The data of a file is not available immediately. This attribute indicates that the file data is physically moved to offline storage. This attribute is used by Remote Storage, which is the hierarchical storage management software. Applications should not arbitrarily change this attribute.
Ansonsten Empfehle ich Dir, Dich an die TFileAttribute zu halten.

Es kann natürlich auch sein das Du etwas völlig anderes meinst, dann tut es mir Leid.
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 4. Aug 2018 um 20:24 Uhr)
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: Dateiattributensalat

  Alt 4. Aug 2018, 21:05
Mir geht es eher darum, zu verstehen das dies überhaupt möglich ist (das gleichzeitige setzen von P und U).
Windows muss (oder sollte) sich dabei ja etwas gedacht haben. Deshalb meine Frage dazu denn vielleicht verstehe ich es ja nicht.

Wenn meine Anwendung auf Attribute reagieren (das soll sie) oder Attribute ändern soll, dann prüfe ich auch Fehlerquellen/Möglichkeiten etc. Ähnlich wie wenn man seine Anwendung auch auf verschiedene Auflösungen testet und schauen möchte ob alle Breiten/Höhen stimmen. So schaue ich nun auch auf die Attribute. Für eine Sortierung, für eine Ansicht, für eine Beschreibung und ein paar für eine Änderung.

FILE_ATTRIBUTE_... kenne ich zu 99%

Übrigens sind die beiden Attribute noch nicht in Delphi drin und auf der MS-Webseite noch nicht beschrieben.

FILE_ATTRIBUTE_UNPINNED = $00100000;
FILE_ATTRIBUTE_PINNED = $00080000;

Wird wohl irgendwann kommen

Michael
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#4

AW: Dateiattributensalat

  Alt 4. Aug 2018, 21:46
Erstmal sollte man bedenken, dass es nur begrenzte 32 Bit gibt,
dann sind einige Attribute auch nicht immer "vorhanden", bzw. nur in Verbindung mit Anderen gültig ... sie sind also frei, wenn das andere Attribut nicht gesetzt ist ... können also mehrfach verwendet werden.


Dass pinned und unpinned gleichzeitig aktiv sind, könnte auch richtig sein, z.B. für den Zustand wo eine datei nicht lokal, sondern nur in der Cloud liegen (lokal ist nur die Dateiinformation ohne Inhalt)

* Datei ganz normal lokal
* Dateilink ins Netzwerk, aber grade offline
* Datei in Cloud und mit lokaler Kopie
* Datei nur in Cloud, ohne lokale Kopie

Ich vermute jetzt einfach mal, dass die Clout kein Sparse unterstützt, womit dieses Attribut dort frei wäre und für was Anderes genutzt werden könnte.



Na ja, da niemand ständig guckt, was sich ändert, da dauert es immer etwas, bis Neues in der Pascalübersetzung auftaucht, aber dur darfst auch gern sowas Melden nach einfügen lassen. (alternativ zu fremden Headerübersetzungen, wie z.B. von den JEDIs)
C-Sprachen haben es da einfacher, da sie oftmals direkt gegen die "originalen" Windows-Header kompilieren, wärend für Delphi es immer erst übersetzte Kopieen braucht.
Schade eigentlich, denn Embarcaderos C++Builder kann C++-Header UND Delphi-Units einbinden, während Delphi leider eben keine C++-Dateien direkt einbinden kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Aug 2018 um 21:57 Uhr)
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: Dateiattributensalat

  Alt 5. Aug 2018, 15:11
Danke für die Infos.
Im Internet sind jedenfalls einige auch etwas verwirrt, bezüglich den Attributen.
(ich lese hier und da englisches und übersetzte es mir immer mit dem Google Übersetzer *g)

Die Sparse-Dateien sind aber im Netzwerk möglich. Das hatte ich getestet aber mir fällt gerade ein, dass ich dies nur im Offline-Modus getestet habe. Da muss ich noch mal schauen...

Aber zum Thema Netzwerk. Da bin ich noch ne Niete. Ich habe einfach mal meine Fritz.Box eingerichtet (zum testen). Da habe ich dann etwas mit "FRITZ-NAS". Ob hier das Thema mit den Attributen für alle Netzwerke gilt? Es gibt ja OneDrive und diese und jene Dienste. Diese beiden neuen Flags (Pinned/Unpinned) wurden ja wegen OneDrive hinzugefügt. Aber es sind Attribute fürs ganze System. Im Explorer werden diese in meinem FRITZ-NAS auch abgefragt/gesetzt. Also denke ich, es gilt dann bei jedem Netzwerk so.

Zu den Flags wird jedenfalls oft von "+P -U" oder "-P +U" geschrieben. Auch las ich inzwischen (eine Meinung) das andere Möglichkeiten ungültig zu betrachten sind.
Es gibt auch noch "FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS", was zum ganzen Thema dazugehört. Also eigentlich vier Attribute:

FILE_ATTRIBUTE_PINNED
FILE_ATTRIBUTE_UNPINNED
FILE_ATTRIBUTE_OFFLINE
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS

Damit kann man (muss man aber nicht) dann rumspielen und Attribute nach belieben setzen. Hier und da macht's dann aber wohl kein Sinn. Je nach dem wie man die Attribute für seine Anwendung nutzen möchte, muss man halt darüber etwas Infos haben. Sonst steht dann evtl. "Die Datei ist nur Online und immer lokal verfügbar"

Michael
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 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