Hallo Jens,
Zitat von
SirThornberry:
... Aber sowas sollte man doch gar keinem erst beibringen ... Durch die Compilermagic mag dies funktionieren. ...
dein Hinweis ist zwar nicht falsch, aber für einen wirklichen Anfänger mindestens so verwirrend, wie das unerwartete Ergebnis bei FindFirst(..., faHidden + faHidden, ...). Wenn du also etwas für die Ausbildung der Ungelernten tuen möchtest, dann musst du die Zusammenhänge erläutern oder einen Link setzen. Ich wollte mir das ersparen.
Mit Compiler Magic hat das Addieren von ganzzahligen Konstanten übrigens nichts zu tun. Die ODER-Verknüpfung ist vorteilhaft bei Bit-Schaltern, die im Laufe der Zeit um Aliasse oder Sammelmasken angereichert wurden. Sie schützt den Unkundigen vor Stellenüberträgen. Im vorliegenden Fall wäre die Summe von faAnyFile und einer der anderen Konstanten fatal. Übrigens auch die Delphi-Hilfe richtet sich nicht an Anfänger:
DOH - Topic Findfirst
... Sie können auch mehrere Attribute kombinieren, indem Sie die betreffenden Konstanten hinzufügen (Delphi) bzw. eine ODER-Verknüpfung (C++) durchführen. Soll beispielsweise zusätzlich zu den normalen auch nach schreibgeschützten und versteckten Dateien gesucht werden, übergeben Sie als Parameter Attr in Delphi den Wert (faReadOnly + faHidden) ...
Und zur Frage von Detlef: faAnyFile ist für Schreibfaule oder solche, die Dateiattribute lieber erst gar nicht kennen lernen wollen.
Und weil du gerade nochmal etwas geschrieben hast: Richtig oder Falsch gibt es hier nicht. Wenn das richtige Ergebnis reproduzierbar ist, dann ist der Weg richtig. Du meinst bestimmt etwas anderes und hast nur die falschen Worte benutzt.
Freundliche Grüße