Page 1 sur 1

(résolu)des chiffres et des lettres...

Publié : jeu. 16/avr./2009 23:54
par beauregard
...et unet un aussi. je voudrai connaître la valeur de tout ce beau monde(chiffres + minuscules),
et voici le code de Dobro donné il y a peu pour les chiffres, donc une bonne base de départ:

Code : Tout sélectionner

; l'objectif du moment est de trouver la valeur de chaque chiffre et minuscule contenu dans la chaine suivante:
chaine$="0123456789abcdefghijklmnopqrstuvwxyz-!" ; on transforme en chaine
Debug "chiffres+minuscules:"+chaine$
For i=1 To Len(chaine$) ; pour toute la longueur de la chaine
    extrait$=Mid(chaine$,i,1); on recupere chaque caractere de  la chaine$ contenant notre chiffre
    Debug Val(extrait$) ; ici on a la valeur de chaque chiffre qui compose notre nombre :o)
    ; il suffit de faire correspondre chacun de ces chiffres en image (0 a 9)
Next i 
en vous remerciant :)




je touche peut être au but, je fatigue un peu là:

Code : Tout sélectionner

; l'objectif du moment est de trouver la valeur de chaque chiffre et minuscule contenu dans la chaine suivante:
chaine$="0123456789abcdefghijklmnopqrstuvwxyz-!" ; on transforme en chaine
Debug "chiffres+minuscules:"+chaine$
For i=1 To Len(chaine$) ; pour toute la longueur de la chaine
;    extrait$=Mid(chaine$,i,1); on recupere chaque caractere de  la chaine$ contenant notre chiffre
    extrait$ = Chr(Asc(Mid(Chaine$,i,1)))
    Debug Chr(Asc(Mid(Chaine$,i,1)))
    ;Debug Val(extrait$) ; ici on a la valeur de chaque chiffre qui compose notre nombre :o)
    ; il suffit de faire correspondre chacun de ces chiffres en image (0 a 9)
Next i 

Re: des chiffres et des lettres...

Publié : ven. 17/avr./2009 1:06
par beauregard
je pense que là, je le tiens !

Code : Tout sélectionner

; l'objectif du moment est de trouver la valeur de chaque chiffre et minuscule contenu dans la chaine suivante:
chaine$="0123456789abcdefghijklmnopqrstuvwxyz-!" ; on transforme en chaine
Debug "chiffres+minuscules:"+chaine$
For i=1 To Len(chaine$) ; pour toute la longueur de la chaine
;    extrait$=Mid(chaine$,i,1); on recupere chaque caractere de  la chaine$ contenant notre chiffre
    extrait$ = Chr(Asc(Mid(Chaine$,i,1)))
    ;Debug Chr(Asc(Mid(Chaine$,i,1)))
    Debug Asc(Mid(Chaine$,i,1))
    ;Debug Val(extrait$) ; ici on a la valeur de chaque chiffre qui compose notre nombre :o)
    ; il suffit de faire correspondre chacun de ces chiffres en image (0 a 9)
Next i 

Publié : ven. 17/avr./2009 1:11
par Ollivier
Salut Beauregard,

La fonction ASC(chaine) retourne un code entre 0 et 255 pour chaque caractère.

Le point d'exclamation = code 33
Le signe moins = code 45
Les chiffres de 0 à 9 = codes 48 à 57
Les lettres majuscule de A à Z = codes 65 à 90
Les lettres minuscule de a à z = codes 97 à 122

Code : Tout sélectionner

Enumeration
   #Zero
   #Caution
   #Minor
   #Chiffre
   #Lettre
EndEnumeration

   Global Type.I
   Global Valeur.I

Procedure LectureCaractere(Char.C)

   Select Char

      Case 33
      
         Type = #Caution
      
      Case 45
      
         Type = #Minor
      
      Case 48 To 57
      
         Type = #Chiffre
         Valeur = Char - 48
      
      Case 65 To 90
      
         Type = #Lettre
         Valeur = Char - 65
      
      Case 97 To 122

         Type = #Lettre
         Valeur = Char - 97

   EndSelect

EndProcedure

Publié : ven. 17/avr./2009 1:19
par Ollivier
En utilisant ce truc au-dessus, on a ce truc en dessous.

Code : Tout sélectionner

Enumeration
   #Zero
   #Caution
   #Minor
   #Chiffre
   #Lettre
EndEnumeration

   Global Type.I
   Global Valeur.I

Procedure LectureCaractere(Char.C)

   Select Char

      Case 33
      
         Type = #Caution
      
      Case 45
      
         Type = #Minor
      
      Case 48 To 57
      
         Type = #Chiffre
         Valeur = Char - 48
      
      Case 65 To 90
      
         Type = #Lettre
         Valeur = Char - 65
      
      Case 97 To 122

         Type = #Lettre
         Valeur = Char - 97

   EndSelect

EndProcedure

   Chaine$ = "0123456789abcdefghijklmnopqrstuvwxyz-!"

   For I = 1 To Len(Chaine$)

      LectureCaractere(Asc(Mid(Chaine$, I, 1) ) )
      Debug Str(I) + "= " + StringField("Point d'interrogation;Signe moins;Chiffre;Lettre", Type, ";") + " Index n°" + Str(Valeur)

   Next I

Publié : ven. 17/avr./2009 16:08
par beauregard
Ollivier a écrit :En utilisant ce truc
j'avais trouvais tout seul comme un grand comment fonctionne ce truc là dans le 2eme message. j'ai juste oublié de signaler résolu dans le message du post, mais merci quand même :)