Re: probleme avec tantque "blocage total " | Sujet: Re: probleme avec tantque "blocage total " par drcharly93 sur 2/10/2006 11:09:23
Bonjour, Citation : Saisie1=0 Saisie2=0 Saisie3=0 //Initilisation du parcours OK HLitPremier(Credit,Numclient) //On parcours tant pas en dehors OK TANTQUE PAS HEnDehors(Credit) SI Credit.Numclient=table.numclient ALORS Saisie1=Saisie1+Credit.Creditt Saisie2=Saisie2+Credit.vers SINON //??????? On passe au suivant que si on est en dehors HLitSuivant(Credit,Numclient) FIN Saisie3=Saisie1-Saisie2
Votre code tourne en boucle sur le premier enregistrement sans jammais passer au suivant ce qui provoque un débordement de pile
Vous devriez plutot ecrire votre code de la facon suivante Optimisé
//Parcours tout les enregistrements sans nécessité du HLitSuivant()
POUR TOUS Credit
SI Credit.Numclient=table.numclient ALORS
Saisie1+=Credit.Creditt
Saisie2+=Credit.vers
FIN
FIN
Saisie3=Saisie1-Saisie2
var1+=var2 est plus rapide que var1 = var1 + var2
ou alors dans le meme esprit que votre code
Saisie1=0
Saisie2=0
Saisie3=0
//Initilisation du parcours OK
HLitPremier(Credit,Numclient)
//On parcours tant pas en dehors OK
TANTQUE PAS HEnDehors(Credit)
SI Credit.Numclient=table.numclient ALORS
Saisie1=Saisie1+Credit.Creditt
Saisie2=Saisie2+Credit.vers
FIN
//On passe au suivant dans tous les cas
HLitSuivant(Credit,Numclient)
FIN
Saisie3=Saisie1-Saisie2
|
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|