IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

4D Discussion :

Conversion caractères en majuscule


Sujet :

4D

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Conversion caractères en majuscule
    Bonjour à tous,

    Je souhaite convertir des caractères tels que &é"'(-è_çà en maj ce qui donnerait 1234567890 .

    Mais je ne vois pas quelle est la façon de faire.

    Je débute avec 4D et je n'arrive pas à savoir s'il y a une méthode pour cette conversion.

    Merci d'avance

  2. #2
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 222
    Points : 401
    Points
    401

  3. #3
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 63
    Points : 62
    Points
    62
    Par défaut
    Créer une méthode oùtu utiliserais "Remplacer caractères" ou "remplacer chaine"

    Par contre tu seras obligé de lancer 10 fois ta méthode en passant le caractère à remplacer et le caractère de remplacement ainsi que la chaine source

  4. #4
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Le maj j'ai essayé et ce n'est pas possible.

    Le problème de ces méthodes c'est que j'ai les chiffres à changer mais ce n'est pas toujours la même combinaison qui devra être traitée.

    Par exemple :

    Une fois 0003703419
    Une autre fois 0003707808
    etc

  5. #5
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 222
    Points : 401
    Points
    401
    Par défaut
    ah vi, Majusc retourne la majuscule correspondante au code caractère et non en fonction de la touche

    edit : tu mets un "au cas ou" dans ta boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    au cas ou
    :($var=&)
    //code de remplacement
    :($var)
    //etc etc

  6. #6
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Ce qui doit donner ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Au cas ou 
    	: ($var=&)	
    		$var:=1
    	: ($var)
    		$var:=2	
    	: ($var=")" `Un pb se pose ici avec le rajout systématique du " après la parenthèse
    		$var:=3
    	: ($var=')
    		$var:=4
    	: ($var=()
    		$var:=5
    	: ($var=-)
    		$var:=6
    	: ($var)
    		$var:=7
    	: ($var=_)
    		$var:=8
    	: ($var)
    		$var:=9
    	: ($var)
    		$var:=0
    Fin de cas
    Après si cette partie est correcte j'ai le problème avec le 3 vu que en minuscule ça donne ".

    Autre question : on m'a dit que le code qui rentrait correspondait à la variable $1 et celle qui sortait $0. Est-ce correcte ?

  7. #7
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 222
    Points : 401
    Points
    401
    Par défaut
    ouaip c'est à peut près ca

    je voyais plus un truc dans se genre mais c'est pareil ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    $a:=Demander("ici") ``enfin ca c'est à enlever ^^ vu que $a c'est la variable que tu récupère :p
    C_TEXTE ($fin)
    Boucle ($i;1;Longueur($a))
    $c:=Sous chaine($a;$i;1)
    Au cas ou 
    : ($c="&")
    $fin:=$fin+"1"
     
    : ($c="é")
    $fin:=$fin+"2"
     
    : ($c="\"")
    $fin:=$fin+"3"
    Fin de cas 
    Fin de boucle 
    ALERTE($a+"\n"+$fin)
    sinon pour faire afficher un caractére spéciale c'est \ et pour faire apparaitre un \ c'est donc \\

    pour les $1 et $0

    $0 est effectivement la variable sortie de la méthode.
    pour l'entrée c'est $1 pour le 1er argument $2 pour le second $3 pour le 3eme etc ..

  8. #8
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    J'ai retravaillé un peu dessus et je vous mets la réponse qui marche telle quelle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    C_TEXTE($0)
    C_TEXTE($1)
    C_TEXTE($tTemp)
     
    $0:=""
     
    Si ((Code de caractere(Sous chaine($1;1;1))>=48)*&*(Code de caractere(Sous chaine($1;1;1))<=57))**`si numerique
     
    	$0:=$1
     
    Sinon 
     
    	Boucle ($i;1;Longueur($1))
     
    		$tTemp:=Sous chaine($1;$i;1)
     
    		Au cas ou 
     
    			: ($tTemp="à")
     
    				$0:=$0+"0"
     
    			: ($tTemp="&")
     
    				$0:=$0+"1"
     
    			: ($tTemp=Caractere(142))**`Accent aigu minuscule
     
    				$0:=$0+"2"
     
    			: ($tTemp=Caractere(131))**`Accent aigu majuscule
     
    				$0:=$0+"2"
     
    			: ($tTemp=Caractere(Guillemets ))
     
    				$0:=$0+"3"
     
    			: ($tTemp=Caractere(Apostrophe ))
     
    				$0:=$0+"4"
     
    			: ($tTemp=Caractere(40))**`Parenthese ouverte
     
    				$0:=$0+"5"
     
    			: ($tTemp="-")
     
    				$0:=$0+"6"
     
    			: ($tTemp=Caractere(143))**`Accent grave minuscule
     
    				$0:=$0+"7"
     
    			: ($tTemp=Caractere(233))**`Accent grave majuscule
     
    				$0:=$0+"7"
     
    			: ($tTemp="_")
     
    				$0:=$0+"8"
     
    			: ($tTemp="ç")
     
    				$0:=$0+"9"
     
    		Fin de cas 
     
    	Fin de boucle 
     
    Fin de si
    J'ai travaillé avec du code ASCII pour certains caractères, aux vues des problèmes que cela m'a posé.

    SUJET RÉGLÉ

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/02/2007, 20h00
  2. conversion caractère spéciaux
    Par Henry9 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 25/07/2006, 01h41
  3. [Tableaux] Repérer les caractères en majuscule ?
    Par Xioos dans le forum Langage
    Réponses: 8
    Dernier message: 11/07/2006, 14h53
  4. Réponses: 6
    Dernier message: 14/06/2006, 15h27
  5. Conversion caractères accentué
    Par Goliath722 dans le forum C++
    Réponses: 1
    Dernier message: 28/12/2004, 00h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo