Chercher Et Ou Phrase  
Dans:          


Pour les nouveau visiteurs

Entrez ici

Chercher le Forum



 

 Les Forums
  Programmation avancée
Repondre a ce sujet  

Sujet Générer des Matricules
Message envoyé le 15-06-2022 par kabamel (Guinea)  
Bonjour la communauté, Comme annoncé dans le titre
je veux générer des matricules de type alphanumérique
   a) Je génère un nombre aléatoire de 5 chiffre par la fonction GenereMotDePasse("1234567890", 5)
   b) Je génère ensuite 3 lettres aussi aléatoire par la même fonction GenereMotDePasse("ABCDEFGHIJKLMNOPQRSTUVWXYZ", 3)
   c) Je dois maintenant placé ces lettres une à une entre les nombres
Exemple : (pour 12A34B5C, ça donne Nombre : 12345 et Lettre : ABC)
Voici un début de code pour correction
Merci d'avance...

pgCombinaisonNombreEtLettre(nNombre est un entier, sLettre est une chaîne = "")

nTailleNombre est un entier = Taille(nNombre)
nTailleLettre est un entier = Taille(sLettre)


nSeparateur est un entier = PartieEntière(nTailleNombre/nTailleLettre)
sNbreDeChiffres est une chaîne = NumériqueVersChaîne(nNombre)

sResultat est une chaîne

nCompteur est un entier = 1
TANTQUE nCompteur < nTailleNombre
     sResultat += ["A"] + Milieu(sNbreDeChiffres, nCompteur, nSeparateur)
     nCompteur += nSeparateur
FIN

sResultat += sNbreDeChiffres[nCompteur À]

RENVOYER sResultat



Message envoyé le 16-06-2022 par kabamel (Guinea)  
Je me répond
J'ai trouvé une solution peu commode, je mets le code pour plus d'appréciation...
pgCombinaisonNombreEtLettre(LOCAL sNombre est une chaîne, LOCAL sLettre est une chaîne)

// Position de l'insertion
nPosInsertion     est un entier

// Nombre de décomposition
nSeparateur est un entier

// Déclaration d'une variable chaine
sChaineCombinee     est une chaîne

// Calcul la taille de chaque valeurs
nTailleNombre est un entier = Taille(sNombre)
nTailleLettre est un entier = Taille(sLettre)

// Chaine après insertion
sChaineResultat est une chaîne

// Conversion du nombre en chaine
sChaineResultat = NumériqueVersChaîne(sNombre)
     
// Premier point d'insertion
nSeparateur = Val(PartieEntière(nTailleNombre/nTailleLettre)) + 1
     
// Parcourir toutes les lettres
POUR nCompteur = 1 _À_ nTailleLettre
     // Texte à insérer
     sTexteInsere est une chaîne = sLettre[nCompteur]
          
     // Calcul la position de l'insertion
     nPosInsertion = nCompteur * nSeparateur
          
     // Insertion des lettres
     sChaineCombinee = ChaîneInsère(sChaineResultat, sTexteInsere, nPosInsertion)
          
     // Nouvelle valeur
     sChaineResultat = sChaineCombinee
FIN
     
// Renvoie la nouvelle valeur
RENVOYER sChaineResultat

Message envoyé le 17-06-2022 par Mariano Saul (AR)  
Plus simple

pgCombinaisonNombreEtLettre(sNombre est un chaine, sLettre est une chaîne = "")

sResultat = sNombre[[ to 2 ]] + sLetre[[ 1 ]] + sNombre[[ 3 ]]
sResultat += slettre[[ 2 ]] + sNombre[[ 4 ]] + slettre[[ 3 ]]
sResultat += sNombre[[ 5 ]]

RENVOYER sResultat

Message envoyé le 19-06-2022 par kabamel (Guinea)  
Merci @Mariano Saul


Pour répondre à ce message vous devez être membre

Entrée membre    Enregistrer




  
Retour © 1996-2022 forum.acam.ca