Delphi FAQ

Jak rozpakować ścieżkę zgodnie ze standardem UNC

Cool_Programming

Wystarczy użyć funkcji ExpandUNCFileName

Na przykład:
ExpandUNCFileName('C:\Program Files\Borland..');
Wynik będzie C:\

Uwagi:

  1. .. - katalog nadrzędny
  2. ... - 2 katalogi wstecz
  3. W przypadku ścieżek sieciowych, ja musiałem podawać z trzema \\
  4. Jeżeli podasz zmapowany dysk, to nie zwróci Ci ścieżki do
    zmapowanego dysku, a do standardu \ ;-)
  5. Katalog nie musi istnieć
  6. Możesz podać dokładną nazwy plików
FAQ

2 komentarzy

Ach to prawda, popełniłem błąd powinno być:
ExpandUNCFileName('C:\Program Files\Borland...');

Liczba kropek definiuje ilośc katalogów w górę:
ExpandUNCFileName('C:\Program Files\Borland\Delphi7\Projects\Cos......');
Zwrot: C:\

"ExpandUNCFileName('C:\Program Files\Borland..');
Wynik będzie C:\ "

A że niby czemu dwa do góry ? Mamy przecież jedno ".."