Page 1 sur 1

Récupérer une variable systeme en LS

MessagePublié: 30 Nov 2009 à 12:30
par bullit
Bonjour,

J'aimerai récupérer un fichier sous Temp (%temp%) en LS.
Actuellement j'utilise "session.GetEnvironmentString" qui me permet de récupérer un fichier mais uniquement dans le Directory.

Y a t-il un moyen de récupérer une variable systeme en LS pour ensuite faire appel à un fichier qui se trouve dans le répertoire ?

Merci

MessagePublié: 30 Nov 2009 à 12:38
par Michael DELIQUE
salut

pour le répertoire temporaire tu peut passer par une api => http://forum.dominoarea.org/recuperer-l ... 19270.html

sinon essais ce code

Code : Tout sélectionner
Public Function WindowsGetVariable(wVariable As String) As String
   'cette fonction renvois le contnue d'une variable windows ex %USERNAME%
   
   'Déclaration variable
   Dim vrShell As Variant
'   Dim vrSysEnv As Variant
   
   On Error Goto ErreurHandle
   
   If Trim(wVariable) = "" Then
      WindowsGetVariable = ""
      Exit Function
   End If
   
   If Session Is Nothing Then
      Set Session = New NotesSession
   End If
   
   If Session.NotesBuildVersion<190 Then
      'inférieur à la version R6
      Set vrShell = CreateObject("WScript.Shell")
      WindowsGetVariable = vrShell.ExpandEnvironmentStrings(wVariable)
      
   'si ça ne marche pas utiliser cette version du code
'   Set vrSysEnv = vrShell.Environment("SYSTEM")
'   WindowsGetVariable = vrSysEnv(wVariable)
      
      Set vrShell = Nothing
'   Set  vrSysEnv = Nothing
      
   Else
      WindowsGetVariable = Environ$(wVariable)
   End If
   
   Exit Function
ErreurHandle:
   Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   WindowsGetVariable = ""
   Exit Function
End Function

MessagePublié: 01 Déc 2009 à 09:05
par abertisch
Salut,

et avec cela
Code : Tout sélectionner
Environ("Temp")
?!?

récup windowsEnv en LS

MessagePublié: 10 Fév 2010 à 17:45
par bullit
Bonjour,

J'aimerai faire exactement la même chose que ceci mais à partir du répertoire %temp% :
fichier=session.GetEnvironmentString( "Directory", True ) & "\toto.txt"

L'idée consiste à:

1. récupérer l'emplacement de la variable d'environnement windows "TEMP"
2. D'appeler le fichier toto.txt qui se trouve dans ce répertoire.

J'ai cru comprendre qu'avec la fonction Environ on pouvait faire cela, mais j'avoue que je n'y arrive pas.

Si qq pourvait me dépanner, ça serait sympa !

CDT

MessagePublié: 11 Fév 2010 à 08:06
par abertisch
Salut,

En utilisant
Code : Tout sélectionner
Environ("Temp")+"\"+toto.txt
Cela devrait marcher. :wink:

marche pas

MessagePublié: 11 Fév 2010 à 11:06
par bullit
ça ne marche pas, j'ai une erreur "variant does not contain an object" lors de l'execution.

alors j'ai essayé ça
fichier=Environ$("TEMP")+"\"+toto.txt
mais c'est pareil, faut-il déclarer qq chose de plus ?

CDT

MessagePublié: 11 Fév 2010 à 11:07
par Michael DELIQUE
tu as essayer d'utiliser la fonction WindowsGetVariable donné plus haut ?

ok, mais !

MessagePublié: 11 Fév 2010 à 18:24
par bullit
ok merci, j'ai bien crée la fonction à partir de WindowsGetVariable("TEMP")

par contre j'aimerai faire appel à cette fonction depuis le postopen et donc dans un premier temps récupérer la valeur de la variable system et puis ensuiet faier appel au fichier qui se trouve dans le dossier (valeur récupéré).

Par contre je sais pas comment m'y prendre !

Merci par avance.

personne ?

MessagePublié: 12 Fév 2010 à 15:12
par bullit
J'ai bien crée la fonction, mais comment faire pour faire appel à celle-ci et
se déplacer dans le répertoire retourné par la fonction ?

Merci pour votre aide.

MessagePublié: 12 Fév 2010 à 15:33
par Michael DELIQUE
tu l'as mise ou la fonction ?

MessagePublié: 12 Fév 2010 à 16:28
par bullit
Et bien j'ai déclarée une nouvelle fonction dans le "script de la base" et je souhaite à partir du post open appeller cette dernière.

CDT

MessagePublié: 12 Fév 2010 à 16:46
par Michael DELIQUE
ben dans le postopen

dim t as string
t = WindowsGetVariable("Temp")

MessagePublié: 25 Fév 2010 à 14:05
par bullit
PI:
En faisant un call de la variable windowsgetvariable
puis un Environ ("sysvaleur")

ça marche.

Merci.