Convertir d'une chaîne de caractère

gon_ak -  
 gon_ak -
Bonjour a tous!

J'ai un petit soucis j'aimerais convertitir une chaine de caractère en nombre. J'ai effectuer un test mais celui-ci ne fonctionne pas!
Pouvez-vous me dire pour quelle raison SVP?
Merci d'avance!

Dim recet, newCarac1, newCarac2
For recet=0 to len("NewTitle") step 2
newCarac1=Mid(recet+1,1)
newCarac2=Mid(recet+2,1)
Affichage=(Asc(newCarac2*256))+(Asc(newCarac1))
next recet
Configuration: VBScript

5 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    http://www.lookuptables.com/

    ASCII 0 à 127
    ASCII étendue 128 à 255

    Asc(newCarac2*256) ?!
    0
  2. Lupin
     
    Bonjour,

    Sub TestChaine()
    
        Dim recet, Affichage, newCarac1, newCarac2 As Variant
        Dim Valeur As String
        
        Valeur = "NewTitle"
        For recet = 0 To (Len(Valeur) - 1) Step 2
            newCarac1 = Mid(Valeur, recet + 1, 1)
            newCarac2 = Mid(Valeur, recet + 2, 1)
            Affichage = Affichage + (Asc(newCarac2) + Asc(newCarac1))
        Next recet
    
        MsgBox Affichage
    
    End Sub
    


    Lupin
    0
    1. gon_ak
       
      Je te remercie infiniment pour ta réponse, je ne pensais pas qu'on allait me répondre.
      Encore Merci!!!!
      0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Lupin t'as donné le code.

    Pouvez-vous me dire pour quelle raison SVP?
    As-tu compris pour quoi? C'est ça que tu as demandé.

    La table ASCII contient les caractères codé de 0 à 127 et les caractères etendues de 128 à 255.

    Dans ton code tu cherches le code ASCII de quelque chose multiplié avec 256, donc tu depasse largement la plage 0..255

    Bonne continuation,

    lami20j
    0
  4. gon_ak
     
    Bonjour lami20,

    La raison pour laquelle je multiplie l'une de mes valeur par 256 c'est parce qu'en fait je récupère deux caractère à la fois mais par rapport à mon API la lecture se fait en l'envers.
    Exemple:
    YARN SPEC N°001
    Vois-tu je décompose cette chaîne de caractère par 2 car l'API est constitué de 8 mots (16caractères) pour écrire un titre
    YA
    RN
    S
    PE
    .....
    Et en fait dans l'automate les caractère doivent se lire à l'envers:
    AY
    NR
    .... c'est purquoi je multiplie par 256, bon jj'avoue il y avait une erreur de parenthèse mais mon code fonctionne à présent!
    A++
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. gon_ak
     
    Ah oui j'ai oublié ma table ASCII, je l'ai défini entre 32 et 179
    0