Incrementation d'une serie d'enregistrement

Signaler
Messages postés
52
Date d'inscription
lundi 2 mars 2009
Statut
Membre
Dernière intervention
14 mai 2020
-
Messages postés
15406
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 janvier 2021
-
Bonjour les amis

Je suis sur un petit logiciel d'impression des chèques , et voici ma question
J'aimerai savoir comment incrément une série d'enregistrement d'une table jusqu'à atteindre un nombre y.
J'illustre :
voici l'enregistrement
05|5|405246|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION|
05|5|405250|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION|

la formule est donc X + 5
Alors tant que disons X = 405246
Y= 405250
Le résultat donne alors
05|5|405246|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION
05|5|405247|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION
05|5|405248|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION
05|5|405249|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION
05|5|405250|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION
05|5|405250|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION
05|5|405251|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION
05|5|405252|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION
05|5|405253|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION
05|5|405254|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION

3 réponses

Messages postés
15406
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 janvier 2021
502
Vite fait et pas forcément très optimisé

la classe:
    public class ExempleLevotre123
    {
        public int Numero1 { get; set; }

        public int Numero2 { get; set; }

        public int Numero3 { get; set; }

        public int Numero4 { get; set; }

        public string NomDuGars { get; set; }

        public string TypeCompte { get; set; }

        /// <summary>
        /// Retourne le texte formaté comme il faut
        /// </summary>
        /// <returns></returns>
        public string Affcihe()
        {
            return string.Format("{0}|{1}|{2}|{3}|{4}|{5}", Numero1.ToString("00"), Numero2, Numero3, Numero4.ToString("00000"), NomDuGars, TypeCompte);
        }

        /// <summary>
        /// incrémente le numéro3
        /// </summary>
        public void Suivant()
        {
            Numero3++;
        }
    }


et la méthode qui crée 5 enregistrements
        private void testLevotre123()
        {
            ExempleLevotre123 toto = new ExempleLevotre123();
            toto.Numero1 = 5;
            toto.Numero2 = 5;
            toto.Numero3 = 405246;
            toto.Numero4 = 100;
            toto.NomDuGars = "Monsieur Untel";
            toto.TypeCompte = "Compte comme ça";

            for (int i = 0; i < 5; i++)
            {
                listBox1.Items.Add(toto.Affcihe());//listBox1 est une liste box sur le formulaire
                toto.Suivant();
            }
        }
Messages postés
52
Date d'inscription
lundi 2 mars 2009
Statut
Membre
Dernière intervention
14 mai 2020

Très bien il marche merci Whismeril
Messages postés
15406
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 janvier 2021
502
De rien
Messages postés
15406
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 janvier 2021
502
Bonjour, je ne comprends pas ton exemple, si ça doit s'arreter à 405250, pourquoi ton exemple double cette valeur est continue jusqu'à 405254?

Au passage, 405246 + 5, ça fait 405251.

Si je pars du principe que tu veux juste incrementer ce nombre x fois.
J'écrirais une classe "Enregistrement", avec chacun des paramètres comme propriétés.
Puis j'écrirais un méthode qui retourne le texte formaté avec tous tes paramètres, et une autre méthode qui fait "plus 1" à la valeur à incrémenter.
Tu n'as plus qu'à mettre ça dans une boucle.
Messages postés
52
Date d'inscription
lundi 2 mars 2009
Statut
Membre
Dernière intervention
14 mai 2020

Au fait il y a deux type d'enregistrement :
05|5|405246|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION
et
05|5|405250|00100|MONSIEUR UNTEL|COMPTE EXPLOITATION

Et l'incrémentation commence par 405246 +4(Correction c'est ne pas + 5 ) jusqu'à atteindre 50
Le deuxième enregistrement n'est pas une suite logique du premier cela pourrait être aussi un tout autre chiffre peut être 405268.
Et si vous pouvez me le l'illustre par un code si cela ne vous dérange pas. Je verrai plus clair.
Cordialement