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

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

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

Message 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 
Dernière modification par beauregard le ven. 17/avr./2009 16:04, modifié 1 fois.
config de mon ordi: seven, directx11, Pentium(R) DualCore E5700, RadeonHD 4550 512MB, PureBasic 4.61 x86
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Re: des chiffres et des lettres...

Message 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 
config de mon ordi: seven, directx11, Pentium(R) DualCore E5700, RadeonHD 4550 512MB, PureBasic 4.61 x86
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message 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
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message 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
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Message 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 :)
config de mon ordi: seven, directx11, Pentium(R) DualCore E5700, RadeonHD 4550 512MB, PureBasic 4.61 x86
Répondre