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 :

Extration et Concaténation des chaines de caractères en vb [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 74
    Points : 64
    Points
    64
    Par défaut Extration et Concaténation des chaines de caractères en vb
    Bonjour
    J’ai un problème de débutant sur un formulaire, je ne sais pas si c’est la bonne méthode, mais c’est ce que j’essaie de faire.
    Au fait j’ai un formulaire dont les contrôles txtcodep, txtnomp et txtprenomp m’intéressent. Ce que je souhaite faire c’est que si je tape le nom et le prénom, à la sortie du contrôle txtprenomp , le programme me compose le codep en prenant les trois premières lettres du nom (txtnomp), qu’il concatène avec les trois premières lettres du prénom(txtprenomp), et avec la date du jour et le résultat de la concaténation est renvoyé dans le contrôle txtcodep.
    Je pense que j’ai été explicite. voici le code que j'ai pu écrire.
    Merci pour les éclairages
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub txtprenomp_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtprenomp.Validating
            Dim t, t1, t3 As String
            Dim t2 As Date
            t = Left(Me.txtnomp, 3)
            t1 = Left(Me.txtprenomp, 3)
            t2 = CType(Now, String)
            t3 = t + t1 + t2
            Me.txtcodep = t3
        End Sub

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 067
    Points : 17 152
    Points
    17 152
    Par défaut
    Salut

    Que t'affiche Me.txtcodep ?
    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
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Bonjour,

    Le code suivant (en VB.Net) devrait faire ce que tu demandes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub txtprenomp_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtprenomp.Validating
         Me.txtcodep.text = Me.txtnomp.text.substring(3) & Me.txtprenomp.text.substring(3) & Now.ToShortDateString
    End Sub
    Je ne sais pas s'il est bien de le placer sous l'événement Validating ..., faudrait en savoir plus sur ton dispositif d'encodage ...

    Attention, ton code mélange du VB6.0 et du VB.Net : c'est une source de problèmes.

    J'espère que ceci t'aidera ...

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 74
    Points : 64
    Points
    64
    Par défaut
    Bonjour
    Merci à Phil Rob pour l'avancé. Ce code marche mais extrait les champs à partir de le troisième lettre.
    Je voudrais extraire les trois premières lettres de chaque champ.
    merci pour l'assistance.

  5. #5
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Pardonne-moi cette erreur d'inattention !

    Voici le code corrigé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub txtprenomp_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtprenomp.Validating
         Me.txtcodep.text = Me.txtnomp.text.substring(0,3) & Me.txtprenomp.text.substring(0,3) & Now.ToShortDateString
    End Sub
    Le premier paramètre de SubString est l'indice de départ et le second est le nombre de caractères à considérer. Si ce dernier est absent, ce sont tous les caractères de la chaine qui sont retournés, à partir de celui désigné par le premier paramètre.


  6. #6
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 74
    Points : 64
    Points
    64
    Par défaut
    Bonjour
    ce code marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub txtprenomp_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtprenomp.Validating
          Me.txtcodep.Text = Me.txtnomp.Text.Substring(0, 4) & Me.txtprenomp.Text.Substring(0, 4) & Now.ToShortDateString 
        End Sub
    Cela permet d'extraire les quatre premières lettres de chaque champ.
    et j'ai tout en miniscule par .ToLower
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub txtprenomp_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtprenomp.Validating
          Me.txtcodep.Text = (Me.txtnomp.Text.Substring(0, 4) & Me.txtprenomp.Text.Substring(0, 4) & Now.ToShortDateString).ToLower
     
        End Sub
    et ça marche
    grand merci à phil rob

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 03/07/2017, 15h45
  2. Réponses: 1
    Dernier message: 30/01/2013, 21h15
  3. Réponses: 1
    Dernier message: 10/01/2008, 11h10
  4. [C++.net]Concatener des chaines de caractère
    Par Dlyan dans le forum MFC
    Réponses: 3
    Dernier message: 27/03/2006, 16h25
  5. Repérer des chaines de caractères formatée dans du texte
    Par jeremiegrenoble dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 01/02/2006, 14h06

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