Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Prüfen ob relativer oder absoluter Pfad (https://www.delphipraxis.net/43341-pruefen-ob-relativer-oder-absoluter-pfad.html)

Salomon 2. Apr 2005 10:36


Prüfen ob relativer oder absoluter Pfad
 
Moin Moin,

ich müsste bei einer Pfadangabe prüfen ob es sich um einen relativen oder einen absoluten Pfad handelt. Gibt es da schon eine Funktion in Delphi oder muss ich mir die selber schreiben?

Wenn es ide nicht gibt wie prüfe ich am besten ob der Pfad relativ ist? Ich könnte prüfen ob an der dritten Stellen ein '\' steht. Es gibt aber auch relative Pfade bei denen das so sein kann...

Thanx
Salomon

Chewie 2. Apr 2005 10:40

Re: Prüfen ob relativer oder absoluter Pfad
 
Unter Windows reicht einfach zu prüfen, ob vorne ein Laufwerksbuchstabe und ein Doppelpunkt steht.

Salomon 2. Apr 2005 10:47

Re: Prüfen ob relativer oder absoluter Pfad
 
Jepp hast recht, ein Doppelpunkt kommt nicht in relativen Pfaden vor. Dann nehme ich den als Unterscheidungskriterium.

Salomon 2. Apr 2005 10:54

Re: Prüfen ob relativer oder absoluter Pfad
 
Delphi-Quellcode:
Function IsRelativPath (path : String) : boolean;
begin
  if copy (path,2,1) = ':' then
   result := false
  else
   result := true;
end;

alcaeus 2. Apr 2005 10:56

Re: Prüfen ob relativer oder absoluter Pfad
 
Da kann ich mit einem Vierzeiler dagegenhalten:

Delphi-Quellcode:
function IsRelativePath(Path: String): Boolean;
begin
  Result := (Path[2] <> ':') and (Copy(Path, 1, 2) <> '\\');
end;
Die Funktion kommt auch mit Verzeichnissen wie
Code:
\\PC-Name\Freigabe
klar, denn das waere auch ein absoluter Pfad.

Greetz
alcaeus

Gruber_Hans_12345 2. Apr 2005 11:03

Re: Prüfen ob relativer oder absoluter Pfad
 
Zitat:

Zitat von alcaeus
Da kann ich mit einem Vierzeiler dagegenhalten:

Delphi-Quellcode:
function IsRelativePath(Path: String): Boolean;
begin
  Result := (Path[2] <> ':') and (Copy(Path, 1, 2) <> '\\');
end;
Die Funktion kommt auch mit Verzeichnissen wie
Code:
\\PC-Name\Freigabe
klar, denn das waere auch ein absoluter Pfad.

Greetz
alcaeus

... und bei einem Path von nur einem Zeihen dann eine AV

Delphi-Quellcode:
function IsRelativePath(Path: String): Boolean;
begin
  Result := (Copy(Path, 2, 1) <> ':') and (Copy(Path, 1, 2) <> '\\');
end;

Salomon 2. Apr 2005 11:17

Re: Prüfen ob relativer oder absoluter Pfad
 
Klar geht es kürzer und schöner, aber für mich musste es schnell gehen ;)

Habt ihr evtl. kurz den Befehl zum umbennen von Verzeichnissen griffbereit? Ich find den gerade nicht und es lohnt kaum dafür einen neuen Thread aufzumachen...

Salomon 2. Apr 2005 11:22

Re: Prüfen ob relativer oder absoluter Pfad
 
Habs doch noch gefunden, geht auch mit der "RenameFile" funktion...

Sprint 2. Apr 2005 11:36

Re: Prüfen ob relativer oder absoluter Pfad
 
Zitat:

Zitat von Salomon
ich müsste bei einer Pfadangabe prüfen ob es sich um einen relativen oder einen absoluten Pfad handelt. Gibt es da schon eine Funktion in Delphi oder muss ich mir die selber schreiben?

z.B. die API Funktion MSDN-Library durchsuchenPathIsRelative

Delphi-Quellcode:
function PathIsRelative(lpszPath: PChar): BOOL; stdcall; external 'shlwapi.dll' name 'PathIsRelativeA';


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