Einzelnen Beitrag anzeigen

Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#12

AW: Funktion zum auflösen von Pfaden mit Umgebungsvariablen?

  Alt 4. Okt 2012, 17:19
Delphi-Quellcode:
unit Path_Utils;
// Thomas Wassermann (Bummi)
interface
uses Windows;


Function ExpandEnvironmentStrings_D(Const s:String):String;
Function PathUnExpandEnvStrings_D(Const s:String):String;
{$IFDEF UNICODE}
Function PathUnExpandEnvStrings(pszPath, pszBuf: PChar; cchBuf: UINT): BOOL; stdcall;
{$ELSE}
Function PathUnExpandEnvStrings(pszPath, pszBuf: PChar; cchBuf: UINT): BOOL; stdcall;
{$ENDIF}



implementation
{$IFDEF UNICODE}
Function PathUnExpandEnvStrings; External 'shlwapi.dllName 'PathUnExpandEnvStringsW';
{$ELSE}
Function PathUnExpandEnvStrings; External 'shlwapi.dllName 'PathUnExpandEnvStringsA';
{$ENDIF}



Function ExpandEnvironmentStrings_D(Const s:String):String;
begin
  SetLength(Result,ExpandEnvironmentStrings(PChar(s),Pchar(Result),0));
  ExpandEnvironmentStrings(Pchar(s),Pchar(Result),Length(Result));
end;

Function PathUnExpandEnvStrings_D(Const s:String):String;
var
 i:Integer;
begin
  SetLength(Result,MAX_PATH);
  PathUnExpandEnvStrings(PChar(s),Pchar(Result),MAX_PATH);
  Result := PChar(Result);
end;

end.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat