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

Messages postés
97
Date d'inscription
mardi 24 mai 2005
Dernière intervention
25 juin 2006
- - Dernière réponse : Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
- 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

Meilleure réponse
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Cirec
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
3
Merci
Réponse :
GetEnvironmentVariable(Name:string):string;

<hr color="#008000">Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Delphiprog
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Cirec
Messages postés
97
Date d'inscription
mardi 24 mai 2005
Dernière intervention
25 juin 2006
3
Merci
MercI Beaucoup Pour Votre Aide
ET
BONNES FETES A TOUS!!!!!!!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de dxh_master
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
3
Merci
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
;

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Cirec
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
0
Merci
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.