Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

Environment variables

 [1/3] from: hk:readysoft at: 2-Jan-2001 9:13


Does anybody now how I can get and set environment variables in Rebol/Command? thanks helmut

 [2/3] from: dan::rolander::com at: 2-Jan-2001 5:45


Helmut, here's one way to do it: REBOL [] comment { Win32 API Declarations: DWORD GetEnvironmentVariable( LPCTSTR lpName, // environment variable name LPTSTR lpBuffer, // buffer for variable value DWORD nSize // size of buffer ); BOOL SetEnvironmentVariable( LPCTSTR lpName, // environment variable name LPCTSTR lpValue // new value for variable ); } kernel32: make object! [ lib: load/library %kernel32.dll win32api-GetEnvironmentVariable: make routine! [ name [string!] buffer [string!] size [ struct! [ size [integer!] ] ] return: [integer!] ] lib "GetEnvironmentVariableA" get-env: func [name [string!] /local size][ buffer: copy "" repeat sp 255 [buffer: append buffer " "] size: make struct! [size [integer!]] reduce [length? buffer] win32api-GetEnvironmentVariable name buffer size trim buffer ] win32api-SetEnvironmentVariable: make routine! [ name [string!] value [string!] return: [integer!] ] lib "SetEnvironmentVariableA" set-env: func [name [string!] value [string!] ][ win32api-SetEnvironmentVariable name value ] ] test: does [ env: kernel32/get-env "REBOL_HOME" print ["REBOL_HOME = " env] kernel32/set-env "REBOL_HOME" "C:\New Dir" env: kernel32/get-env "REBOL_HOME" print ["REBOL_HOME = " env] ]

 [3/3] from: hk:readysoft at: 2-Jan-2001 12:00


Dan, thank you, but I'm sorry I need it for Linux too! Helmut -----Ursprüngliche Nachricht----- Von: Dan Rolander <[dan--rolander--com]> An: [rebol-list--rebol--com] <[rebol-list--rebol--com]> Datum: Dienstag, 2. Januar 2001 11:35 Betreff: [REBOL] Re: Environment variables