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 :

Propriété sur un fichier


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Bz
    Bz est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 176
    Par défaut Propriété sur un fichier
    Bonjour,
    J'ai une base access pour laquelle je souhaiterai gérer un numéro de version du type "5.2". Auparavant en VB6, j'utilisais database.properties pour mettre à jour et lire ce numéro de version.
    Depuis que je suis passé en VB.net, je cherche en vain une solution.
    J'ai testé avec WMI de modifier la propriété version du fichier, mais elle est en lecture seule. Idem en utilisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileVersionInfo.GetVersionInfo(CheminCompletBdd).FileVersion="5.2"
    Une idée ?
    Le cas échéant, comme il s'agit d'une bdd, je pourrais créer une table avec un champ, meuh, bon, c'est pas très élégant et puis se serait cool d'avoir une solution qui marche sur tout type de fichier.
    Merci

  2. #2
    Bz
    Bz est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 176
    Par défaut
    J'ai finalement trouvé une solution en passant par les objets DSOFile. Ci dessous le code qui va bien pour lire/ecrire un numéro de version sur ma bdd.
    Merci à moi

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
      Private Function GetVersion() As String
            Dim strVersion As String = ""
            Dim oCustProp As DSOFile.CustomProperty
            Dim m_oDocument As DSOFile.OleDocumentPropertiesClass = New DSOFile.OleDocumentPropertiesClass
            Try
                m_oDocument.Open(CheminCompletBdd, True, DSOFile.dsoFileOpenOptions.dsoOptionOpenReadOnlyIfNoWriteAccess)
                For Each oCustProp In m_oDocument.CustomProperties
                    If oCustProp.Type <> DSOFile.dsoFilePropertyType.dsoPropertyTypeUnknown Then
                        If Not oCustProp.Name Is Nothing Then
                            If oCustProp.Name.ToUpper = PROPRIETE_DSO_VERSION Then
                                strVersion = oCustProp.Value
                            End If
                        End If
                    End If
                Next oCustProp
                m_oDocument.Close(False)
            Catch ex As Exception
                My.Application.Log.WriteEntry(Now & "-" & ex.Message & vbCrLf & ex.StackTrace)
            End Try
            Return strVersion
        End Function
     
        Private Sub SetVersion(pStrVersion As String)
            Dim m_oDocument As DSOFile.OleDocumentPropertiesClass = New DSOFile.OleDocumentPropertiesClass
            m_oDocument.Open(CheminCompletBdd, False, DSOFile.dsoFileOpenOptions.dsoOptionDefault)
            Try
                m_oDocument.CustomProperties(PROPRIETE_DSO_VERSION).Value = pStrVersion
            Catch e As Exception
                m_oDocument.CustomProperties.Add(PROPRIETE_DSO_VERSION, pStrVersion)
            End Try
            m_oDocument.Save()
            m_oDocument.Close(False)
        End Sub

  3. #3
    Bz
    Bz est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 176
    Par défaut
    Bah finalement apres tests sur une autre machine ca ne marche pas.
    J'ai créé un exe avec seuelement 2 boutons qui font GetVersion et SetVersion. Ca marche nickel sur mon poste, mais je vous propose le scenario qui ne marche pas:
    - Sur mon poste, SetVersion du fichier XXX avec version Z
    - Sur mon poste, GetVersion du fichier XXX, renvoit Z
    Si copie du fichier sur un autre poste, GetVersion du fichier XXX renvoit ""
    Je suis obligé de refaire un SetVersion, et ensuite ca marche tout le temps

    Curieux comportement :/
    Une idée ?

  4. #4
    Bz
    Bz est déconnecté
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 176
    Par défaut
    Suite et fin......
    Le drag and drop de fichier entre mon PC et la machine virtuelle de test fait sauter cette propriété, je ne comprends toujours pas pourquoi, mais si je passe par un lecteur reseau ou je copie le fichier puis que je le recupere sur la VM, pas de problème. Pas de problème non plus avec des copies entre des machines physiques

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

Discussions similaires

  1. Propriété d"un fichier sur le reseau domestique
    Par Roswellbob dans le forum Windows 7
    Réponses: 6
    Dernier message: 20/05/2015, 15h07
  2. Gérer un fichier de propriétés sur le serveur
    Par nezdeboeuf62 dans le forum GWT et Vaadin
    Réponses: 2
    Dernier message: 27/08/2007, 11h02
  3. Pointer sur un fichier FILE *
    Par Biou Pink Powa dans le forum C
    Réponses: 3
    Dernier message: 29/01/2004, 14h45
  4. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53
  5. reHELP sur un fichier SQL
    Par asken dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/06/2003, 23h35

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