Erreur avec highest[j], j paramètre entier positif

Forums ProRealTime forum Français Support ProBuilder Erreur avec highest[j], j paramètre entier positif

Viewing 5 posts - 1 through 5 (of 5 total)
  • #153473

    Bonjour !

    Je calcule une durée que j’appelle dur qui est un entier positif. J’écris

    dh=highest[dur](high)
    db=lowest[dur](low)

    et jusque là tout va bien ! J’ai vérifié en faisant “Valider le programme” sans recevoir de message d’erreur.

    Mais quand je poursuis avec

    if dur<>0 and dh<=ph and db>=pb then
    pbfort=pb
    endif

    je reçois le message : Erreur, un paramètre de type entier positif est attendu avec highest.

    Je ne comprends pas pourquoi il accepte de calculer dh quand je ne l’utilise pas ailleurs, mais pas si je veux en faire usage. D’ailleurs dans un autre indicateur, j’utilise highest de cette façon, avec un paramètre entier positif, et je peux l’utiliser. Je ne vois pas de différence entre mes deux cas… J’aimerais beaucoup faire appel à vos lumières sur le codage de highest[j] et comprendre qqch qui me dépasse…

    Comprendre serait formidable, mais comment avancer ? Si je demeure coincé de cette façon, il me semble que la seule solution est une boucle de type while high<ph. C’était justement pour éviter une boucle et le temps de calcul correspondant que je voulais coder comme ci-dessus…

    Merci de votre aide !

    Patrick

    PS. La dernière fois je me suis fait tirer les oreilles pour un titre de post pas assez explicite. Si c’est encore le cas cette fois-ci, je veux bien qq indications de titre meilleur…

    #153515

    Avez-vous essayé d’entourer vos deux lignes comme suit?

    Ne sachant pas exactement comment prt compile les programmes, je ne peux pas répondre à l’autre question de savoir pourquoi le premier est validé et le second non.
    Probablement ne pas utiliser la variable rend les vérifications moins strictes sur les lignes impliquant cette variable.

    #153571

    Bonjour Daniele !

    Et merci d’avoir pris le temps de m’aider. Je suis d’accord sur la compilation, même si je n’y connais pas grand chose.

    Sur le code lui-même, j’avais défini dur auparavant par dur=1+round(expression positive), donc dur était obligatoirement un entier positif (c’était une durée en nb de barres). Je vais quand même essayer d’ajouter la condition que vous me proposez : on ne sait jamais puisque le code me confronte à qqch que je considère encore comme illogique… (ce qui veut dire que je ne comprends pas…).

    #153641

    J’ai remarqué un petit problème plusieurs fois avec ce type d’erreur en v11, je vais alerter qui de droit. Même si l’entier est positif, l’erreur apparaît.

    Je corrige avec :

     

    #153656

    Grand merci !

    Puisqu’on y est, j’ai aussi remarqué que MOD ne se comporte pas comme la fonction mathématique modulo. Pourquoi ne pas le signaler aussi… ça fait pas propre. Pour ma part, je me suis contenté de contourner le pb.

    Merci du soutien. Je vois que je n’ai pas toujours la berlue quand je vois des erreurs…

Viewing 5 posts - 1 through 5 (of 5 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login