lettre par chiffre

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

lettre par chiffre

Message 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.



@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message 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 ? :?
Force et sagesse...
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message 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


@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Nombre
Messages : 24
Inscription : mar. 04/sept./2007 12:23

Message 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)
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message 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.


@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message 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:



@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

bonjour,

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



@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message 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... ;)
Force et sagesse...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message 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
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message 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 ...
Force et sagesse...
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message 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: .



@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Répondre