Incrementation d'une serie d'enregistrement

levotre123 Messages postés 50 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 14 mai 2020 - 2 août 2013 à 11:09
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 - 3 août 2013 à 00:01
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

Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
2 août 2013 à 16:22
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();
            }
        }
2
levotre123 Messages postés 50 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 14 mai 2020
2 août 2013 à 18:04
Très bien il marche merci Whismeril
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
3 août 2013 à 00:01
De rien
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
2 août 2013 à 11:38
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.
0
levotre123 Messages postés 50 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 14 mai 2020
2 août 2013 à 12:25
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
0
Rejoignez-nous