Récupérer une variable d'environnement [Résolu]

dxh_master 97 Messages postés mardi 24 mai 2005Date d'inscription 25 juin 2006 Dernière intervention - 27 déc. 2005 à 19:09 - Dernière réponse : Cirec 4221 Messages postés vendredi 23 juillet 2004Date d'inscription 11 mai 2018 Dernière intervention
- 28 déc. 2005 à 11:22
comment fait-ont pour récupérer une variable d'environnement?
avec un comSpec je croit mais je sais pas faire!
Afficher la suite 

Votre réponse

6 réponses

Cirec 4221 Messages postés vendredi 23 juillet 2004Date d'inscription 11 mai 2018 Dernière intervention - 27 déc. 2005 à 20:37
+3
Utile
Salut,
pour récupérer une variable d'environnement c'est simple il faut utiliser la procédure de l'unité Windows comme ceci :

Function MakeValidDir(Directory: String): String;
Var eVariable : Array[0..512] Of Char;
Begin
ExpandEnvironmentStrings(PChar(Directory), @eVariable, 512);
Result := eVariable;
End ;



procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption : = MakeValidDir(Edit1.Text);
end;


{********************************************************************************}{


Voici la liste des variables d'environnement à utiliser entre deux "%"
Exemple : %AppData%
on peut aussi faire ceci %PROGRAMFILES%\Borland

liste extraite de l'aide de Windows
APPDATA
TEMP , TMP
COMPUTERNAME
CommonProgramFiles
COMSPEC
NUMBER_OF_PROCESSORS
OS
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFIER
PROCESSOR_LEVEL
PROCESSOR_REVISION
PROGRAMFILES
SYSTEMDRIVE
SYSTEMROOT
AllUsersProfile
USERPROFILE
WINDIR
The remainder are only available to interactive applications.


HOMEDRIVE
HOMEPATH
LOGONSERVER
USERDOMAIN
USERNAME
Only the WINDIR variable is available on Microsoft Windows® 95 and Windows 98 systems.}

Bonnes Fêtes
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Cirec
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 27 déc. 2005 à 20:46
+3
Utile
Réponse :
GetEnvironmentVariable(Name:string):string;

<hr color="#008000">Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Delphiprog
Cirec 4221 Messages postés vendredi 23 juillet 2004Date d'inscription 11 mai 2018 Dernière intervention - 27 déc. 2005 à 23:03
+3
Utile
Bonsoir Delphiprog,

encore une fonction que je ne connaissais pas, c'est dans ces moments que l'on voit la différence entre le maître et l'apprenti



@+
Cirec
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Cirec
dxh_master 97 Messages postés mardi 24 mai 2005Date d'inscription 25 juin 2006 Dernière intervention - 27 déc. 2005 à 23:21
+3
Utile
MercI Beaucoup Pour Votre Aide
ET
BONNES FETES A TOUS!!!!!!!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de dxh_master
Cirec 4221 Messages postés vendredi 23 juillet 2004Date d'inscription 11 mai 2018 Dernière intervention - 28 déc. 2005 à 11:22
+3
Utile
me voil
à
rassuré
maintenant,
la diffé
rence entre les deux c'est que l'
on
à
pas besoin de dé
clarer l'unité SysUtils puisqu'
elle se trouve dans l
'unité Windows. D'
ailleurs GetEnvironmentVariable existe aussi dans l
'unité Windows avec les mêmes paramètres que ceux de
ExpandEnvironmentStrings
?


Bon alors comme tu ne connaissais pas ExpandEnvironmentStrings
je me permet de te pr
é
senter sa petite soeur qui elle fait l'opération inverse.


Function PathUnExpandEnvStrings
(pszPath
: PAnsiChar
; pszBuf
: PAnsiChar
; cchBuf
:
Integer
): Boolean
; StdCall external
'ShlwApi.dll' name
'PathUnExpandEnvStringsA';


Function PathToEnvString
(lsPath
: String
):
String
;


Implementation


Function PathToEnvString
(lsPath
: String
):
String
;
Var eVariable
: Array
[
0..512] Of Char
;
Begin
Result
:=
EmptyStr;
PathUnExpandEnvStrings
( PChar
(lsPath
),
@eVariable
,
512);
Result
: = eVariable
;
End
;
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Cirec
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 28 déc. 2005 à 00:18
0
Utile
Cirec : ne t'affoles pas, je ne connaissais pas non plus ExpandEnvironmentStrings ! lol
Un partout, balle au centre


<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Commenter la réponse de cs_Delphiprog

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.