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 :

Filtrage et manipulation de chaine


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    929
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 929
    Points : 312
    Points
    312
    Par défaut Filtrage et manipulation de chaine
    Bonjour à vous,


    J'ai un petit souci qui m'embête car cela ne doit pas être bien difficile, je continu à chercher rassurez-vous

    Je reçois une chaine string de la forme hexadécimal B085
    Dans cette chaine sur 16 bits donc, j'ai les 2 bits de poids fort qui m'indique si la chaine contiens:
    -00 = Des mesures
    -01 = Le jour (avec à la suite Jour(5bits) Mois(4bits) Année(5bits)) l'année démarrant à 2010, la valeur reçu incrémente 2010 (donc actuellement toujours 0)
    -10 = Heures minutes seconde (H =5Bits; Min =6bits; Seconde =3 bits) les secondes étant des multiples, on a pas besoin de précision.

    Voila donc mon souci c'est qu'il faut que je filtre la valeur reçu et je me trouve bien idiot car je n'y arrive pas pour le moment en VB6.

    Dans un 1er temps il faut que je filtre pour récupérer les 2 bites de poids fort avec 0xC000 pour ensuite filtrer pour récupérer les données.

    Donc je continu à chercher mais si vous avez des infos merci

  2. #2
    Membre éprouvé Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Points : 1 168
    Points
    1 168
    Par défaut
    Si c'est une chaine ("BO85" par exemple), c'est 4 octets !
    Que tu dois convertir en entier long
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    S$="BO85"
    Recu&=val("&H0" & S$ & "&")
    ensuite tu testes tes bits avec un masque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IF Recu& and &H0C000& =0 then ' C000=>11000000 00000000
    ' ...... gestion mesure reçu
    End If

  3. #3
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    929
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 929
    Points : 312
    Points
    312
    Par défaut
    je suis arrivé un peut au même résultat,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim Inter As Integer
    Dim Heure As Integer
    Dim Min As Integer
    Dim Sec As Integer
     
    'Temp(0) = B085
    Inter = val("&H" & temp(0)) And val("&HC000")
    If Inter = -32768 Then 'Heure Min Sec
            Heure = (val("&H" & temp(3)) And val("&H3E00")) / 2^9
            Min = (val("&H" & temp(0)) And val("&H01F8")) / 2^3
            Sec = val("&H" & temp(0)) And val("&H0007")
    End If

Discussions similaires

  1. Manipulation de chaines
    Par tchoukapi dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 04/09/2006, 18h41
  2. [D7] Manipulations de chaines
    Par jer64 dans le forum Delphi
    Réponses: 2
    Dernier message: 21/07/2006, 23h16
  3. [PLSQL] Manipulation des chaines.
    Par zero d dans le forum Oracle
    Réponses: 5
    Dernier message: 14/12/2005, 19h27
  4. Réponses: 4
    Dernier message: 20/08/2004, 11h59
  5. Fonctions de manipulation des chaines et des dates
    Par Fares BELHAOUAS dans le forum Débuter
    Réponses: 3
    Dernier message: 09/11/2002, 23h43

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