AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Parsen von EnvironmentPath

Ein Thema von EWeiss · begonnen am 14. Aug 2018 · letzter Beitrag vom 14. Aug 2018
 
Schokohase
(Gast)

n/a Beiträge
 
#4

AW: Parsen von EnvironmentPath

  Alt 14. Aug 2018, 07:59
Warum so kompliziert? Laut der Doku MSDN: ExpandEnvironmentStrings gilt für den lpSrc Parameter
Zitat:
A buffer that contains one or more environment-variable strings in the form: %variableName%. For each such reference, the %variableName% portion is replaced with the current value of that environment variable.
Also kann man sich das Ganze Aufsplitten sparen und '%HOMEDRIVE%%HOMEPATH%' in einem übergeben.

BTW:

Wer mit PWideChar arbeitet sollte auch konsequenterweise mit ExpandEnvironmentStringsW arbeiten, sonst ist bei der nächsten Umstellung (wie bei ANSI auf Unicode) das Geschrei wieder riesengross.

PS:

So würde diese Funktion bei mir aussehen:
Delphi-Quellcode:
function ExpandEnvironment( const AInput: string ): string;
var
  lResult: Cardinal;
begin
  lResult := Winapi.Windows.ExpandEnvironmentStrings( PChar(AInput), nil, 0 );

  if lResult = 0 then
    RaiseLastOSError( );

  SetLength( Result, lResult );
  lResult := Winapi.Windows.ExpandEnvironmentStrings( PChar(AInput), PChar( Result ), lResult );

  if lResult = 0 then
    RaiseLastOSError( );

  SetLength( Result, lResult - 1 );
end;

Geändert von Schokohase (14. Aug 2018 um 08:03 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 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