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
| FONCTION sIncrementeChaine(psChaine est une chaîne, psAlphabet est une chaîne = "ABCDEFGHIJKLMNOPQRSTUVWXYZ", pnStep = 1)
nChaineDansBase est un entier sans signe sur 8 octets = 0
nIndice est un entier
nPuissance est un entier = 0
nBase est un entier = Taille(psAlphabet)
sChaineResultat est une chaîne = ""
//Conversion de la chaine en entier
POUR nIndice = Taille(psChaine) A 1 PAS -1
nChaineDansBase += Position(psAlphabet,psChaine[[nIndice]]) * Puissance(nBase,nPuissance)
nPuissance++
FIN
//Ajout de l'incrément
nChaineDansBase += pnStep
//Conversion de l'entier dans la base
TANTQUE nChaineDansBase <> 0
//Recherche de la puissance max
nPuissance = 0
TANTQUE PartieEntière(nChaineDansBase/Puissance(nBase,nPuissance + 1)) <> 0
nPuissance++
FIN
sChaineResultat = sChaineResultat + psAlphabet[[PartieEntière(nChaineDansBase/Puissance(nBase,nPuissance))]]
//On retranche la partie convertie
nChaineDansBase = nChaineDansBase - (PartieEntière(nChaineDansBase/Puissance(nBase,nPuissance)) * Puissance(nBase,nPuissance))
FIN
RENVOYER sChaineResultat |