|  |  | 
|  | 
|  | 
|  | | 
 Beschreibung:
 
 ExpandEnvironmentStrings ersetzt in einem Textausdruck alle Umgebungsvariablen durch ihre expandierten Werte. Wenn aus der Registry Pfade ausgelesen werden, sollten diese zuerst vor der Weiterverarbeitung durch diese Funktion geschickt werden.
 
 
 
 
 Deklaration:
 
 DEF @ExpandEnvironmentStrings(3)!kernel32,ExpandEnvironmentStringsA
 
 
 
 
 Parameter:
 
 
  1.Parameter: Adresse eines Strings oder Bereichsvariable mit einem String, der Umgebungsvariablen enthält. 
  2.Parameter: Bereichsvariable, die den expandierten String aufnimmt. 
  3.Parameter: Größe der Bereichsvariable aus Parameter 2 in Bytes als LongInt. 
 
 
 Rückgabewert:
 
 0 bei Misserfolg. Ansonsten die Anzahl der Buchstaben im Rückgabestring. Ist Parameter 2 zu klein dimensioniert, kann man so über diese Funktion auch die benötigte Größe von Parameter 2 herausfinden.
 
 Beispiele:
 
 KompilierenMarkierenSeparieren
 DEF @ExpandEnvironmentStrings(3)!kernel32,ExpandEnvironmentStringsA
Declare Fehler&,ENVErgebnis#,Button&
Declare ENVERGEBNIS$
PROC VariableErsetzenInString
    Parameters ZuValidierenderText$
    der interne Puffer muß das gesamte Environment abdecken können
    sonst gibt es einen Fehler bezüglich der Bereichsgrenze
    Dim ENVErgebnis#,261
    LET ENVERGEBNIS$=
    LET FEHLER&=@ExpandEnvironmentStrings(@addr(ZuValidierenderText$),ENVErgebnis#,261)
    Let ENVERGEBNIS$= @String$(ENVErgebnis#,0)
    Dispose ENVErgebnis#
    RETURN ENVERGEBNIS$
endproc
Windowstyle 31
Windowtitle Umgebungsvariablen ersetzen
Window 0,0-640,440
Let Button&=@CreateButton(%HWND,Variable eingeben,20,300,200,30)
While 0=0
    Waitinput
    IF @Getfocus(Button&)
        VariableErsetzenInString @input$(Umgebungsvariable eingeben:,Ersetzen,%WINDIR%)
        Print @$(0)
    endif
wend
 | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 |