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 :

Identification chaine de chiffres


Sujet :

VB 6 et antérieur

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Identification chaine de chiffres
    Bonsoir,
    Je suis débutant en VB6 et après avoir lu la FAQ je ne trouve pas de réponse à mon problème.
    j'ai une textbox contenant des données diverses, exemple:
    "cdsljldjqhskdhsqjgdjqsgdjhgfsqhgdfqshqsf62726Y9802UYGHKJDSHKJDSGJ72368T32GYISKJH093UFODJSHKF0ZE9U3YHFUID803RFHDJKHFBKDJhgKJFHDGKJFDJKSH3987R4963YA9YUHEKGF79Z439764376Y"

    Je souhaite créer un string qui serait identifirai une suite de 9 nombres au moins

    Je souhaiterai aussi créer un évènement avec ce string.

    exemple: if stringchainedechiffreestegala9 is detected then


    Je vous remercie de vos réponses.

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    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 077
    Points : 17 175
    Points
    17 175
    Par défaut
    Salut
    Quelque chose 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
    Private Sub Command1_Click()
    Dim StrMot As String
    Dim T As Long
    Dim MinChiFre As Integer
     
    MinChiFre = 9
    StrMot = "cdsljldjqhskdhsqjgdjqsgdjhgfsqhgdfqshqsf62726Y9802UYGHKJDSHKJDSGJ72368T32GYISKJH093UFODJSHKF0ZE9U3YHFUID803RFHDJKHFBKDJhgKJFHDGKJFDJKSH3987R4963YA9YUHEKGF79Z439764376Y"
    For T = 1 To Len(StrMot) - MinChiFre
        If IsNumeric(Mid$(StrMot, T, MinChiFre)) Then
            MsgBox Mid$(StrMot, T, MinChiFre) & vbNewLine _
            & "Position : " & T & " à " & ((T + MinChiFre) - 1)
            Exit For
        End If
    Next T
    End Sub
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut re
    Merci de votre réponse!
    J'ai testé et en effet cela marche
    Mais comment le lier à un évènement?
    Je voudrais que lorsque le programme détecte une série de 9 chiffres il active certaines fonctions.

    Votre bout de code renvoie en msgbox la série et sa position mais comment l'associer à un évènement?

    exemple: if stringchainedechiffreestegala9 is detected then...

    Je pense qu'ici le mieux serait When stringchainedechiffreestegala9 = true then...


    Je vous remercie de votre réponse et de votre patience

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,
    Citation Envoyé par Secinformatique Voir le message
    exemple: if stringchainedechiffreestegala9 is detected then...

    Je pense qu'ici le mieux serait When stringchainedechiffreestegala9 = true then...
    Votre demande est un peu flou

    Mais une fonction peut vous retourner la présence ou non de la suite de chiffre (réalisé à partir du code fourni par ProgElecT)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Function ChiffresPresent(MinChiFre As Integer, StrMot As String) As Boolean
    Dim T As Long
     
    ChiffresPresent = False
    For T = 1 To Len(StrMot) - MinChiFre
        If IsNumeric(Mid$(StrMot, T, MinChiFre)) Then
            ChiffresPresent = True
            Exit For
        End If
    Next T
    End Function
    Appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Command1_Click()
    If ChiffresPresent(9, "cdsljldjqhskdhsqjgdjqsgdjhgfsqhgdfqshqsf62726Y9802UYGHKJDSHKJDSGJ72368T32GYISKJH093UFODJSHKF0ZE9U3YHFUID803RFHDJKHFBKDJhgKJFHDGKJFDJKSH3987R4963YA9YUHEKGF79Z439764376Y") Then
        MsgBox ("Contient au moins une chaine de 9 chiffres ou plus")
    ' executer les fonctions
    End If
    End Sub
    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    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 077
    Points : 17 175
    Points
    17 175
    Par défaut
    Salut
    Citation Envoyé par rv26t
    Votre demande est un peu flou
    Salut rv26t

    C'est pourquoi je rajoute ce bout de code, sur un Form 1 Timer, 1 CommandButton et un TextBox.
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    Option Explicit
    Dim StrMot As String
    Dim MinChiFre As Integer
     
    Private Sub Form_Load()
    Me.Height = 1815: Me.Width = 4320
    Command1.Move 120, 120, 1575, 255: Command1.Caption = "Go"
    Text1.Move 120, 480, 3795, 555: Text1.Text = ""
     
    StrMot = "cdsljldjqhskdhsqjgdjqsgdjhgfsqhgdfqshqsf62726Y9802UYGHKJDSHKJDSGJ72368T32GYISKJH093UFODJSHKF0ZE9U3YHFUID803RFHDJKHFBKDJhgKJFHDGKJFDJKSH3987R4963YA9YUHEKGF79Z439764376Y"
    Timer1.Enabled = False
    Timer1.Interval = 1000 ' 1 Sc
    MinChiFre = 9
    End Sub
     
     
    '*********************** fonction d'analyse si numerique (True/false) *********************************************
    Private Function stringchainedechiffreestegala9(StrSounmis As String) As Boolean
    Dim T As Long
    Dim Correction As String
    For T = 1 To (Len(StrSounmis) - MinChiFre) + 1
        If IsNumeric(Mid$(StrSounmis, T, MinChiFre)) Then
            Correction = Mid$(StrSounmis, T, MinChiFre)
            Correction = Replace(Correction, " ", "")
            If Len(Correction) = Len(Mid$(StrSounmis, T, MinChiFre)) Then
                'MsgBox Mid$(StrSounmis, T, MinChiFre) & vbNewLine _
                '& "Position : " & T & " à " & ((T + MinChiFre) - 1)
                stringchainedechiffreestegala9 = True
                Exit For
            End If
        End If
    Next T
    End Function
    '******************************************************************************************************************
     
     
     
    '------------------ Evenement sur detection d'une entrée utilisateur -----------
    Private Sub Text1_Change()
    If Len(Text1.Text) >= MinChiFre Then
        If stringchainedechiffreestegala9(Text1.Text) Then
            MsgBox "condition " & MinChiFre & " chiffre atteinte", vbInformation, ""
        End If
    End If
    End Sub
    '-------------------------------------------------------------------------------
    '------------------ Evenement sur detection periodique -------------------------
    Private Sub Command1_Click()
    Timer1.Enabled = Not Timer1.Enabled
    If Timer1.Enabled = False Then
        Command1.Caption = "Go"
        Else
        Command1.Caption = "Arreter"
    End If
    End Sub
    Private Sub Timer1_Timer()
    If stringchainedechiffreestegala9(StrMot) Then
        Timer1.Enabled = False ' mes fin à la detection
        MsgBox "condition " & MinChiFre & " chiffre atteinte", vbInformation, ""
    End If
    End Sub
    '-------------------------------------------------------------------------------
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    C'est pourquoi je rajoute ce bout de code, ...
    Salut ProgElecT
    Avec ce complément, Secinformatique va pouvoir faire tout ce qu'il souhaite.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Points : 3
    Points
    3
    Par défaut re
    Citation Envoyé par rv26t Voir le message
    Salut ProgElecT
    Avec ce complément, Secinformatique va pouvoir faire tout ce qu'il souhaite.
    En effet! C'est tout à fait ce qu'il me fallait. Désolé d'avoir été un peu flou.

    C'est très complet et exactement comme il me fallait. Je vous ai tous mis des +1.
    (je vous remercie d'avoir commenté le code, c'est très clair!)

    Résolu

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

Discussions similaires

  1. conversion chaine en chiffre
    Par kOrt3x dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 27/04/2010, 20h39
  2. [MySQL] recherche dans un chaine de chiffres ?
    Par gastoncs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/01/2010, 08h17
  3. Convertir une chaine en chiffre
    Par bullrot dans le forum C++Builder
    Réponses: 5
    Dernier message: 10/01/2008, 16h12
  4. Convertir des chaines de caratères en chiffres
    Par Mr Hyde dans le forum Général Python
    Réponses: 1
    Dernier message: 06/09/2005, 15h18
  5. Réponses: 22
    Dernier message: 24/08/2005, 18h27

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