![]() |
Pfade zu Dateien auf Netzlaufwerken in UNC-Pfade umwandeln
Hallo,
ich habe ![]() Vielleicht kann es ja noch einer gebrauchen.
Delphi-Quellcode:
Aufruf wäre bspw. so:
uses
...StrUtils; function ResolveShareName (LocalDevice : String) : String; var pLocName : PChar; pShareName : PChar; FuncResult : DWORD; BufLength : Cardinal; begin // Speicher für die Strings allozieren! pLocName := StrAlloc(255); pShareName := StrAlloc(255); // String in PString kopieren StrPCopy (pLocName, LocalDevice); BufLength := 255; FuncResult := WNetGetConnection(pLocName,pShareName,BufLength); if FuncResult <> NO_ERROR then Result := pLocName else Result := pShareName; // aufräumen! StrDispose (pShareName); StrDispose (pLocName); end; function ConvertPathToUNC (FileName : String) : String; var Drive, UNC_PATH : String; PosDrive : Integer; begin PosDrive := Pos(':\', FileName); while PosDrive > 0 do begin Drive := Copy (FileName, PosDrive - 1, 2); if GetDriveType(PChar(Drive)) = DRIVE_REMOTE then begin UNC_PATH := ResolveShareName (Drive); Delete (FileName, PosDrive - 1, 2); Insert (UNC_PATH, FileName, PosDrive - 1); PosDrive := Pos(':\', FileName); end else begin PosDrive := PosEx(':\', FileName, PosDrive + 1); end; end; Result := FileName; end;
Delphi-Quellcode:
Als Ergebnis käme dann folgendes raus:
showmessage(ConvertPathToUNC('S:\Test\Test.txt'));
Delphi-Quellcode:
'\\Server\Test\Test.txt'
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz