![]() |
Langen Pfadnamen ermitteln?
Hallo,
ich hoffe ich Poste hier im richtigen Bereich .... wenn nicht... verschiebt's einfach Gnadenlos :)) Ich lese auf dem Weg die TEMP-Variable aus
Delphi-Quellcode:
hier erhalte ich "C:\DOKUME~1\......" zurück, ich würde das gern in den langen Namen umwandeln lassen ...also "C:\Dokumente und Einstellungen\......"
SysUtils.GetEnvironmentVariable('temp');
hab hier schon mal noch "Dateiname" und "langer Dateiname" gesucht aber nichts brauchbares gefunden. Hoffe ihr könnt mir helfen. MfG patrick. |
Re: Langen Pfadnamen ermitteln?
Statt umständlich den langen Pfadnamen zusammenzusuchen könntest Du doch auch auf GetTempPath zurückgreifen, oder?
|
Re: Langen Pfadnamen ermitteln?
Zitat:
![]() |
Re: Langen Pfadnamen ermitteln?
Zitat:
|
Re: Langen Pfadnamen ermitteln?
Zitat:
![]() |
Re: Langen Pfadnamen ermitteln?
Kennt meine Hilfe noch gar nicht.
[edit] Geht ab Win98. Und ich hab mir diese Mühe gemacht :wall: [/edit] |
Re: Langen Pfadnamen ermitteln?
...also steht in meiner Hilfe auch nich .... welche Unit muss ich denn einbinden damit das funzt...... ?
lg Patrick. |
Re: Langen Pfadnamen ermitteln?
|
Re: Langen Pfadnamen ermitteln?
Ich habe es doch schon extra verlinkt. Natürlich steht es nicht in der Delphihilfe, es ist ja auch eine Windows Funktion. Und wenn sie in der Windows.pas noch nicht deklariert ist, muss man das selber nachholen.
|
Re: Langen Pfadnamen ermitteln?
Dieses wäre auch noch eine Variante : (ist nicht von mir !!)
Delphi-Quellcode:
(* ---------------------------------------------
Convert short DOS-style path to long path -- Required units: ShlObj, ActiveX --------------------------------------------- *) function short_to_long_Path(ShortPathName : String) : String; var PIDL: PItemIDList; Desktop: IShellFolder; WidePathName: WideString; AnsiPathName: AnsiString; begin Result := ShortPathName; if Succeeded(SHGetDesktopFolder(Desktop)) then begin WidePathName := ShortPathName; if Succeeded(Desktop.ParseDisplayName(0, nil, PWideChar(WidePathName), ULONG(nil^), PIDL, ULONG(nil^))) then begin try SetLength(AnsiPathName, MAX_PATH); SHGetPathFromIDList(PIDL, PChar(AnsiPathName)); Result := PChar(AnsiPathName); finally CoTaskMemFree(PIDL); end; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 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 by Thomas Breitkreuz