$userprofile$ en visual basic

Fermé
cirilg Messages postés 40 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 13 avril 2010 - 10 nov. 2007 à 21:08
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 - 11 nov. 2007 à 16:43
Bonjour,
je voudrais connaitre l'équivalent de $userprofile$ qui est une commande en MS DOS en visual basic.

merci de votre aide

@+


cyril
A voir également:

6 réponses

ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
10 nov. 2007 à 21:29
Bonsoir,

Environ, fonction


Renvoie la valeur de type String associée à une variable d'environnement du système d'exploitation. Non disponible sur le Macintosh.

Syntaxe

Environ({envstring | number})

La syntaxe de la fonction Environ comprend les arguments nommés suivants :

Élément Description
envstring Facultatif. Expression de chaîne contenant le nom d'une variable d'environnement.
number Facultatif. Expression numérique correspondant au numéro d'ordre de la chaîne dans la table d'environnement. L'argument number peut contenir n'importe quelle expression numérique, mais est arrondi à un nombre entier avant d'être évalué.



Remarques

Si l'argument envstring est introuvable dans la table d'environnement, une chaîne de longueur nulle ("") est renvoyée. Dans le cas contraire, Environ renvoie le texte associé à l'argument envstring, à savoir le texte de la table d'environnement suivant le signe égal (=) pour cette variable d'environnement.

Si vous utilisez l'argument number, la chaîne à laquelle correspond ce numéro d'ordre dans la table d'environnement est renvoyée. La fonction Environ renvoie dans ce cas l'ensemble du texte, l'argument envstring compris. Si aucune chaîne d'environnement n'occupe cette position, la fonction Environ renvoie une chaîne de longueur nulle.

Environ, fonction, exemple
Cet exemple utilise la fonction Environ pour fournir le numéro d'entrée et la longueur de l'instruction PATH de la table des chaînes d'environnement. Non disponible sur Macintosh.


Dim EnvString, Indx, Msg, PathLen    ' Déclare les variables.
Indx = 1    ' Initialise l'index à 1.
Do
    EnvString = Environ(Indx)    ' Extrait la variable
                                        ' d'environnement.
    If Left(EnvString, 5) = "PATH=" Then    ' Vérifie l'entrée PATH.
        PathLen = Len(Environ("PATH"))    ' Extrait la longueur.
        Msg = "Entrée PATH = " & Indx & " et longueur = " & PathLen
        Exit Do
    Else
        Indx = Indx + 1    ' Pas d'entrée PATH,
    End If    ' donc incrémente.
Loop Until EnvString = ""
If PathLen > 0 Then
    MsgBox Msg    ' Affiche le message.
Else
    MsgBox " Il n'existe pas de variable d'environnement PATH."
End If

0
cirilg Messages postés 40 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 13 avril 2010 1
10 nov. 2007 à 21:49
merci de ta reponse mais moi je suis un débutant en vb donc je n'ai pas tout compris
moi ce que je veux c'est copier un fichiier sur un ftp donc j'ai trouver ça:


Print #1, "cd " + "/test"

Print #1, "put c:\documents and settings\utilisateur\mes documents\fichier.exe*


les deux commande marche mais je voudrais aller directement dans c:\documents and settings\utilisateur\mes documents car suvant les pc l'addresse change.


merci d'avance

@=
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
10 nov. 2007 à 22:01
si tu fais :

Dim sPathUser as String

sPathUser = Environ$("USERPROFILE")

sPathUser = sPathUser & "\mes documents\fichier.exe"

Print #1, "put " & sPathUser



cela devrait resoudre ton pb ...
0
cirilg Messages postés 40 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 13 avril 2010 1
10 nov. 2007 à 22:44
salut
merci sa marche mais il ne ve pas copier un fichier qui se trouve dans c:\documents and settings même si je tape c:\documents and settings
par contre ta commande trouve bien le chemin d'accés avec le nom de l'utilisateur!

@+

cyril
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
10 nov. 2007 à 22:53
Essaye comme ceci :

sPathUser = sPathUser & Chr(34)  & "\mes documents\fichier.exe" & Chr(34)
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
11 nov. 2007 à 10:20
Sorry ...

Plutot comme ceci :

sPathUser = Chr(34)  & PathUser & "\mes documents\fichier.exe" & Chr(34)
0
cirilg Messages postés 40 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 13 avril 2010 1
11 nov. 2007 à 11:05
salut

je ne comprend pas pourquoi ça ne marhce pas avec ta premiere méthode car le programe fait un fichier temp.txt dans c: et écrit cela

open ftpperso.free.fr
USER f0lky
******
cd /test
put C:\Documents and Settings\cyril\mes documents\Mes images\tordu 1.gif
put C:\salut\popo.html
put C:\Documents and Settings\dodo.html


donc il va vien dans document and settings\cyril pour sa pas de probleme mais je n'ai que popo.html sur mon ftp
n'y a t il pas une protection pour ne pas copier un fichier se trouvant dans documents and settings?
meme avec le fichier dodo.html ou dans le programme j'ai écrit l'adresse il ne le copie pas!!!

voila mon progrmme

Private Sub Command1_Click()

ChDir "C:\"


Open "temp.txt" For Append As #1
Print #1, "open ftpperso.free.fr"
Print #1, "USER f0lky"
Print #1, "global"



Print #1, "cd " + "/test"

Dim sPathUser As String

sPathUser = Environ$("USERPROFILE")

sPathUser = sPathUser & "\mes documents\Mes images\tordu 1.gif"


Print #1, "put " & sPathUser
Print #1, "put C:\salut\popo.html"
Print #1, "put C:\Documents and Settings\dodo.html"

Close #1


site = Shell("ftp -n -s:c:\temp.txt", vbHide)



End Sub




allez @+

cyril
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cirilg Messages postés 40 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 13 avril 2010 1
11 nov. 2007 à 11:07
j'oublie ta premiere méthode fonction bien

Dim sPathUser as String

sPathUser = Environ$("USERPROFILE")

sPathUser = sPathUser & "\mes documents\fichier.exe"

Print #1, "put " & sPathUser

@+
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
11 nov. 2007 à 12:17
Bonjour Cyril,

Cette méthode :
sPathUser = Chr(34)  & PathUser & "\mes documents\fichier.exe" & Chr(34)


permet de mettre des " en debut et fin de chaine.

Et d'apres ce que tu me décrit ton pb viens peut etre de là.

Si ton fichier popo.html a bien été copié c'est que le chemin d'accès à ce fichier ne comporte pas d'espace :

C:\salut\popo.html


Par contre les 2 autres chemins en comportent :

C:\Documents and Settings\cyril\mes documents\Mes images\tordu 1.gif
C:\Documents and Settings\dodo.html
0
cirilg Messages postés 40 Date d'inscription mardi 11 avril 2006 Statut Membre Dernière intervention 13 avril 2010 1
11 nov. 2007 à 15:53
mon probleme n'était pas ça
c'est juste que popo.html est bien dans le dossier salut qui lui mm est dans c:
donc pour ce fichier popo.htlm il n'y a pas de probleme il le copie bien sur le ftp

mais le probleme est qu'il ne copie pas un fichier qui se situe dans documents and settings

mais bon ce n'ai pas grave laisse tomber ne tembete pas j'ai fait mon programme en commande ms dos et il marche donc c'est nikel

merci de ton aide


cyril
0
ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
11 nov. 2007 à 16:43
ok ...

un p'tit resolu alors ;p
0