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

Messages postés
97
Date d'inscription
mardi 24 mai 2005
Statut
Membre
Dernière intervention
25 juin 2006
- - Dernière réponse : Cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
- 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 

6 réponses

Meilleure réponse
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
33
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 6005 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
33
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 6005 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
Statut
Membre
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 6005 internautes nous ont dit merci ce mois-ci

Commenter la réponse de dxh_master
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
33
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 6005 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
Statut
Modérateur
Dernière intervention
9 janvier 2013
24
1
Merci
Réponse :
GetEnvironmentVariable(Name:string):string;

<hr color="#008000">Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Commenter la réponse de cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
24
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