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 :

Comment générer des nombres successifs entre deux nombres [WD24]


Sujet :

WinDev

  1. #21
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    janvier 2009
    Messages
    4 726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : janvier 2009
    Messages : 4 726
    Points : 11 359
    Points
    11 359
    Par défaut
    Pense au balises codes (le # dans la barre d'outil) et à indenter, ton message sera plus facile à lire.

    Premier point, tu peux largement simplifier ta boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    nCompteur est un entier
    nCompteur = 1
     
    BOUCLE
    	ToastAffiche(nCompteur)
    	nCompteur++
    	SI nCompteur = SAI_NombreDeParcelles + 1 ALORS
    		SORTIR
    	FIN
    FIN
    Devient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    POUR compteur = 1 A SAI_NombreDeParcelles
    	ToastAffiche(nCompteur)
    FIN
    Par contre je ne vois pas du tout l'utilité de la boucle ici, tu ne fais qu'afficher un Toast, il n'y a aucun autre traitement, aucune utilisation ultérieure de la variable compteur.
    Que va t'il se passer si dans ton application je saisie 25 parcelles ? Je vais recevoir 25 Toasts !

    Qu'est-ce que tu veux faire précisément ?

    Tatayo.

  2. #22
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2003
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : mai 2003
    Messages : 866
    Points : 1 634
    Points
    1 634
    Par défaut
    Bon très clairement ton code ne fait absolument pas ce que tu veux. Dans le code posté, il n'y a pas d'ajout des parcelles de 1 à n-1. Voici ta demande originelle
    Je voudrais générer des nombres successifs entre deux nombres et les enregistrés dans ma base de données. Je suis en train de développer une application pour gestion des coopératives d'habitat. Dans la partie SITE on est sensé mettre le nom du site, sa superficie, le prix d'achat et le nombre de parcelles disponible. Je bloque dans la partie parcelle. Je voudrais que quand on met par exemple 220 dans le champ parcelle. Qu'il l'enregistre dans la table SITE->Parcelle(je l'ai déja fait) mais en plus qu'il génère les numéros intermédiaires de 1 à 220 et cette fois ci qu'on les enregistre dans la table PARCELLES->NumerosDeParcelles. Parce que par la suite chaque numéro sera attribué à quelqu'un.

    Merci d'avance
    Avant toute chose, l'imbrication des SI...SINON SI...FIN est inutile tu peux mettre (c'est bien plus lisible comme ça). Tu peux d'ailleurs mettre cette partie dans une procédure de vérification avant l'enregistrement (ce que j'aurais fait) ça donnerait :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    PROCEDURE VerifAvantEnregistrement()
    SI SAI_NomDuSite ="" ALORS
        ToastAffiche("veuillez renseigner le site",toastCourt,cvMilieu,chCentre,RougeFoncé)
        RENVOYER faux
    FIN
     
    SI SAI_Adresse_Site ="" ALORS
        ToastAffiche("veuillez renseigner l'adresse du site",toastCourt,cvMilieu,chCentre,RougeFoncé)
            RENVOYER faux
    FIN
     
    SI SAI_Superficie ="" ALORS
        ToastAffiche("veuillez renseigner la superficie",toastCourt,cvMilieu,chCentre,RougeFoncé)
            RENVOYER faux
    FIN
     
    SI SAI_DateAcquisition ="" ALORS
        ToastAffiche("Veuillez renseigner la date d'acquisition",toastCourt,cvMilieu,chCentre,RougeFoncé)
            RENVOYER faux
    FIN
     
    SI SAI_PrixAchat ="" ALORS
        ToastAffiche("Veuillez renseigner le prix d'achat",toastCourt,cvMilieu,chCentre,RougeFoncé)
            RENVOYER faux
    FIN 
     
    SI SAI_NombreDeParcelles ="" ALORS
        ToastAffiche("Veuillez renseigner le nombre de parcelles",toastCourt,cvMilieu,chCentre,RougeFoncé)
            RENVOYER faux
    FIN
    Dans la 2ème partie de ton code, tu fais une boucle qui ressort quand tu as atteint ta valeur n-1 sans faire aucun traitement. Ta boucle ne sert donc à rien si ce n'est prendre du temps machine. Si tu veux enregistrer tes données dans ta table PARCELLES, il faut intégrer l'ajout des parcelles dans cette boucle à savoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     SI PAS VerifAvantEnregistrement() ALORS RETOUR
     
    POUR i = 1 _A_ SAI_NombreDeParcelles 
        ToastAffiche(nCompteur)
        HRAZ(PARCELLES)
        // On remplit l'enregistrement PARCELLES
        HAjoute(PARCELLES)
    FIN
    Pour la suite c'est un code classique.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  3. #23
    Membre chevronné
    Femme Profil pro
    Consultant fonctionnel
    Inscrit en
    janvier 2012
    Messages
    774
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : janvier 2012
    Messages : 774
    Points : 1 890
    Points
    1 890
    Par défaut
    Vous fatiguez pas les gars, il parti le gamin.

  4. #24
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2003
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : mai 2003
    Messages : 866
    Points : 1 634
    Points
    1 634
    Par défaut
    Il est surtout pas prêt de finir son projet...
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  5. #25
    Membre confirmé Avatar de der§en
    Homme Profil pro
    Meaux
    Inscrit en
    septembre 2005
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Meaux
    Secteur : Transports

    Informations forums :
    Inscription : septembre 2005
    Messages : 537
    Points : 602
    Points
    602
    Par défaut
    N’empêche, il a quand même compris qu’il fallait poster un bout de code, vous voyer, il ne faut pas désespérer

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/10/2019, 17h43
  2. Réponses: 6
    Dernier message: 24/12/2014, 21h45
  3. Réponses: 3
    Dernier message: 08/03/2008, 12h01
  4. Comment générer des nombres reéls aléatoires ?
    Par rzmadjid dans le forum Langage
    Réponses: 16
    Dernier message: 21/02/2008, 18h14
  5. Réponses: 2
    Dernier message: 16/05/2006, 18h02

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