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 :

Récupérer derniere ligne d'une textbox multiligne


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Points : 5
    Points
    5
    Par défaut Récupérer derniere ligne d'une textbox multiligne
    Bonjour,
    Je programme actuellement sur l'automatisation d'un véhicule par récupération de trames GPS.
    J'ai créée une application VB6 qui récupère mes trames dans une textbox multiligne et j'ai besoin ensuite de décomposer ma trame en plusieurs morceau pour effectuer des calculs.
    Mon problème c'est que j'ai insérer une horloge qui me decompose ma trame tout les X temps mais je décompose toujours la première trame de ma textbox multiligne.
    J'aimerais savoir comment je peut aller chercher la dernière ligne de ma textbox multiligne afin de récupérer mes dernières données.
    Par avance merci

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 082
    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 082
    Points : 16 838
    Points
    16 838
    Par défaut
    Salut
    Sur un Form, un TextBox et ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form_Load()
    Dim DecoupeLigne() As String
    'rempli le textebox avec 4 lignes
    Text1.Text = "ligne 1" & vbCrLf _
                & "ligne 2" & vbCrLf _
                & "ligne 3" & vbCrLf _
                & "ligne 4"
    DecoupeLigne = Split(Text1.Text, vbNewLine, , vbTextCompare)
    MsgBox DecoupeLigne(UBound(DecoupeLigne)), vbInformation, "Dernière ligne"
    MsgBox DecoupeLigne(UBound(DecoupeLigne) - 1), vbInformation, "Avant dernière ligne"
    MsgBox DecoupeLigne(LBound(DecoupeLigne) + 1), vbInformation, "Deuxiéme ligne"
    End Sub
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Un autre maniere de faire (meme si le split marche tres bien) :
    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
     
    Option Explicit
     
    Private Sub Command1_Click()
    Dim ch As String
    Dim DataBySplit
    Dim i As Integer, j As Integer
    Dim DataByInstrRev As String
     
    ch = "blabla " & vbCrLf & "toto" & vbCrLf & "tit"
    DataBySplit = Split(ch, vbCrLf)
    'Recherche du dernier CrLf
    i = InStrRev(ch, vbCrLf)
    If i Then
      'Recherche du CrLf précédent (Si c'est un message GPS de type $GPGGA, on peut remplacer vbCrLf par $GPGGA)
      j = InStrRev(ch, vbCrLf, i)
      If j Then
        DataByInstrRev = Mid(ch, j + 2, i - j)
        'On peut couper ce qu'il y a avant si ca ne sert pas à un process ultérieur
        ch = Mid(ch, j + 2)
      End If
    End If
     
    MsgBox "Chaine par Split : " & DataBySplit(UBound(DataBySplit)) & vbCrLf & _
    "Chaine par InstrRev : " & DataByInstrRev
     
    End Sub
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Points : 5
    Points
    5
    Par défaut PB Resolu
    Merci beaucoup pour votre aide qui m'a été très precieuse

    (j'ai utilisé le premier code qui m'a paru plus simple d'utilisation)
    pb rencontré: les trames recue fesait un retour a la ligne automatique et je m'acharnait à vouloir récupérer la dernière ligne, il fallait récupérer l'avant dernière.

    Encore merci

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

Discussions similaires

  1. récupérer dernier champ d'une ligne dynamique
    Par dawaman dans le forum Excel
    Réponses: 2
    Dernier message: 23/09/2011, 06h59
  2. [AC-2003] récupérer les valeur d'une textbox ligne par ligne
    Par 0sef40 dans le forum VBA Access
    Réponses: 5
    Dernier message: 07/06/2011, 09h22
  3. Limiter taille d'une ligne dans un textbox multiligne
    Par luc2verga dans le forum Windows Forms
    Réponses: 4
    Dernier message: 20/11/2009, 07h00
  4. récupérer la derniere ligne d'une table?
    Par purplebamboo dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 09/04/2009, 16h41
  5. récupérer les dernieres lignes d'une table
    Par steave dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/04/2008, 12h26

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