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

WinDev Discussion :

Incrémenter les lettres de l'alphabet [WD14]


Sujet :

WinDev

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Février 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée équ.

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Finance

    Informations forums :
    Inscription : Février 2012
    Messages : 77
    Points : 77
    Points
    77
    Par défaut Incrémenter les lettres de l'alphabet
    Bonjour à tous , j'aimerais incrémenter les lettres de l'alphabet mais avec mon code pas de suite.
    A la 27 ieme opération c'est-à-dire après Z , je n'ai pas le résultat que je recherche.
    J'aimerais avoir cette suite A,B,....Z,AA,AB...,BA,BB, ....

    Mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    j est un caractère="A"
    j=Caract(Asc(j)+1)
    Merci

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Tu dois le gérer toi même...
    si tu as 2 caractères, tu fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure incremente(unelettre) 
    u est une chaine = unelettre
     
    si u="Z" alors
     u = "A" 
     d = "A"
     j = d+u
    sinon 
     j = Caract(Asc(j)+1)
    fin
    Tu emballes ça dans une boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    t=j
    pour i = 1 _a_ taille(j)
     j += incremente(t[[i]])
    fin
    Ce code ne fonctione pas en l'état, mais c'est une base : tu dois gérer les retenues...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonjour,

    A la volée et sachant que Asc("A") = 65, je proposerais :

    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
     
    Début, Résultat sont des chaînes
    I, J, , NombreDeCharVoulu sont des entiers
     
    Début = "" //pas nécessaire, mais par sécurité
    Résultat = "" //pas nécessaire
    RangDuCaractère = 1
     
    //Saisir le nombre de caractères voulus, càd la longueur finale de la chaîne
     
    TANTQUE RangDuChar <= NombreDeCharVoulu
       Pour I = 1 A 26
          Pour J = 1 A 26
             Résultat = Début + Caract(64 + J)
          FIN
          Début = Début + Caract(64 + I)
       FIN
       RangDuChar ++
    FIN
    Code non testé.

    Bon travail

    Hemgé

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Points : 30
    Points
    30
    Par défaut
    J'avais codé ça un jour ...

    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
    PROCEDURE gpIncrementerLettre(sTexte est une chaîne)
     
    nTaille est un entier = Taille(sTexte)
    i est un entier = nTaille
    nbDeA est un entier = 0
     
    POUR i = nTaille A 1 PAS -1
    	SI sTexte[[i]] = "Z" ALORS
    		sTexte[[i]] = "A"	
    		nbDeA++
    	SINON
    		sTexte[[i]] = Caract(Asc(sTexte[[i]]) + 1)
    		SORTIR
    	FIN
    FIN
     
    SI nbDeA = nTaille ALORS sTexte = sTexte + "A"
     
    RENVOYER sTexte

    Exemple :
    gpIncrementerLettre("AZA") // AZB
    gpIncrementerLettre("ABZ") // ACA
    gpIncrementerLettre("AZZ") // BAA
    gpIncrementerLettre("ZZZ") // AAAA

  5. #5
    Membre régulier
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Février 2012
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée équ.

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Finance

    Informations forums :
    Inscription : Février 2012
    Messages : 77
    Points : 77
    Points
    77
    Par défaut
    C'est superbe !!!!
    Merci à tous.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 10
    Points
    10
    Par défaut Petit amelioration après des annés :)
    Citation Envoyé par newkiss Voir le message
    J'avais codé ça un jour ...

    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
    PROCEDURE gpIncrementerLettre(sTexte est une chaîne,nbreIncrementation est entier=1)
     
    pour j=1 a nbreIncrementation 
    nTaille est un entier = Taille(sTexte)
    i est un entier = nTaille
    nbDeA est un entier = 0
     
    POUR i = nTaille A 1 PAS -1
    	SI sTexte[[i]] = "Z" ALORS
    		sTexte[[i]] = "A"	
    		nbDeA++
    	SINON
    		sTexte[[i]] = Caract(Asc(sTexte[[i]]) + 1)
    		SORTIR
    	FIN
    FIN
     
    SI nbDeA = nTaille ALORS sTexte = sTexte + "A"
    FIN
    RENVOYER sTexte

    Exemple :
    gpIncrementerLettre("AZA",2) // AZC
    gpIncrementerLettre("ABZ",3) // ACC
    gpIncrementerLettre("AZZ",2) // BAB
    gpIncrementerLettre("ZZZ",4) // AAAD

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 02/09/2010, 11h22
  2. Décaler les lettres d'un mot dans l'alphabet
    Par realtux dans le forum Langage
    Réponses: 9
    Dernier message: 16/04/2009, 00h29
  3. [SQL] SCRIPT pour avoir une navigation avec les lettres de l'alphabet
    Par gantec dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 20/09/2007, 08h45
  4. Réponses: 6
    Dernier message: 12/12/2006, 11h27
  5. Réponses: 4
    Dernier message: 15/09/2005, 13h48

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