IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

[VB.NET] Comment utiliser les Variables d'environnement de Windows SVP ?


Sujet :

VB.NET

  1. #1
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 465
    Points
    465
    Par défaut [VB.NET] Comment utiliser les Variables d'environnement de Windows SVP ?
    Slt,

    La question est ds le titre.

    Par exemple, si je veux copier le fichier "toto.txt" dans le dossier temporaire de Windows XP, via l'invite de commande, je vais taper :
    Comment faire la même chose en VB.NET svp ?

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    System.Collections.IDictionary environmentVariables;
    environmentVariables = Environment.GetEnvironmentVariables(EnvironmentVariableTarget.User);
     
    MessageBox.Show(environmentVariables["TEMP"].ToString());
    bon c'est du C# mais les classes sont les mêmes
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 465
    Points
    465
    Par défaut
    je continue mes recherches et pour une fois ça va assez vite... bizard
    Bon, je boque qd m, faut pas rever

    Pour la copie de fichier, j'ai trouvé ça qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File.Copy("C:\toto.txt", "D:\totocopy.txt")
    Maintenant, reste à remplacer D: par le chemin du dossier temporaire de windows. Pour cela je crois avoir trouvé la commande qui convient, Environment.GetEnvironmentVariable("temp"), mais je n'arrive pas à l'utiliser et je sais m pas comment verifier si la valeur est correcte. Le lecteur est-il pris en compte ? Faut-il ajouter qqc ds les "Imports" ?

    Pour commencer, je pense qu'il faut l'utiliser comme ci-dessous mais une petite confirmation ne me fera pas de mal Je suis debutant alors bon... je ne maitrise pas grand chose, y compris les déclarations.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim chemin_temp As String = Environment.GetEnvironmentVariable("temp")

  4. #4
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim chemin_temp As String = Environment.GetEnvironmentVariable("temp")
    marche très bien !
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  5. #5
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 465
    Points
    465
    Par défaut
    Merci The_badger_man ! les choses avancent.

    J'ai modifié ton code comme cela car VB express 2005 n'aimait pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageBox.Show(chemin_temp.ToString())
    Effectivement, une boite de dialogue s'ouvre en affichant le chemin complet. Donc pour ça c règlé.

    Reste toujours à exploiter la valeur. Si je fais ce qui suit, ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Class Dialog1
     
        Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
            Me.DialogResult = System.Windows.Forms.DialogResult.OK
            Dim chemin_temp As String = Environment.GetEnvironmentVariable("temp")
            ' MessageBox.Show(chemin_temp.ToString())
            File.Copy("C:\toto.txt", "chemin_temp\totocopy.txt")
            Me.Close()
        End Sub
    VB Express 2005 rapporte l'erreur suivante :
    Une exception de première chance de type 'System.IO.DirectoryNotFoundException' s'est produite dans mscorlib.dll

  6. #6
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 465
    Points
    465
    Par défaut
    Salut ASPIC !

    ça va depuis la dernière fois ? je m'y remets tu vois et cette fois je voudrais en faire + en VB.NET

  7. #7
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Salut lol, et oui je vais bien merci ^^ SInon quelle grosse erreur ai je vu dans ton code !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
            Me.DialogResult = System.Windows.Forms.DialogResult.OK
            Dim chemin_temp As String = Environment.GetEnvironmentVariable("temp")
            ' MessageBox.Show(chemin_temp.ToString())
            File.Copy("C:\toto.txt", chemin_temp & "\totocopy.txt")
            Me.Close()
        End Sub
    Voila !! as tu compris ton erreur ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  8. #8
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 465
    Points
    465
    Par défaut
    Merci ASPIC, t'es trop fort !

    Mettre un & apres une variable et non un \ et le reste... ok j'ai compris.

    Par contre, j'ai toujours les erreurs suivantes, qui se repètent plusieurs fois pour certaines, ds VB 2005 bien que j'obtienne ce que je veux sans message d'erreur apparant durant l'execution du déboguage. c peut-etre pas tres clair là disont qu'il semblerait que seul VB 2005 rapporte des erreurs et pourtant ça marche.

    • Une exception de première chance de type 'System.IO.FileNotFoundException' s'est produite dans Microsoft.VisualBasic.dll (3 erreurs de ce type)
    • Une exception de première chance de type 'System.IO.DirectoryNotFoundException' s'est produite dans mscorlib.dll (1 erreur de ce type)
    • Une exception de première chance de type 'System.NotSupportedException' s'est produite dans mscorlib.dll (1 erreur de ce type)
    • Une exception de première chance de type 'System.IO.DirectoryNotFoundException' s'est produite dans mscorlib.dll (7 erreurs de ce type)

  9. #9
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par arnomedia
    Merci ASPIC, t'es trop fort !

    Mettre un & apres une variable et non un \ et le reste... ok j'ai compris.
    Non ta variable etait entre guillement, elle etait donc considérée comme une chaine de caractère et non comme une variable ! Le signe & sert à concatener (mettre deux chaines bout à tout) ton path.

    Sinon j'ai pas compris tes histoires d'erreurs, soit plus précis
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  10. #10
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 465
    Points
    465
    Par défaut
    tu as répondu trop tôt j'étais en train d'éditer mon message précédant.

    Sinon cette fois, je pense avoir bien compris, merci. J'aime bien tes explications, elles sont clairs et précises.

  11. #11
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par arnomedia
    • Une exception de première chance de type 'System.IO.FileNotFoundException' s'est produite dans Microsoft.VisualBasic.dll (3 erreurs de ce type)
    • Une exception de première chance de type 'System.IO.DirectoryNotFoundException' s'est produite dans mscorlib.dll (1 erreur de ce type)
    • Une exception de première chance de type 'System.NotSupportedException' s'est produite dans mscorlib.dll (1 erreur de ce type)
    • Une exception de première chance de type 'System.IO.DirectoryNotFoundException' s'est produite dans mscorlib.dll (7 erreurs de ce type)
    Ces erreurs interviennent lors du debogage mais n'influent pas sur ton programme c'est ca ?

    Sinon tant mieux si t'aimes bien mes réponses
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  12. #12
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 465
    Points
    465
    Par défaut
    c'est exactement ça.

  13. #13
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Dans ce cas la, cela veut dire qu'il y a des erreurs dans ton code mais c'est pas grave pour le bon déroulement de ton programme mais c'est mieux de les corriger.

    Au vu des exeptions, c'est des erreurs de chemin d'accès de fichiers et de dossiers.

    Pour y remédier, tu as dûs mettre des try/catch dans ton code. Mets un point d'arret à chaque "Catch ex as Exeption" et tu verras quand le programme va planter "implicitement".

    Voila bon debuggage !
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  14. #14
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 465
    Points
    465
    Par défaut
    là par contre, j'ai pas tout compris

    J'en suis qu'au debut du programme et ce que j'ai mis ds le post est le programme complet. Ce sont des lignes de codes pour tester la manip en fait.

    Je n'ai pas fait de VB.NET depuis la dernière fois et "try/catch" et "Catch ex as Exeption", je ne sais m pas à quoi ça correspond, désolé.

  15. #15
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Bon c'est pas très grave ces erreurs si cela ne te nuit pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Try
     'ton code ici
    Catch ex as exception
     'intercepte l'erreur ici
    End Try
    Tu mets ton point d'arret sur la ligne du catch. Si tu ne sais pas mettre de point d'arret alors oublit cela car ca va etre trop dur pour toi...
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  16. #16
    Membre confirmé Avatar de arnofly
    Homme Profil pro
    Développeur Web / Webdesigner
    Inscrit en
    Mai 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web / Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 411
    Points : 465
    Points
    465
    Par défaut
    j'ai pas encore le niveau là. On verra ça une autre fois.

    Je vais créer un autre post pour apprendre une autre manip similaire à MS-DOS
    IF EXIST "C:\machin.txt" COPY C:\machin.txt D:

    Pour ce post, c bon. Je tag résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.0] Comment utiliser les variables de session ?
    Par batosai dans le forum ASP.NET
    Réponses: 11
    Dernier message: 03/05/2006, 15h49
  2. [Free Pascal] Comment gérer les variables d'environnement
    Par TheBigMac dans le forum Free Pascal
    Réponses: 4
    Dernier message: 15/04/2006, 11h32
  3. Comment modifier les variables d'environnement ?
    Par Jean-Jacques Engels dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2005, 22h42
  4. [VB]Comment utiliser les variables Windows?
    Par Furius dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/10/2005, 21h20
  5. [CF][PPC/VB.NET] Comment utiliser les Socket avec Pocket PC ?
    Par joefou dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 17/05/2005, 14h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo