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 6 et antérieur Discussion :

[B] Enregistrement par défaut


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Points : 122
    Points
    122
    Par défaut [B] Enregistrement par défaut
    J'ai ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            Dim a As Object
    dim  b As Object
            a = CreateObject("Scripting.FileSystemObject")
            b = a.createtextfile("Autorun.inf", True)
    Je voudrais bien que mon fichier Autorun.inf se trouve sous le dossier d'user....
    Par exemple : C:\Documents and Settings\imparator\temp\ ... mais si moi je mets ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
          Dim a As Object
    Dim b As Object
            a = CreateObject("Scripting.FileSystemObject")
            b = a.createtextfile("C:\Documents and Settings\imparator\temp\Autorun.inf", True)
    Ben si jamais quelqu'un utilise ce programme ben il aurait surement pas un dossier qui s'appelle comme ça ... et de toute façon on peut jamais être sur que tout le monde met son dossier de windows sous le disque dur C: ... etc...
    Merci de m'aider

  2. #2
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Ajoutert un module au projet
    Coller le code ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Option Explicit
    Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" ( _
                        ByVal nBufferLength As Long, _
                        ByVal lpBuffer As String) As Long
    Public Function GetTempDirectory() As String
      Static strTemp As String
      Dim lRet As Long
      Dim iposit As Integer
      If strTemp <> "" Then
        GetTempDirectory = strTemp
        Exit Function
      End If
      strTemp = String(260, 0)
      lRet = GetTempPath(Len(strTemp), strTemp)
      iposit = InStr(strTemp, Chr$(0))
      strTemp = Left(strTemp, iposit - 1)
      'modif, on prends dans le repertoire courant
      'strTemp = App.Path
      If Right(strTemp, 1) <> "\" Then
        strTemp = strTemp & "\"
      End If
      GetTempDirectory = strTemp
    End Function

    En passant, avec la déclaration
    Seul la variable B désignara un objet, la variablr a sera un variant
    Il faut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim a as objet, b as object

  3. #3
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 108
    Points : 16 640
    Points
    16 640
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label1 = Environ("USERPROFILE")' suffisant ?
    Pour moi Label1 = "C:\Documents and Settings\francis"

  4. #4
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    En effet, vu comme çà

    Salut ProgElect

  5. #5
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 108
    Points : 16 640
    Points
    16 640
    Par défaut
    Salut Delbeke
    J'ai tenté le coup, en me disant que cela t'avais echappé.

    Il y a peut être mieux avec Environ("TEMP") ou Environ("TMP"), par contre je ne sais pas si le parametre TEMP ou TMP existe systematiquement (98, 2000, XP, VISTA ...)
    Ce qui donnerait
    b = a.createtextfile( Environ("TEMP")& "\Autorun.inf", True)
    Ou la premiere proposition
    b = a.createtextfile( Environ("USERPROFILE") & "\Temp\Autorun.inf", True)
    Mais pour ce cas, existe t-il toujours un dossier "Temp" a la suite de Environ("USERPROFILE") ?

  6. #6
    Membre régulier Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Points : 122
    Points
    122
    Par défaut
    Bon progElect j'ai essayer votre solution...
    et ça me fait cet erreur... en me montrons :USERPROFILE

    http://hebergement-images.voiloo.net...d945259328.jpg
    ....

    Et j'ai mis ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Command1_Click()
    Dim a As Object
    Dim b As Object
     
            a = CreateObject("Scripting.FileSystemObject")
            b = a.createtextfile("Environ("USERPROFILE")\Autorun.inf", True)
    End Sub
    Et pour dire c'est pareil pour TEMP

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par imparator_42 Voir le message
    B...
    Et j'ai mis ça : ...]
    relis le code à progElect...

  8. #8
    Membre régulier Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Points : 122
    Points
    122
    Par défaut
    Et avec votre module (Delbeke) comment je l'intègre dans mon form ? qu'est-ce que je mets à la place du chemin??
    strTemp ???

  9. #9
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour,

    Je préfère moi aussi me servir de la librairie Kernel32 et le fais ainsi (un peu comme le fait Delbeke, donc) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Declare Function GetTempPathA Lib "kernel32" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
     
    Private Function GetTempPath() As String
      Dim z0 As String, I As Integer
      I = GetTempPathA(0, ""): z0 = Space(I)
      Call GetTempPathA(I, z0)
      GetTempPath = Trim(z0)
    End Function
     
    Private Sub Command1_Click()
      MsgBox GetTempPath
    End Sub

  10. #10
    Membre régulier Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Points : 122
    Points
    122
    Par défaut
    Je peux vous dire quelque chose un plus familier?
    En fait, je vais plus quitter ce forum
    je me sens comme si j'étais dans une famille ou de ce genre de truc... vous êtes vraiment sympa... merci à tous...

  11. #11
    Membre régulier Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Points : 122
    Points
    122
    Par défaut
    Merci à vous tous
    J'ai réussi a obtenir ce que je voulais ...
    et je peux donc utiliser la méthode ucfoutu et Delbeke mais celle ProgElect je n'ai pas réussi à le faire.. donc j'ai ceci ... j'ai intégré dans 1 module le code que delbeke a mis, .. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Declare Function GetTempPathA Lib "kernel32" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
     
    Private Function GetTempPath() As String
      Dim z0 As String, I As Integer
      I = GetTempPathA(0, ""): z0 = Space(I)
      Call GetTempPathA(I, z0)
      z0 = Trim(z0): GetTempPath = Trim(z0)
    End Function
     
    Private Sub Command1_Click()
      MsgBox GetTempPath
    End Sub
     
     
    Private Sub Form_Load()
    Label1.Caption = GetTempDirectory
    Label2.Caption = GetTempPath
    End Sub
    Les deux me montrent la même chose donc c'est bon ...
    Vous êtes vraiment trooop fort

  12. #12
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    tu devrais également essayer la méthode de progelect, pour être complet, mais en corrigeant ainsi TA syntaxe :

    b = a.createtextfile(Environ("USERPROFILE") & "\temp\Autorun.inf", True)

  13. #13
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 108
    Points : 16 640
    Points
    16 640
    Par défaut
    Le fait que c'est resolut pour toi est l'essentiel.
    Ton post N°6
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            b = a.createtextfile("Environ("USERPROFILE")\Autorun.inf", True)
    Ce que je te proposai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    b = a.createtextfile( Environ("USERPROFILE") & "\Temp\Autorun.inf", True)
    mais je pense que la solution de ucfoutu (salut), est la plus sûr.

  14. #14
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut Delbeke
    .../...
    Mais pour ce cas, existe t-il toujours un dossier "Temp" a la suite de Environ("USERPROFILE") ?
    Oui, quitte à rester vide en cas de redirection mais du fait de ce dernier cas (redirection du temp) il est préférable d'utiliser cette variable (TEMP ou TMP)
    du coup j'aurais plutôt utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    b = a.createtextfile( Environ("TEMP") & "\Autorun.inf", True)

  15. #15
    Membre régulier Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Points : 122
    Points
    122
    Par défaut
    Enfait il y a juste un petit problème ....
    ProgElecT a ce que je veux .. car
    Les autres proposition m'emmène à C:\Documents and Settings\Imparator\Local Settings\Temp (je panse que vous avez confondu le dossier Temp de l'utilisateur et le dossier Temp qui se trouve directement sous le dossier de l'utilisateur : C:\Documents and Settings\Imparator\
    .... )

    Je panse que vous pourriez aussi avoir le dossier de l'utilisateur comme ceci : C:\Documents and Settings\Imparator\ (vue qu'on peut obtenir C:\Documents and Settings\Imparator\Local Settings\Temp\
    Ou trompe-je..?

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

Discussions similaires

  1. Dossier d'enregistrement par défaut
    Par tintinux dans le forum Sql Developer
    Réponses: 3
    Dernier message: 06/11/2012, 12h29
  2. [AC-2007] Empêcher insert de nouvel enregistrement par défaut.
    Par Jhofman dans le forum IHM
    Réponses: 3
    Dernier message: 20/04/2012, 15h31
  3. Réponses: 1
    Dernier message: 13/11/2010, 18h30
  4. Format d'enregistrement par défaut
    Par bbo1991 dans le forum Jasper
    Réponses: 3
    Dernier message: 13/08/2009, 14h32
  5. Réponses: 3
    Dernier message: 13/06/2006, 09h20

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