Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   JEDI JclFileUtils.PathIsDiskDevice (https://www.delphipraxis.net/181422-jedi-jclfileutils-pathisdiskdevice.html)

PMM 13. Aug 2014 09:13

JEDI JclFileUtils.PathIsDiskDevice
 
Die Implmentierung lautet (für WIN) schlicht:
Code:
 
   Result := Copy(Path, 1, Length(PathDevicePrefix)) = PathDevicePrefix;
   //PathDevicePrefix = '\\.\';
Das kann doch nicht OK sein oder verstehe ich da was falsch?

p80286 13. Aug 2014 09:56

AW: JEDI JclFileUtils.PathIsDiskDevice
 
Wo ist Dein Problem?

Ich könnte mir jetzt die Jedis runter laden und mal schauen welchen Kontext Deine Frage hat, ich kann's aber auch lassen.

K-H

PMM 13. Aug 2014 10:06

AW: JEDI JclFileUtils.PathIsDiskDevice
 
Die Funktion liefert ja offenbar nur true für den String '\\.\' - erwarten würde ich aber auch true für Strings wie 'C:\MeinPfad' (nicht aber für '\\MeinRechner\C\MeinPfad' und ähnliches), so verstehe ich zumindest die Doku dazu und sowas benötige ich auch.

Union 13. Aug 2014 10:20

AW: JEDI JclFileUtils.PathIsDiskDevice
 
Das ist eine interne Funktion, die nichts anderes macht als True zurückzuliefern, falls der Pfad mit '\\.\' beginnt. Dient nur dazu, dieses Präfix bei der folgenden Untersuchung (in PathIsAbsolute) zu überspringen. Die gehört eigentlich gar nicht ins interface. Auch die Bennennung ist etwas fragwürdig - HasPathDiskDevicePrefix wäre vielleicht sprechender.

PMM 13. Aug 2014 11:12

AW: JEDI JclFileUtils.PathIsDiskDevice
 
OK, dann ist auch die Doku dazu irreführend (http://wiki.delphi-jedi.org/wiki/JCL...IsDiskDevice):
If the path denotes a disk device the result is True, otherwise the result is False.
PathIsDiskDevice tests whether the supplied path denotes a disk device. On Win32 systems the path to a disk device is always prepended with '\.' and that's what the function tests.

Union 13. Aug 2014 14:53

AW: JEDI JclFileUtils.PathIsDiskDevice
 
Dann ist die Doku ja korrekt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 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