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

Windows Forms Discussion :

[VB.NET 2.0] Comparaison de numéro de version


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 212
    Par défaut [VB.NET 2.0] Comparaison de numéro de version
    Bonsoir,

    Existe-t'il une fonction ou une méthode pour comparer deux numéros de version de la forme 1.0.0.0 ?

    Je vous demande ça car j'ai intégré une fonction de LiveUpdate à mon programme et je compare donc 2 numéros de version afin de savoir si une mise à jour est dispo ou pas mais je m'en sers également pour tester la présence de fichier sur mon disque et savoir si ceux-ci sont à jour ou pas.

    Merci pour vos réponses

    Ludo

  2. #2
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Salut .

    tu la classe Version qui te permet de faire ça sans pb.
    Elle redéfini les opérateurs < > et =

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 212
    Par défaut
    Je viens de développer cette fonction pour comparer les numéros de version. Vous en pensez quoi ?

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
        Private Function CompareVersion(ByVal strVerA As String, ByVal strVerB As String) As Integer
            'fonction qui compare deux numéros de version de type 1.0.0.0
            'retourne 1 si strVerA > strVerB, 2 si strVerA = strVerB et 3 si strVerA < strVerB
            Dim TabVerA() As String
            Dim TabVerB() As String
            Dim iResult As Integer = 0
     
            TabVerA = Split(strVerA, ".")
            TabVerB = Split(strVerB, ".")
     
     
            If CInt(TabVerA(0)) = CInt(TabVerB(0)) Then
                'le numero de Major Version est identique donc je compare le Minor Version
                If CInt(TabVerA(1)) = CInt(TabVerB(1)) Then
                    'les Minor Version sont identiques donc je compare les Build Version
                    If CInt(TabVerA(2)) = CInt(TabVerB(2)) Then
                        'les build Version sont identiques donc je compare les revision Version
                        If CInt(TabVerA(3)) = CInt(TabVerB(3)) Then
                            'les revision Version sont identiques
                            iResult = 2
                        Else
                            If CInt(TabVerA(3)) > CInt(TabVerB(3)) Then
                                iResult = 1
                            Else
                                iResult = 3
                            End If
                        End If
                    Else
                        If CInt(TabVerA(2)) > CInt(TabVerB(2)) Then
                            iResult = 1
                        Else
                            iResult = 3
                        End If
                    End If
                Else
                    If CInt(TabVerA(1)) > CInt(TabVerB(1)) Then
                        iResult = 1
                    Else
                        iResult = 3
                    End If
                End If
            Else
                If CInt(TabVerA(0)) > CInt(TabVerB(0)) Then
                    iResult = 1
                Else
                    iResult = 3
                End If
            End If
     
            Return iResult
     
        End Function
    Merci

    Ludo

  4. #4
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    J'en pense que tu t'es fait suer pour rien, comme dit précédement la Classe Version fait ça bien mieux ...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 212
    Par défaut
    Peut-être mais je n'ai pas trouvé quelle méthode me permettait de faire une comparaison.

  6. #6
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Citation Envoyé par exclusif
    Peut-être mais je n'ai pas trouvé quelle méthode me permettait de faire une comparaison.
    Comme je l'ai dit, la classe redéfini les opérateurs ...
    donc pour comparer tu utilises :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Version a = new Version("1.0.0.0");
    Version b = new Version("1.0.0.1");
     
    if (a < b )
      Console.WriteLine("A plus petit que b");
    else
    {
        if( a == b )
           Console.WriteLine("=");
       else
          Console.WriteLine(">");
    }
    ...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/08/2006, 23h57
  2. Réponses: 2
    Dernier message: 11/07/2005, 16h47
  3. Gestion de l'évolution de ma base par numéro de version
    Par jackfirst72 dans le forum Outils
    Réponses: 4
    Dernier message: 16/03/2005, 13h38
  4. Numéro de version renvoyé par Firebird 1.51
    Par jibe74 dans le forum Débuter
    Réponses: 2
    Dernier message: 14/12/2004, 15h23
  5. Gestion du numéro de version d'un projet
    Par Chris B dans le forum EDI
    Réponses: 5
    Dernier message: 22/11/2004, 15h08

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