Page 1 sur 1

lettre par chiffre

Publié : dim. 21/oct./2007 14:24
par venom
bonjour,

voila je cherche le moyen de changer une lettre par un chiffre ex:
a = 1
b = 2
etc....
donc j'ai penser a me servie de

Code : Tout sélectionner

Asc(Texte$)
mais hélas sa ne prend que la 1ere lettre
voici un exemple

Code : Tout sélectionner

;
; MMMM          MMMM       MMMMMMMM         MMMMM  MMMMMMMM          .MMMMMMM         MMM    MMMMM   MMMMMMM                       
;MMMMMM        MMMMMM   MMMMMMMMMMMMMMM     MMMMMMMMMMMMMMMM       MMMMMMMMMMMMM     MMMMMMMMMMMMMMMMMMMMMMMMMM                     
;MMMMMMM      MMMMMM   MMMMMMMMMMMMMMMMM    MMMMMMMMMMMMMMMMM     MMMMMMMMMMMMMMM    MMMMMMMMMMMMMMMMMMMMMMMMMM                    
; MMMMMM     :MMMMMM  MMMMMMM    MMMMMMM    MMMMMMMMMM. MMMMM    MMMMMMMM  MMMMMMM   MMMMMMMMMMMMMMMMMMM MMMMMMM                    
;  MMMMMM    MMMMMM  MMMMMM     MMMMMMMM    MMMMMMMM    MMMMM   MMMMMM      MMMMMM   MMMMMMMM  MMMMMM     MMMMMM                    
;  MMMMMMM  MMMMMM  MMMMMM  MMMMMMMMMMMM    MMMMMMM     MMMMM   MMMMM        MMMMM   MMMMMMM   MMMMM      MMMMMM                    
;   MMMMMM MMMMMM   MMMMMMMMMMMMMMM  MMM    MMMMMM      MMMMM   MMMMM        MMMMM   MMMMMM    MMMMMM     MMMMMM                    
;    MMMMMMMMMMMM   MMMMMMMMMMM MM          MMMMMM      MMMMM   MMMMM        MMMMM   MMMMM     MMMMMM     MMMMMM                    
;     MMMMMMMMMM    MMMMMMM       MMM       MMMMM       MMMMM   MMMMMM      MMMMMM   MMMMM     MMMMMM     MMMMMM                    
;     MMMMMMMMM     .MMMMMMM  MMM;MMMMMM    MMMMM       MMMMM.  MMMMMMM:  MMMMMMM    MMMMM      MMMMM     MMMMMM                    
;      MMMMMMM       .MMMMMMMMMMMMMMMMMMM   MMMMM       MMMMM.   MMMMMMMMMMMMMMM     MMMMM      MMMMM     MMMMMM                    
;       MMMMM          MMMMMMMMMMMMMMMMM    MMMMM       MMMMM.     MMMMMMMMMMMM      MMMMM      MMMMM      MMMMM                    
;        MMM             .MMMMMMMMMMM       MMMMM       MMMMM        MMMMMMMM        MMMMM      MMMMM      MMMMM
;
;
;- Window Constants
Enumeration
  #String_2
EndEnumeration

;- Gadget Constants
Enumeration
  #Frame3D_0
  #String_0
  #String_1
  #Button_0
EndEnumeration

  If OpenWindow(#String_2, 0, 0, 210, 180, "test",  #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
    If CreateGadgetList(WindowID(#String_2))
      Frame3DGadget(#Frame3D_0, 10, 10, 190, 160, "")
      StringGadget(#String_0, 30, 45, 150, 20, Texte$)
      StringGadget(#String_1, 30, 135, 150, 20, "", #PB_String_ReadOnly)
      ButtonGadget(#Button_0, 55, 75, 100, 25, "Generer un code")

    EndIf
  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget 
      Select EventGadget()

       Case #Button_0
        Texte$ = GetGadgetText(#String_0)
        ValeurASCII = Asc(Texte$)
        SetGadgetText(#String_1, Str(ValeurASCII))
      
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
voila d'avance merci.



@++

Publié : dim. 21/oct./2007 14:35
par tmyke
Je ne suis pas sur d'avoir tout compris, mais en faisant cela

Code : Tout sélectionner

      Select EventGadget()

       Case #Button_0
        Texte$ = GetGadgetText(#String_0)

        Valeur$=""
        For i = 1 To Len(Texte$)
          Valeur$ = Valeur$ + Str(Asc(Mid(Texte$,i,1)))+" "
        Next
        
        ;ValeurASCII = Asc(Texte$)
        ;SetGadgetText(#String_1, Str(ValeurASCII))
        SetGadgetText(#String_1, Valeur$)
     
      EndSelect
est-ce que cela correspond à ce que tu cherches ? :?

Publié : dim. 21/oct./2007 14:41
par venom
merci c'est exactement c'est a cause de sa que je n'y arrivais pas :wink:

Code : Tout sélectionner

For i = 1 To Len(Texte$)
je ne savais pas qu'on pouvait metre des Len dans un for next :) .
grace a toi je me coucherai moin bete ce soir :wink: :lol: .
merci tmyke


@++

Publié : dim. 21/oct./2007 20:11
par Nombre
Donc en fait ,si on veut,on peut transformer un texte comme "je suis beau" par un "j3 su1s b3au" dans deux gadget text different ? cool !
mais pouriez vous me passer le code complet car je n'arrive pas a l'assembler (erreur de syntax avec Until)

Publié : dim. 21/oct./2007 20:14
par venom
oui pas de souci voici la mise a jours :wink: .

Code : Tout sélectionner

;
; MMMM          MMMM       MMMMMMMM         MMMMM  MMMMMMMM          .MMMMMMM         MMM    MMMMM   MMMMMMM                       
;MMMMMM        MMMMMM   MMMMMMMMMMMMMMM     MMMMMMMMMMMMMMMM       MMMMMMMMMMMMM     MMMMMMMMMMMMMMMMMMMMMMMMMM                     
;MMMMMMM      MMMMMM   MMMMMMMMMMMMMMMMM    MMMMMMMMMMMMMMMMM     MMMMMMMMMMMMMMM    MMMMMMMMMMMMMMMMMMMMMMMMMM                   
; MMMMMM     :MMMMMM  MMMMMMM    MMMMMMM    MMMMMMMMMM. MMMMM    MMMMMMMM  MMMMMMM   MMMMMMMMMMMMMMMMMMM MMMMMMM                   
;  MMMMMM    MMMMMM  MMMMMM     MMMMMMMM    MMMMMMMM    MMMMM   MMMMMM      MMMMMM   MMMMMMMM  MMMMMM     MMMMMM                   
;  MMMMMMM  MMMMMM  MMMMMM  MMMMMMMMMMMM    MMMMMMM     MMMMM   MMMMM        MMMMM   MMMMMMM   MMMMM      MMMMMM                   
;   MMMMMM MMMMMM   MMMMMMMMMMMMMMM  MMM    MMMMMM      MMMMM   MMMMM        MMMMM   MMMMMM    MMMMMM     MMMMMM                   
;    MMMMMMMMMMMM   MMMMMMMMMMM MM          MMMMMM      MMMMM   MMMMM        MMMMM   MMMMM     MMMMMM     MMMMMM                   
;     MMMMMMMMMM    MMMMMMM       MMM       MMMMM       MMMMM   MMMMMM      MMMMMM   MMMMM     MMMMMM     MMMMMM                   
;     MMMMMMMMM     .MMMMMMM  MMM;MMMMMM    MMMMM       MMMMM.  MMMMMMM:  MMMMMMM    MMMMM      MMMMM     MMMMMM                   
;      MMMMMMM       .MMMMMMMMMMMMMMMMMMM   MMMMM       MMMMM.   MMMMMMMMMMMMMMM     MMMMM      MMMMM     MMMMMM                   
;       MMMMM          MMMMMMMMMMMMMMMMM    MMMMM       MMMMM.     MMMMMMMMMMMM      MMMMM      MMMMM      MMMMM                   
;        MMM             .MMMMMMMMMMM       MMMMM       MMMMM        MMMMMMMM        MMMMM      MMMMM      MMMMM
;
;
;- Window Constants
Enumeration
  #String_2
EndEnumeration

;- Gadget Constants
Enumeration
  #Frame3D_0
  #String_0
  #String_1
  #Button_0
EndEnumeration

  If OpenWindow(#String_2, 0, 0, 210, 180, "test",  #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
    If CreateGadgetList(WindowID(#String_2))
      Frame3DGadget(#Frame3D_0, 10, 10, 190, 160, "")
      StringGadget(#String_0, 30, 45, 150, 20, Texte$)
      StringGadget(#String_1, 30, 135, 150, 20, "", #PB_String_ReadOnly)
      ButtonGadget(#Button_0, 55, 75, 100, 25, "Generer un code")

    EndIf
  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()

       Case #Button_0
        Texte$ = GetGadgetText(#String_0)

        Valeur$=""
        For i = 1 To Len(Texte$)
          Valeur$ = Valeur$ + Str(Asc(Mid(Texte$,i,1)))+" "
        Next
       
        ;ValeurASCII = Asc(Texte$)
        ;SetGadgetText(#String_1, Str(ValeurASCII))
        SetGadgetText(#String_1, Valeur$)
     
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
et la je travaille en mp avec tmyke pour faire l'effect inverse :wink:
je tien au courant.


@++

Publié : dim. 21/oct./2007 21:49
par Backup
voila l'effet inverse :D

Code : Tout sélectionner

;
; MMMM          MMMM       MMMMMMMM         MMMMM  MMMMMMMM          .MMMMMMM         MMM    MMMMM   MMMMMMM                       
;MMMMMM        MMMMMM   MMMMMMMMMMMMMMM     MMMMMMMMMMMMMMMM       MMMMMMMMMMMMM     MMMMMMMMMMMMMMMMMMMMMMMMMM                     
;MMMMMMM      MMMMMM   MMMMMMMMMMMMMMMMM    MMMMMMMMMMMMMMMMM     MMMMMMMMMMMMMMM    MMMMMMMMMMMMMMMMMMMMMMMMMM                   
; MMMMMM     :MMMMMM  MMMMMMM    MMMMMMM    MMMMMMMMMM. MMMMM    MMMMMMMM  MMMMMMM   MMMMMMMMMMMMMMMMMMM MMMMMMM                   
;  MMMMMM    MMMMMM  MMMMMM     MMMMMMMM    MMMMMMMM    MMMMM   MMMMMM      MMMMMM   MMMMMMMM  MMMMMM     MMMMMM                   
;  MMMMMMM  MMMMMM  MMMMMM  MMMMMMMMMMMM    MMMMMMM     MMMMM   MMMMM        MMMMM   MMMMMMM   MMMMM      MMMMMM                   
;   MMMMMM MMMMMM   MMMMMMMMMMMMMMM  MMM    MMMMMM      MMMMM   MMMMM        MMMMM   MMMMMM    MMMMMM     MMMMMM                   
;    MMMMMMMMMMMM   MMMMMMMMMMM MM          MMMMMM      MMMMM   MMMMM        MMMMM   MMMMM     MMMMMM     MMMMMM                   
;     MMMMMMMMMM    MMMMMMM       MMM       MMMMM       MMMMM   MMMMMM      MMMMMM   MMMMM     MMMMMM     MMMMMM                   
;     MMMMMMMMM     .MMMMMMM  MMM;MMMMMM    MMMMM       MMMMM.  MMMMMMM:  MMMMMMM    MMMMM      MMMMM     MMMMMM                   
;      MMMMMMM       .MMMMMMMMMMMMMMMMMMM   MMMMM       MMMMM.   MMMMMMMMMMMMMMM     MMMMM      MMMMM     MMMMMM                   
;       MMMMM          MMMMMMMMMMMMMMMMM    MMMMM       MMMMM.     MMMMMMMMMMMM      MMMMM      MMMMM      MMMMM                   
;        MMM             .MMMMMMMMMMM       MMMMM       MMMMM        MMMMMMMM        MMMMM      MMMMM      MMMMM
;
;
;- Window Constants
Enumeration
    #String_2
EndEnumeration

;- Gadget Constants
Enumeration
    #Frame3D_0
    #String_0
    #String_1
    #Button_0
    #String_3
EndEnumeration

If OpenWindow(#String_2, 0, 0, 210, 250, "test",  #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
    If CreateGadgetList(WindowID(#String_2))
        Frame3DGadget(#Frame3D_0, 10, 10, 190, 160, "")
        StringGadget(#String_0, 30, 45, 150, 20, Texte$)
        StringGadget(#String_1, 30, 135, 150, 20, "", #PB_String_ReadOnly)
        StringGadget(#String_3, 30, 185, 150, 20, "", #PB_String_ReadOnly)
        ButtonGadget(#Button_0, 55, 75, 100, 25, "Generer un code")
        
    EndIf
EndIf

Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
        Select EventGadget()
            
            Case #Button_0
                Texte$ = GetGadgetText(#String_0)
                
                Valeur$=""
                For i = 1 To Len(Texte$)
                    Valeur$ = Valeur$ + Str(Asc(Mid(Texte$,i,1)))+" "
                Next
                
                ;ValeurASCII = Asc(Texte$)
                ;SetGadgetText(#String_1, Str(ValeurASCII))
                SetGadgetText(#String_1, Valeur$)
                
                ;**** effet inverse **********
                Texte$ = GetGadgetText(#String_1)
                Valeur$=""
                for i=1 to len(texte$)
                    Resultat$ = StringField(texte$, i, " ")
                    Valeur$=Valeur$+chr(val(Resultat$))
                next i
                
                SetGadgetText(#String_3, Valeur$)
                
                
        EndSelect
    EndIf
Until EventID = #PB_Event_CloseWindow

Publié : dim. 21/oct./2007 21:56
par venom
Et bien merci a toi dobro :wink:

moi j'en etais plus a sa :

Code : Tout sélectionner

        texte$= GetGadgetText(#String_3)
         For t = 1 To Len(texte$)
          iter$=""
         Repeat
          v$ = Mid(texte$, t, 1)
         If( Asc(v$)=32 Or Asc(v$)=0 )
          Break
         EndIf
          iter$ = iter$ + v$
           t+1
         Until Asc(v$)=32 Or Asc(v$)=0
          ValeurASCII = Val(iter$)
         Debug Chr(ValeurASCII)
         Next
:D c'est pas la meme chose merci quand meme :wink:



@++

Publié : dim. 21/oct./2007 22:02
par Backup
venom a écrit :Et bien merci a toi dobro :wink:

moi j'en etais plus a sa :
:D c'est pas la meme chose merci quand meme :wink:



@++
oui tu as décortiqué :D

mais vois tu la fonction

Code : Tout sélectionner

 Resultat$ = StringField(texte$, i, " ")
est quand meme bien pratique !! :D

elle remplace a elle seule

Code : Tout sélectionner

         Repeat
          v$ = Mid(texte$, t, 1)
         If( Asc(v$)=32 Or Asc(v$)=0 )
          Break
         EndIf        
           t+1
         Until Asc(v$)=32 Or Asc(v$)=0       
:D

Publié : lun. 22/oct./2007 5:41
par venom
bonjour,

oui c'est sur que cette fonction rend le code moin compliquer merci du tuyau :wink: .



@++

Publié : lun. 22/oct./2007 17:45
par tmyke
Dobro a écrit : mais vois tu la fonction

Code : Tout sélectionner

 Resultat$ = StringField(texte$, i, " ")
est quand meme bien pratique !! :D
elle remplace a elle seule

Code : Tout sélectionner

         Repeat
          v$ = Mid(texte$, t, 1)
         If( Asc(v$)=32 Or Asc(v$)=0 )
          Break
         EndIf        
           t+1
         Until Asc(v$)=32 Or Asc(v$)=0       
:D
cette fonction est en effet bien plus pratique, mais le second code avait aussi
un petit coté pédagogique... ;)

Publié : mar. 23/oct./2007 11:59
par Backup
tmyke a écrit : cette fonction est en effet bien plus pratique, mais le second code avait aussi
un petit coté pédagogique... ;)
je n'en ai absolument pas douté ! :)

c'est surtout que votre code un peut plus compliqué peut servir a filtrer plusieurs type de donnée !! pas seulement l'espace :D


mais utiliser une fonction toute faite de Purebasic , pour éviter de se prendre la tete, est aussi Pédagogique non ? :)
ça force a lire la Doc et a connaître ce que Purebasic est capable de faire.. :D

Publié : mar. 23/oct./2007 17:45
par tmyke
Dobro a écrit :...
mais utiliser une fonction toute faite de Purebasic , pour éviter de se prendre la tete, est aussi Pédagogique non ? :)
ça force a lire la Doc et a connaître ce que Purebasic est capable de faire.. :D
la dessus tu as aussi parfaitement raison ...

Publié : mar. 23/oct./2007 17:59
par venom
et puis c'est bien sur ce forum les gens font toujours voir d'une façon differante pour arrivé au meme resultat :wink: .



@++