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 :

[VB 6.0]Travailler sur un String (découpage)


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 13
    Par défaut [VB 6.0]Travailler sur un String (découpage)
    Coucou :-)

    En gros j'ai une variable en string qui contient une, deux ou trois lettres ainsi qu'un, deux ou trois chiffres. Se sont des identificateurs de bornes de cablages.

    Je voudrais découper cette variable string en deux partie : d'un coté les lettres, et d'un autre les chiffres. Afin de stocker la premiere partie dans une nouvelle varibable en string, et l'autre dans un nouvelle variable en integer.

    ex : JB12 => JB 12
    J1 => J 1
    JCC999 => JCC 999
    ...

    Je connais la fonction split, mais celle-ci requiert un délimiteur, hors ici il n'y en a pas.

    Si quelqu'un pourrait me lancer sur une piste sa serait sympa :p

    Si vous avez besoin que je rexplique plus clairement, ou un supplément d'information, je reste dans le coin lol ^^


    Enjoy.

    t'DJinn.

  2. #2
    Membre émérite
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Par défaut
    Tu peux utiliser une fonction du genre :

    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
    Public Sub main()
       Dim Lettres As String
       Dim Nombre As Long
     
       SeparerChiffresEtLettres "JBx98", Lettres, Nombre
     
       MsgBox Lettres & " - " & Nombre
    End Sub
     
    Public Function SeparerChiffresEtLettres(Expression As String, ByRef Lettres As String, ByRef Nombre As Long) As Boolean
        Dim Index As Long
     
        For Index = Len(Expression) To 1 Step -1
            If IsNumeric(Right(Expression, Len(Expression) - Index + 1)) Then
                Nombre = CLng(Right(Expression, Len(Expression) - Index + 1))
            Else
                Lettres = Left(Expression, Index)
                Exit For
            End If
        Next
    End Function
    Il faut aussi tester que la partie Lettres ne renvoie que des lettres afin de rejeter les Expression du genre J4B99.

  3. #3
    Membre confirmé Avatar de Ania
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Par défaut
    Juste comme ca un p'tit conseil a developper

    peut etre peut faire un test sur chaque lettre en utilisant la fonction mid

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for i=0 to Length(MonCode)
        if IsNumeric(Mid(MonCode, i ,1) = True then
            PartiLettre = Left(MonCode, i)
            PartiChiffre = right(MonCode, i)
        end if
    next i
    ca reste a tester bonne continuation

  4. #4
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 13
    Par défaut
    Merci, sa marche

    Cependant, une petite contraite vient s'ajouter a cela, c'est que le chiffres, peuvent etre avant les lettres et inversement.
    format => LLLCCC (au maximum) ou CCCLLL.
    En gros cela dépend de l'humeur de l'utilisateur :s

    En revanche en aucun cas les chiffres sont mélangés au lettres, comme le souligne CatBull.

    Pourrais tu me modifier la fonction CatBull pour prendre en compte cela ?
    Et je te remercie car tu m'as bien dépatouillé =)

  5. #5
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Ah....
    A toi de travailler un peu (vraiment un tout petit peu...)

    Voyons : si ta chaine commence par un chiffre :
    le premier caractère est un numérique, non ?
    Si ta chaîne commence par une lettre , le 1er caractère n'est pas numérique..
    Le reste est extrêmement facile à mettre en oeuvre :

    Regarde Left dans l'aide en ligne (pour extraire et examiner ce 1er caractère et décider, selon sa nature, d'appliquer un code ou son inverse)

  6. #6
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 13
    Par défaut
    Okey tu as raison, je me suis laissé feignantisé :p

    Pb résolu donc avec brio, merci aux forumeurs & a l'équie dev.com.

    Cordialement, t'Djinn.

  7. #7
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    C'est gentil d'avoir ajouté a mano le mot Resolu à ton titre, mais il y a un bouton prévu à cet effet juste en bas de ton dernier message. J'ai cliqué dessus pour toi. Mais penses-y la prochaine fois...

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

Discussions similaires

  1. Travail sur des Strings
    Par Pingvince dans le forum Général Python
    Réponses: 16
    Dernier message: 25/12/2007, 04h22
  2. Réponses: 5
    Dernier message: 15/11/2007, 14h44
  3. Travailler sur positions d'une string
    Par luckan dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/06/2007, 14h15
  4. [VB]Travailler sur un string
    Par Little-Freud dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 21/05/2006, 16h05
  5. [débutant]travailler sur contenu string
    Par Serge76 dans le forum SL & STL
    Réponses: 13
    Dernier message: 06/11/2004, 16h43

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